* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.