From ea96025188c1135c8e2997eb5e6e5427090775e3 Mon Sep 17 00:00:00 2001 From: Martin Hundeb?ll Date: Mon, 27 Nov 2023 13:45:57 +0100 Subject: libpam: split /etc/environment into pam-plugin-env package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since systemd-v255, pam-plugin-umask is pulled in by by the logind package config for systemd. This causes /etc/environment to be installed as part of libpam-runtime. In our case, this broke do_rootfs for our image, because /etc/environment is already provided by another (custom) recipe. Fix this by making the /etc/environment file part of the pam-plugin-env package, which isn't automatically pulled in by systemd-logind. It also happens to be the where it should be, as the file is installed as part of the pam_env plugin. (From OE-Core rev: 778fcc8d2e6eb1bd2c88a6abb14dbd6666720205) Signed-off-by: Martin Hundebøll Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/recipes-extended/pam/libpam_1.5.3.bb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meta/recipes-extended/pam/libpam_1.5.3.bb b/meta/recipes-extended/pam/libpam_1.5.3.bb index 7af3ea99d1..809d927f55 100644 --- a/meta/recipes-extended/pam/libpam_1.5.3.bb +++ b/meta/recipes-extended/pam/libpam_1.5.3.bb @@ -57,6 +57,11 @@ FILES:${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libd FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${systemd_system_unitdir}" FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests" +# libpam installs /etc/environment for use with the pam_env plugin. Make sure it is +# packaged with the pam-plugin-env package to avoid breaking installations which +# install that file via other packages +FILES:pam-plugin-env = "${sysconfdir}/environment" + PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*" def get_multilib_bit(d): @@ -113,7 +118,7 @@ python populate_packages:prepend () { pam_pkgname = mlprefix + 'pam-plugin%s' do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname, - 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='') + 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='', prepend=True) do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') } -- cgit v1.2.3-54-g00ecf