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

(From OE-Core rev: c9e7a276859d38aaa03845ee09428f62760ad147)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Martin Jansa
2018-03-01 10:11:38 +00:00
committed by Richard Purdie
parent 52de574e0d
commit a51236a244
3 changed files with 8 additions and 5 deletions

View File

@@ -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}"

View File

@@ -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
#

View File

@@ -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"