diff options
| author | Alexander Kanavin <alex@linutronix.de> | 2024-12-04 07:49:14 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-12-05 17:07:10 +0000 |
| commit | 377066dabd5eb8545645195ee231eb1017517fe4 (patch) | |
| tree | 1a08bcbb7c487b09229e3281464e23279bd78dba /meta/recipes-extended | |
| parent | 240cd29b3ced645ce0f3ea17de840a42a517d33d (diff) | |
| download | poky-377066dabd5eb8545645195ee231eb1017517fe4.tar.gz | |
libpam: update 1.6.1 -> 1.7.0
Change from autotools to meson.
ptest support is removed for now, as pam-ptest isn't executed
on the autobuilder.
Adjust packaging as pam now installs everything into /usr rather than /.
(From OE-Core rev: 00eb730291f9630eb70480d37ed48fbadecc547a)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended')
| -rw-r--r-- | meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch | 40 | ||||
| -rw-r--r-- | meta/recipes-extended/pam/libpam/libpam-xtests.patch | 45 | ||||
| -rw-r--r-- | meta/recipes-extended/pam/libpam_1.7.0.bb (renamed from meta/recipes-extended/pam/libpam_1.6.1.bb) | 51 |
3 files changed, 52 insertions, 84 deletions
diff --git a/meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch b/meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch new file mode 100644 index 0000000000..ef087ffc06 --- /dev/null +++ b/meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | From 9b5182d4781bcd6fb37a4030faf325965fde3e93 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Thu, 28 Nov 2024 20:32:17 +0100 | ||
| 4 | Subject: [PATCH] meson: correct check for existence of two preprocessor | ||
| 5 | defines | ||
| 6 | |||
| 7 | sizeof is meant for *types*, and in case of cross compiling | ||
| 8 | the test program produced by it has incorrect syntax | ||
| 9 | __NR_keyctl something; | ||
| 10 | and will always fail to compile. | ||
| 11 | |||
| 12 | * meson.build: Use cc.get_define() instead of cc.sizeof() to check for | ||
| 13 | preprocessor symbols. | ||
| 14 | |||
| 15 | Co-authored-by: Dmitry V. Levin <ldv@strace.io> | ||
| 16 | Upstream-Status: Backport [https://github.com/linux-pam/linux-pam/pull/861] | ||
| 17 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 18 | --- | ||
| 19 | meson.build | 4 ++-- | ||
| 20 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/meson.build b/meson.build | ||
| 23 | index f6a7dafe9..307fed0aa 100644 | ||
| 24 | --- a/meson.build | ||
| 25 | +++ b/meson.build | ||
| 26 | @@ -198,12 +198,12 @@ foreach ident: check_functions | ||
| 27 | endif | ||
| 28 | endforeach | ||
| 29 | |||
| 30 | -enable_pam_keyinit = cc.sizeof('__NR_keyctl', prefix: '#include <sys/syscall.h>') > 0 | ||
| 31 | +enable_pam_keyinit = cc.get_define('__NR_keyctl', prefix: '#include <sys/syscall.h>') != '' | ||
| 32 | |||
| 33 | if get_option('mailspool') != '' | ||
| 34 | cdata.set_quoted('PAM_PATH_MAILDIR', get_option('mailspool')) | ||
| 35 | else | ||
| 36 | - have = cc.sizeof('_PATH_MAILDIR', prefix: '#include <paths.h>') > 0 | ||
| 37 | + have = cc.get_define('_PATH_MAILDIR', prefix: '#include <paths.h>') != '' | ||
| 38 | cdata.set('PAM_PATH_MAILDIR', have ? '_PATH_MAILDIR' : '"/var/spool/mail"') | ||
| 39 | endif | ||
| 40 | |||
diff --git a/meta/recipes-extended/pam/libpam/libpam-xtests.patch b/meta/recipes-extended/pam/libpam/libpam-xtests.patch deleted file mode 100644 index f2dafa72a5..0000000000 --- a/meta/recipes-extended/pam/libpam/libpam-xtests.patch +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | From 060726f7e60c8ecb5bf50fd776910b290d9a0a69 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Kang Kai <kai.kang@windriver.com> | ||
| 3 | Date: Tue, 19 Jul 2011 17:08:31 +0800 | ||
| 4 | Subject: [PATCH] This patch is used to create a new sub package libpam-xtests | ||
| 5 | to do more checks. | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | |||
| 9 | Signed-off-by: Kang Kai <kai.kang@windriver.com> | ||
| 10 | --- | ||
| 11 | xtests/Makefile.am | 17 ++++++++++++++++- | ||
| 12 | 1 file changed, 16 insertions(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/xtests/Makefile.am b/xtests/Makefile.am | ||
| 15 | index acf9746..9826c9f 100644 | ||
| 16 | --- a/xtests/Makefile.am | ||
| 17 | +++ b/xtests/Makefile.am | ||
| 18 | @@ -8,7 +8,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \ | ||
| 19 | LDADD = $(top_builddir)/libpam/libpam.la \ | ||
| 20 | $(top_builddir)/libpam_misc/libpam_misc.la | ||
| 21 | |||
| 22 | -CLEANFILES = *~ $(XTESTS) | ||
| 23 | +CLEANFILES = *~ | ||
| 24 | |||
| 25 | EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \ | ||
| 26 | tst-pam_dispatch3.pamd tst-pam_dispatch4.pamd \ | ||
| 27 | @@ -55,3 +55,18 @@ EXTRA_PROGRAMS = $(XTESTS) | ||
| 28 | |||
| 29 | xtests: $(XTESTS) run-xtests.sh | ||
| 30 | "$(srcdir)"/run-xtests.sh "$(srcdir)" ${XTESTS} ${NOSRCTESTS} | ||
| 31 | + | ||
| 32 | +all: $(XTESTS) | ||
| 33 | + | ||
| 34 | +install: install_xtests | ||
| 35 | + | ||
| 36 | +install_xtests: | ||
| 37 | + $(INSTALL) -d $(DESTDIR)$(pkgdatadir)/xtests | ||
| 38 | + for file in $(EXTRA_DIST) ; do \ | ||
| 39 | + $(INSTALL) $(srcdir)/$$file $(DESTDIR)$(pkgdatadir)/xtests ; \ | ||
| 40 | + done | ||
| 41 | + for file in $(XTESTS); do \ | ||
| 42 | + $(INSTALL) .libs/$$file $(DESTDIR)$(pkgdatadir)/xtests ; \ | ||
| 43 | + done | ||
| 44 | + | ||
| 45 | +.PHONY: all install_xtests | ||
diff --git a/meta/recipes-extended/pam/libpam_1.6.1.bb b/meta/recipes-extended/pam/libpam_1.7.0.bb index a48f78187b..ec1c868d21 100644 --- a/meta/recipes-extended/pam/libpam_1.6.1.bb +++ b/meta/recipes-extended/pam/libpam_1.7.0.bb | |||
| @@ -20,40 +20,32 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \ | |||
| 20 | file://pam.d/common-session \ | 20 | file://pam.d/common-session \ |
| 21 | file://pam.d/common-session-noninteractive \ | 21 | file://pam.d/common-session-noninteractive \ |
| 22 | file://pam.d/other \ | 22 | file://pam.d/other \ |
| 23 | file://libpam-xtests.patch \ | ||
| 24 | file://run-ptest \ | 23 | file://run-ptest \ |
| 25 | file://pam-volatiles.conf \ | 24 | file://pam-volatiles.conf \ |
| 25 | file://0001-meson.build-correct-check-for-existence-of-two-prepr.patch \ | ||
| 26 | " | 26 | " |
| 27 | 27 | ||
| 28 | SRC_URI[sha256sum] = "f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e" | 28 | SRC_URI[sha256sum] = "57dcd7a6b966ecd5bbd95e1d11173734691e16b68692fa59661cdae9b13b1697" |
| 29 | 29 | ||
| 30 | DEPENDS = "bison-native flex-native libxml2-native virtual/crypt" | 30 | DEPENDS = "bison-native flex-native libxml2-native virtual/crypt" |
| 31 | 31 | ||
| 32 | EXTRA_OECONF = "--includedir=${includedir}/security \ | 32 | EXTRA_OEMESON = "-Ddocs=disabled" |
| 33 | --libdir=${base_libdir} \ | ||
| 34 | --with-systemdunitdir=${systemd_system_unitdir} \ | ||
| 35 | --disable-nis \ | ||
| 36 | --disable-regenerate-docu \ | ||
| 37 | --disable-doc \ | ||
| 38 | --disable-prelude" | ||
| 39 | |||
| 40 | CFLAGS += "-fPIC " | ||
| 41 | 33 | ||
| 42 | S = "${WORKDIR}/Linux-PAM-${PV}" | 34 | S = "${WORKDIR}/Linux-PAM-${PV}" |
| 43 | 35 | ||
| 44 | inherit autotools gettext pkgconfig systemd ptest github-releases | 36 | inherit meson gettext pkgconfig systemd ptest github-releases |
| 45 | 37 | ||
| 46 | PACKAGECONFIG ??= "" | 38 | PACKAGECONFIG ??= "" |
| 47 | PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit," | 39 | PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit," |
| 48 | PACKAGECONFIG[userdb] = "--enable-db=db,--enable-db=no,db," | 40 | PACKAGECONFIG[userdb] = "-Dpam_userdb=enabled -Ddb=gdbm,-Dpam_userdb=disabled,gdbm," |
| 49 | 41 | ||
| 50 | PACKAGES += "${PN}-runtime ${PN}-xtests" | 42 | PACKAGES += "${PN}-runtime ${PN}-xtests" |
| 51 | FILES:${PN} = " \ | 43 | FILES:${PN} = " \ |
| 52 | ${base_libdir}/lib*${SOLIBS} \ | 44 | ${libdir}/lib*${SOLIBS} \ |
| 53 | ${nonarch_libdir}/tmpfiles.d/*.conf \ | 45 | ${nonarch_libdir}/tmpfiles.d/*.conf \ |
| 54 | " | 46 | " |
| 55 | FILES:${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libdir}/lib*${SOLIBSDEV}" | 47 | FILES:${PN}-dev += "${libdir}/security/*.la ${libdir}/*.la ${libdir}/lib*${SOLIBSDEV}" |
| 56 | FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}" | 48 | FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${nonarch_libdir}/systemd/system" |
| 57 | FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests" | 49 | FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests" |
| 58 | 50 | ||
| 59 | # libpam installs /etc/environment for use with the pam_env plugin. Make sure it is | 51 | # libpam installs /etc/environment for use with the pam_env plugin. Make sure it is |
| @@ -111,9 +103,9 @@ python populate_packages:prepend () { | |||
| 111 | 103 | ||
| 112 | mlprefix = d.getVar('MLPREFIX') or '' | 104 | mlprefix = d.getVar('MLPREFIX') or '' |
| 113 | dvar = d.expand('${WORKDIR}/package') | 105 | dvar = d.expand('${WORKDIR}/package') |
| 114 | pam_libdir = d.expand('${base_libdir}/security') | 106 | pam_libdir = d.expand('${libdir}/security') |
| 115 | pam_sbindir = d.expand('${sbindir}') | 107 | pam_sbindir = d.expand('${sbindir}') |
| 116 | pam_filterdir = d.expand('${base_libdir}/security/pam_filter') | 108 | pam_filterdir = d.expand('${libdir}/security/pam_filter') |
| 117 | pam_pkgname = mlprefix + 'pam-plugin%s' | 109 | pam_pkgname = mlprefix + 'pam-plugin%s' |
| 118 | 110 | ||
| 119 | do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname, | 111 | do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname, |
| @@ -121,16 +113,7 @@ python populate_packages:prepend () { | |||
| 121 | do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') | 113 | do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') |
| 122 | } | 114 | } |
| 123 | 115 | ||
| 124 | do_compile_ptest() { | 116 | do_install:append() { |
| 125 | cd tests | ||
| 126 | sed -i -e 's/$(MAKE) $(AM_MAKEFLAGS) check-TESTS//' Makefile | ||
| 127 | oe_runmake check-am | ||
| 128 | cd - | ||
| 129 | } | ||
| 130 | |||
| 131 | do_install() { | ||
| 132 | autotools_do_install | ||
| 133 | |||
| 134 | # don't install /var/run when populating rootfs. Do it through volatile | 117 | # don't install /var/run when populating rootfs. Do it through volatile |
| 135 | rm -rf ${D}${localstatedir} | 118 | rm -rf ${D}${localstatedir} |
| 136 | 119 | ||
| @@ -155,16 +138,6 @@ do_install() { | |||
| 155 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 138 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
| 156 | echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session | 139 | echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session |
| 157 | fi | 140 | fi |
| 158 | if [ "${base_libdir}" != "${libdir}" ]; then | ||
| 159 | install -d ${D}/${libdir}/ | ||
| 160 | mv ${D}/${base_libdir}/pkgconfig ${D}/${libdir}/ | ||
| 161 | fi | ||
| 162 | } | ||
| 163 | |||
| 164 | do_install_ptest() { | ||
| 165 | mkdir -p ${D}${PTEST_PATH}/tests | ||
| 166 | install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests | ||
| 167 | install -m 0644 ${S}/tests/confdir ${D}${PTEST_PATH}/tests | ||
| 168 | } | 141 | } |
| 169 | 142 | ||
| 170 | pkg_postinst:${PN}() { | 143 | pkg_postinst:${PN}() { |
