Skip to contentSkip to conversation

libpam: be more strict about user's sanity

PATCH Superseded Martin Jansa 2 participants 4 messages Feb 1, 2018 – Mar 1, 2018

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 libpam: be more strict about user's sanity

* replace do_pam_sanity function with distro_features_check inherit
* fixes:
WARNING: libpam-1.3.0-r5 do_pam_sanity: Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM won't work correctly in world builds and prevents user to build libpam at all without pam
in DISTRO_FEATURES, I don't see any users of this which wouldn't respect
pam in DISTRO_FEATURES
* only libuser is depending on libpam without respecting DISTRO_FEATURES
* there are few recipes in meta-oe layers depending on libpam without
respecting DISTRO_FEATURES, I've sent patch for them:
samba, openwsman, pam-ssh-agent-auth, sblim-sfcb, passwdqc, python-pam, smbnetfs
and omxplayer in meta-raspberrypi, I've sent PR for that one:
https://github.com/agherzan/meta-raspberrypi/pull/192

---
 meta/recipes-extended/libuser/libuser_0.62.bb | 3 +++
 meta/recipes-extended/pam/libpam_1.3.0.bb     | 7 ++-----
 2 files changed, 5 insertions(+), 5 deletions(-)
meta/recipes-extended/libuser/libuser_0.62.bb +3 -0
index 1765346646..7ec54eb16e 100644
@@ -22,6 +22,9 @@ SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3c
 
 DEPENDS = "popt libpam glib-2.0 python3"
 
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
 inherit autotools gettext python3native python3-dir pkgconfig gtk-doc
 
 EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
meta/recipes-extended/pam/libpam_1.3.0.bb +2 -5
index 8f7753d001..92ab72a42f 100644
@@ -151,11 +151,8 @@ do_install() {
 	fi
 }
 
-python do_pam_sanity () {
-    if not bb.utils.contains('DISTRO_FEATURES', 'pam', True, False, d):
-        bb.warn("Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM won't work correctly")
-}
-addtask pam_sanity before do_configure
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
 
 BBCLASSEXTEND = "nativesdk native"
 
Signature · 1 line
2.15.1
#1 lore raw

This breaks world builds on the autobuilder with poky-lsb:

https://autobuilder.yocto.io/builders/nightly-world/builds/736/steps/BuildImages/logs/stdio

Ross

Quoted 67 lines · Martin Jansa

* replace do_pam_sanity function with distro_features_check inherit
* fixes:
WARNING: libpam-1.3.0-r5 do_pam_sanity: Building libpam but 'pam' isn't
in DISTRO_FEATURES, PAM won't work correctly
in world builds and prevents user to build libpam at all without pam in DISTRO_FEATURES, I don't see any users of this which wouldn't respect pam in DISTRO_FEATURES
* only libuser is depending on libpam without respecting DISTRO_FEATURES
* there are few recipes in meta-oe layers depending on libpam without respecting DISTRO_FEATURES, I've sent patch for them:
samba, openwsman, pam-ssh-agent-auth, sblim-sfcb, passwdqc, python-pam,
smbnetfs
and omxplayer in meta-raspberrypi, I've sent PR for that one:
https://github.com/agherzan/meta-raspberrypi/pull/192

---
 meta/recipes-extended/libuser/libuser_0.62.bb | 3 +++
 meta/recipes-extended/pam/libpam_1.3.0.bb     | 7 ++-----
 2 files changed, 5 insertions(+), 5 deletions(-)
meta/recipes-extended/libuser/libuser_0.62.bb +0 -0
index 1765346646..7ec54eb16e 100644
@@ -22,6 +22,9 @@ SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33ee

ea961109dd60d4b40b6a9df4fa3c

DEPENDS = "popt libpam glib-2.0 python3"

meta/recipes-extended/libuser/libuser_0.62.bb +3 -0
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
 inherit autotools gettext python3native python3-dir pkgconfig gtk-doc
 
 EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_

INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"

meta/recipes-extended/pam/libpam_1.3.0.bb +2 -6
index 8f7753d001..92ab72a42f 100644
@@ -151,11 +151,8 @@ do_install() {
        fi
 }
 
-python do_pam_sanity () {
-    if not bb.utils.contains('DISTRO_FEATURES', 'pam', True, False, d):
-        bb.warn("Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM
 won't work correctly")
-}
-addtask pam_sanity before do_configure
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
 
 BBCLASSEXTEND = "nativesdk native"
 
--

2.15.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#2 lore raw

I'm sorry, I haven't seen this one, because I have packagegroup-core-lsb blacklisted for long time.

What is preferred fix?
1) add the same restriction to packagegroup-core-lsb and core-image-lsb and someone will fix poky-lsb build (it doesn't seem like separate distro), to include pam in DISTRO_FEATURES.
2) include libpam and pam-plugin-wheel in packagegroup-core-lbs (and RDEPENDS_packagegroup-core-lsb-runtime-add) only when pam is in DISTRO_FEATURES?

The warning says that libpam is broken without pam in DISTRO_FEATURES, I'm not sure how much LSB tests exercise it, but if the warning is correct, then it was broken in poky-lsb builds runtime already.

Regards,

Quoted 78 lines · Ross

This breaks world builds on the autobuilder with poky-lsb:

https://autobuilder.yocto.io/builders/nightly-world/builds/
736/steps/BuildImages/logs/stdio

Ross

Quoted 67 lines · Martin Jansa

* replace do_pam_sanity function with distro_features_check inherit
* fixes:
WARNING: libpam-1.3.0-r5 do_pam_sanity: Building libpam but 'pam' isn't
in DISTRO_FEATURES, PAM won't work correctly
in world builds and prevents user to build libpam at all without pam in DISTRO_FEATURES, I don't see any users of this which wouldn't respect pam in DISTRO_FEATURES
* only libuser is depending on libpam without respecting DISTRO_FEATURES
* there are few recipes in meta-oe layers depending on libpam without respecting DISTRO_FEATURES, I've sent patch for them:
samba, openwsman, pam-ssh-agent-auth, sblim-sfcb, passwdqc, python-pam,
smbnetfs
and omxplayer in meta-raspberrypi, I've sent PR for that one:
https://github.com/agherzan/meta-raspberrypi/pull/192

---
 meta/recipes-extended/libuser/libuser_0.62.bb | 3 +++
 meta/recipes-extended/pam/libpam_1.3.0.bb     | 7 ++-----
 2 files changed, 5 insertions(+), 5 deletions(-)
meta/recipes-extended/libuser/libuser_0.62.bb +0 -0
index 1765346646..7ec54eb16e 100644
@@ -22,6 +22,9 @@ SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33e

eea961109dd60d4b40b6a9df4fa3c

DEPENDS = "popt libpam glib-2.0 python3"

meta/recipes-extended/libuser/libuser_0.62.bb +3 -0
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
 inherit autotools gettext python3native python3-dir pkgconfig gtk-doc
 
 EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_I

NCDIR}/${PYTHON_DIR}${PYTHON_ABI}"

meta/recipes-extended/pam/libpam_1.3.0.bb +2 -6
index 8f7753d001..92ab72a42f 100644
@@ -151,11 +151,8 @@ do_install() {
        fi
 }
 
-python do_pam_sanity () {
-    if not bb.utils.contains('DISTRO_FEATURES', 'pam', True, False, d):
-        bb.warn("Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM
 won't work correctly")
-}
-addtask pam_sanity before do_configure
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
 
 BBCLASSEXTEND = "nativesdk native"
 
--

2.15.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#3 lore raw

PATCH v3 1/1 libpam: be more strict about user's sanity

* replace do_pam_sanity function with distro_features_check inherit
* fixes:
WARNING: libpam-1.3.0-r5 do_pam_sanity: Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM won't work correctly in world builds and prevents user to build libpam at all without pam
in DISTRO_FEATURES, I don't see any users of this which wouldn't respect
pam in DISTRO_FEATURES
* only libuser is depending on libpam without respecting DISTRO_FEATURES
* there are few recipes in meta-oe layers depending on libpam without
respecting DISTRO_FEATURES, I've sent patch for them:
samba, openwsman, pam-ssh-agent-auth, sblim-sfcb, passwdqc, python-pam, smbnetfs
and omxplayer in meta-raspberrypi, I've sent PR for that one:
https://github.com/agherzan/meta-raspberrypi/pull/192
* poky-lsb will need to add pam to DISTRO_FEATURES in order to build
packagegroup-core-lsb

---
 meta/recipes-extended/libuser/libuser_0.62.bb                | 3 +++
 meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb | 3 +++
 meta/recipes-extended/pam/libpam_1.3.0.bb                    | 7 ++-----
 3 files changed, 8 insertions(+), 5 deletions(-)
meta/recipes-extended/libuser/libuser_0.62.bb +3 -0
index 1765346646..7ec54eb16e 100644
@@ -22,6 +22,9 @@ SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3c
 
 DEPENDS = "popt libpam glib-2.0 python3"
 
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
 inherit autotools gettext python3native python3-dir pkgconfig gtk-doc
 
 EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb +3 -0
index 8959e3c8f4..53d100ce74 100644
@@ -14,6 +14,9 @@ REQUIRED_DISTRO_FEATURES = "x11"
 # libglu needs virtual/libgl, which requires opengl in DISTRO_FEATURES
 REQUIRED_DISTRO_FEATURES += "opengl"
 
+# libpam, pam-plugin-wheel requires pam in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES += "pam"
+
 #
 # We will skip parsing this packagegeoup for non-glibc systems
 #
meta/recipes-extended/pam/libpam_1.3.0.bb +2 -5
index 8f7753d001..92ab72a42f 100644
@@ -151,11 +151,8 @@ do_install() {
 	fi
 }
 
-python do_pam_sanity () {
-    if not bb.utils.contains('DISTRO_FEATURES', 'pam', True, False, d):
-        bb.warn("Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM won't work correctly")
-}
-addtask pam_sanity before do_configure
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
 
 BBCLASSEXTEND = "nativesdk native"
 
Signature · 1 line
2.15.1