* [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options
@ 2013-07-08 23:10 Saul Wold
2013-07-10 16:26 ` Enrico Scholz
0 siblings, 1 reply; 6+ messages in thread
From: Saul Wold @ 2013-07-08 23:10 UTC (permalink / raw)
To: openembedded-core
The PACKAGECONFIG will ensure consistent enabling and disabling of the pam and systemd related
options for configure and the correct dependencies
v2: fixed PACKAGECONFIG line continuation grammar
added _class-target for PACKAGECONFIG to work on target only
Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
meta/recipes-core/util-linux/util-linux.inc | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index 5bae370..7d50856 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -42,18 +42,17 @@ EXTRA_OECONF = "--libdir=${base_libdir} --disable-use-tty-group \
--disable-makeinstall-chown --enable-elvtune --enable-init \
--enable-kill --enable-last --enable-mesg --enable-partx \
--enable-raw --enable-rdev --enable-reset --disable-login \
- --disable-vipw --disable-newgrp --disable-chfn-chsh --disable-su \
+ --disable-vipw --disable-newgrp --disable-chfn-chsh \
--enable-write --enable-arch --enable-mount --with-fsprobe=builtin \
--enable-libuuid --enable-libblkid --enable-fsck --without-udev \
- --disable-runuser \
usrsbin_execdir='${sbindir}' \
"
+PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} "
+PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, pam,"
# Respect the systemd feature for uuidd
-EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--enable-socket-activation', '--disable-socket-activation', d)}"
-EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-EXTRA_OECONF_append_class-native = " --disable-login --disable-su --disable-runuser"
+PACKAGECONFIG[systemd] = "--enable-socket-activation --with-systemdsystemunitdir=${systemd_unitdir}/system/, --disable-socket-activation --without-systemdsystemunitdir"
FILES_${PN}-bash-completion += "${datadir}/bash-completion"
FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
--
1.8.1.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options 2013-07-08 23:10 [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options Saul Wold @ 2013-07-10 16:26 ` Enrico Scholz 2013-07-25 12:58 ` Koen Kooi 0 siblings, 1 reply; 6+ messages in thread From: Enrico Scholz @ 2013-07-10 16:26 UTC (permalink / raw) To: openembedded-core; +Cc: Saul Wold Saul Wold <sgw-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> writes: > The PACKAGECONFIG will ensure consistent enabling and disabling of the pam and systemd related > options for configure and the correct dependencies > > v2: fixed PACKAGECONFIG line continuation grammar > added _class-target for PACKAGECONFIG to work on target only > ... > +PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ > + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " This does not work here. d.getVar('PACKAGECONFIG', True) evaluates to 'None' in the anonymous python function in base.bbclass so that non-systemd options are selected in systemd distributions and packaging fails in a sanity check. Using the less weak '?=' operator makes thing work as expected. Enrico ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options 2013-07-10 16:26 ` Enrico Scholz @ 2013-07-25 12:58 ` Koen Kooi 2013-07-25 13:02 ` Koen Kooi 0 siblings, 1 reply; 6+ messages in thread From: Koen Kooi @ 2013-07-25 12:58 UTC (permalink / raw) To: Enrico Scholz; +Cc: Saul Wold, openembedded-core Op 10 jul. 2013, om 18:26 heeft Enrico Scholz <enrico.scholz@sigma-chemnitz.de> het volgende geschreven: > Saul Wold <sgw-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> writes: > >> The PACKAGECONFIG will ensure consistent enabling and disabling of the pam and systemd related >> options for configure and the correct dependencies >> >> v2: fixed PACKAGECONFIG line continuation grammar >> added _class-target for PACKAGECONFIG to work on target only >> ... >> +PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ >> + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " > > This does not work here. d.getVar('PACKAGECONFIG', True) evaluates to 'None' > in the anonymous python function in base.bbclass so that non-systemd options > are selected in systemd distributions and packaging fails in a sanity check. > > Using the less weak '?=' operator makes thing work as expected. And a different version of this patch got merged: https://github.com/openembedded/oe-core/commit/7cde7c639c53724327d981cbc0db5e123607de1c Which has the following bug: PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ [..] PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, pam," It sets 'libpam' as PACKAGECONFIG option, but the option is actually named 'pam'. The patches posted to this list don't seem to have this bug. regards, Koen ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options 2013-07-25 12:58 ` Koen Kooi @ 2013-07-25 13:02 ` Koen Kooi 2013-07-25 14:17 ` Saul Wold 2013-07-25 15:58 ` Enrico Scholz 0 siblings, 2 replies; 6+ messages in thread From: Koen Kooi @ 2013-07-25 13:02 UTC (permalink / raw) To: Enrico Scholz; +Cc: Saul Wold, openembedded-core Op 25 jul. 2013, om 14:58 heeft Koen Kooi <koen@dominion.thruhere.net> het volgende geschreven: > > Op 10 jul. 2013, om 18:26 heeft Enrico Scholz <enrico.scholz@sigma-chemnitz.de> het volgende geschreven: > >> Saul Wold <sgw-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> writes: >> >>> The PACKAGECONFIG will ensure consistent enabling and disabling of the pam and systemd related >>> options for configure and the correct dependencies >>> >>> v2: fixed PACKAGECONFIG line continuation grammar >>> added _class-target for PACKAGECONFIG to work on target only >>> ... >>> +PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ >>> + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " >> >> This does not work here. d.getVar('PACKAGECONFIG', True) evaluates to 'None' >> in the anonymous python function in base.bbclass so that non-systemd options >> are selected in systemd distributions and packaging fails in a sanity check. >> >> Using the less weak '?=' operator makes thing work as expected. > > And a different version of this patch got merged: > > https://github.com/openembedded/oe-core/commit/7cde7c639c53724327d981cbc0db5e123607de1c > > Which has the following bug: > > PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ > [..] > PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, pam," > > It sets 'libpam' as PACKAGECONFIG option, but the option is actually named 'pam'. The patches posted to this list don't seem to have this bug. Here's what I used with dylan + backports: commit 2f318d0f9627e1872732db1ecafaed9caeb68ebf Author: Koen Kooi <koen@dominion.thruhere.net> Date: Thu Jul 25 14:58:27 2013 +0200 util-linux: fix PACKAGECONFIG options The ??= operator is too weak and it's setting a non-existent PACKAGECONFIG option ('libpam' instead of 'pam'). Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index d373cec..3d1198a 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -47,9 +47,9 @@ EXTRA_OECONF = "--libdir=${base_libdir} --disable-use-tty-group \ --enable-libuuid --enable-libblkid --enable-fsck --without-udev \ usrsbin_execdir='${sbindir}' \ " -PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ +PACKAGECONFIG_class-target ?= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " -PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, pam," +PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," # Respect the systemd feature for uuidd PACKAGECONFIG[systemd] = "--enable-socket-activation --with-systemdsystemunitdir=${systemd_unitdir}/system/, --disable-socket-activation --without-systemdsystemunitdir" ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options 2013-07-25 13:02 ` Koen Kooi @ 2013-07-25 14:17 ` Saul Wold 2013-07-25 15:58 ` Enrico Scholz 1 sibling, 0 replies; 6+ messages in thread From: Saul Wold @ 2013-07-25 14:17 UTC (permalink / raw) To: Koen Kooi; +Cc: Enrico Scholz, openembedded-core On 07/25/2013 06:02 AM, Koen Kooi wrote: > > > > Op 25 jul. 2013, om 14:58 heeft Koen Kooi <koen@dominion.thruhere.net> het volgende geschreven: > >> >> Op 10 jul. 2013, om 18:26 heeft Enrico Scholz <enrico.scholz@sigma-chemnitz.de> het volgende geschreven: >> >>> Saul Wold <sgw-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> writes: >>> >>>> The PACKAGECONFIG will ensure consistent enabling and disabling of the pam and systemd related >>>> options for configure and the correct dependencies >>>> >>>> v2: fixed PACKAGECONFIG line continuation grammar >>>> added _class-target for PACKAGECONFIG to work on target only >>>> ... >>>> +PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ >>>> + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " >>> >>> This does not work here. d.getVar('PACKAGECONFIG', True) evaluates to 'None' >>> in the anonymous python function in base.bbclass so that non-systemd options >>> are selected in systemd distributions and packaging fails in a sanity check. >>> >>> Using the less weak '?=' operator makes thing work as expected. >> >> And a different version of this patch got merged: >> >> https://github.com/openembedded/oe-core/commit/7cde7c639c53724327d981cbc0db5e123607de1c >> >> Which has the following bug: >> >> PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ >> [..] >> PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, pam," >> >> It sets 'libpam' as PACKAGECONFIG option, but the option is actually named 'pam'. The patches posted to this list don't seem to have this bug. > > Here's what I used with dylan + backports: > > commit 2f318d0f9627e1872732db1ecafaed9caeb68ebf > Author: Koen Kooi <koen@dominion.thruhere.net> > Date: Thu Jul 25 14:58:27 2013 +0200 > > util-linux: fix PACKAGECONFIG options > > The ??= operator is too weak and it's setting a non-existent PACKAGECONFIG option ('libpam' instead of 'pam'). > > Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> > Koen, Good catch, can you send this as a proper patch to the OE-Core list also. Thanks Sau! > diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc > index d373cec..3d1198a 100644 > --- a/meta/recipes-core/util-linux/util-linux.inc > +++ b/meta/recipes-core/util-linux/util-linux.inc > @@ -47,9 +47,9 @@ EXTRA_OECONF = "--libdir=${base_libdir} --disable-use-tty-group \ > --enable-libuuid --enable-libblkid --enable-fsck --without-udev \ > usrsbin_execdir='${sbindir}' \ > " > -PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ > +PACKAGECONFIG_class-target ?= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ > ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " > -PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, pam," > +PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," > > # Respect the systemd feature for uuidd > PACKAGECONFIG[systemd] = "--enable-socket-activation --with-systemdsystemunitdir=${systemd_unitdir}/system/, --disable-socket-activation --without-systemdsystemunitdir" > > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options 2013-07-25 13:02 ` Koen Kooi 2013-07-25 14:17 ` Saul Wold @ 2013-07-25 15:58 ` Enrico Scholz 1 sibling, 0 replies; 6+ messages in thread From: Enrico Scholz @ 2013-07-25 15:58 UTC (permalink / raw) To: openembedded-core Koen Kooi <koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org> writes: > The ??= operator is too weak > ... > -PACKAGECONFIG_class-target ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ > +PACKAGECONFIG_class-target ?= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ > ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " good to see that I am not the only one hitting this problem. But does there exist some explanation for this behavior? Lots of other packages have | PACKAGECONFIG ??= and it seems to work there. It might be related to the '_class-target' override but that's a nasty, unpredictable bug causing silent breakage. Something like | localconfig = "" | localconfig_class-target = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}... | | PACKAGECONFIG ??= "${localconfig}" and forbidding '??' in override-constructs might make things clearer. Enrico ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-07-25 15:59 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-07-08 23:10 [PATCH v2] util-linux: Use PACKAGECONFIG to control pam and system config options Saul Wold 2013-07-10 16:26 ` Enrico Scholz 2013-07-25 12:58 ` Koen Kooi 2013-07-25 13:02 ` Koen Kooi 2013-07-25 14:17 ` Saul Wold 2013-07-25 15:58 ` Enrico Scholz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox