Patchwork [master,dylan] shadow: Fix build when DISTRO_FEATURES contains pam, libc-crypt

login
register
mail settings
Submitter Richard Tollerton
Date July 31, 2013, 6:15 p.m.
Message ID <1375294539-1643-1-git-send-email-rich.tollerton@ni.com>
Download mbox | patch
Permalink /patch/54883/
State New
Headers show

Comments

Richard Tollerton - July 31, 2013, 6:15 p.m.
shadow falsely assumes that if --enable-libpam is set, it doesn't need to link
against libcrypt; this breaks chsh. (This same fix exists in Arch.)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
---
 meta/recipes-extended/shadow/shadow_4.1.4.3.bb | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Saul Wold - July 31, 2013, 6:23 p.m.
On 07/31/2013 11:15 AM, Richard Tollerton wrote:
> shadow falsely assumes that if --enable-libpam is set, it doesn't need to link
> against libcrypt; this breaks chsh. (This same fix exists in Arch.)
>
> Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
> ---
>   meta/recipes-extended/shadow/shadow_4.1.4.3.bb | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
> index caf24c0..c9d64ad 100644
> --- a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
> +++ b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
> @@ -11,7 +11,7 @@ DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
>              shadow-native"
>   RDEPENDS_${PN} = "shadow-securetty ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)} \
>                     base-passwd"
> -PR = "r13"
> +PR = "r14"
>

Thanks for the patch

PR Bumps are no longer needed, please resend a v2

Thanks
	Sau!


>   SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \
>              file://login_defs_pam.sed \
> @@ -37,6 +37,10 @@ EXTRA_OECONF += "--without-audit \
>                    --without-selinux"
>   EXTRA_OECONF_libc-uclibc += "--with-nscd=no"
>
> +# Build falsely assumes that if --enable-libpam is set, we don't need to link against
> +# libcrypt. This breaks chsh.
> +BUILD_LDFLAGS += "${@base_contains('DISTRO_FEATURES', 'pam', base_contains('DISTRO_FEATURES', 'libc-crypt',  '-lcrypt', '', d), '', d)}"
> +
>   PAM_PLUGINS = "libpam-runtime \
>                  pam-plugin-faildelay \
>                  pam-plugin-securetty \
>

Patch

diff --git a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
index caf24c0..c9d64ad 100644
--- a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
+++ b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
@@ -11,7 +11,7 @@  DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
            shadow-native"
 RDEPENDS_${PN} = "shadow-securetty ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)} \
                   base-passwd"
-PR = "r13"
+PR = "r14"
 
 SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \
            file://login_defs_pam.sed \
@@ -37,6 +37,10 @@  EXTRA_OECONF += "--without-audit \
                  --without-selinux"
 EXTRA_OECONF_libc-uclibc += "--with-nscd=no"
 
+# Build falsely assumes that if --enable-libpam is set, we don't need to link against
+# libcrypt. This breaks chsh.
+BUILD_LDFLAGS += "${@base_contains('DISTRO_FEATURES', 'pam', base_contains('DISTRO_FEATURES', 'libc-crypt',  '-lcrypt', '', d), '', d)}"
+
 PAM_PLUGINS = "libpam-runtime \
                pam-plugin-faildelay \
                pam-plugin-securetty \