On Wed, 2024-01-10 at 13:09 +0100, Alexander Kanavin wrote:
> shadow 4.14.x adds a number of libraries it dynamically links with
> (md, bsd, attr). This causes troubles in setscene tasks where
> shadow executables are used (such as useradd), as pulling in
> the needed dynamic libraries needs unpleasant special-casing.
> 
> Signed-off-by: Alexander Kanavin <[email protected]>
> ---
>  meta/conf/distro/include/no-static-libs.inc | 5 +++++
>  meta/recipes-extended/shadow/shadow.inc     | 9 +++++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/meta/conf/distro/include/no-static-libs.inc 
> b/meta/conf/distro/include/no-static-libs.inc
> index 75359928a14..8898d53d756 100644
> --- a/meta/conf/distro/include/no-static-libs.inc
> +++ b/meta/conf/distro/include/no-static-libs.inc
> @@ -21,6 +21,11 @@ DISABLE_STATIC:pn-libusb1-native = ""
>  # needed by rust
>  DISABLE_STATIC:pn-musl = ""
>  
> +# needed by shadow-native to build static executables, particularly useradd
> +DISABLE_STATIC:pn-attr-native = ""
> +DISABLE_STATIC:pn-libbsd-native = ""
> +DISABLE_STATIC:pn-libmd-native = ""
> +
>  EXTRA_OECONF:append = "${DISABLE_STATIC}"
>  
>  EXTRA_OECMAKE:append:pn-libical = " -DSHARED_ONLY=True"
> diff --git a/meta/recipes-extended/shadow/shadow.inc 
> b/meta/recipes-extended/shadow/shadow.inc
> index c024746d4ff..67346aa5cb1 100644
> --- a/meta/recipes-extended/shadow/shadow.inc
> +++ b/meta/recipes-extended/shadow/shadow.inc
> @@ -47,6 +47,15 @@ EXTRA_OECONF += "--without-libcrack \
>  
>  CFLAGS:append:libc-musl = " -DLIBBSD_OVERLAY"
>  
> +# Force static linking of utilities so we can use from the sysroot/sstate 
> for useradd
> +# without worrying about the dependency libraries being available
> +do_compile:prepend:class-native () {
> +     sed -i -e 's#\(LIBS.*\)-lbsd#\1 ${STAGING_LIBDIR}/libbsd.a 
> ${STAGING_LIBDIR}/libmd.a#g' \
> +            -e 's#\(LIBBSD.*\)-lbsd#\1 ${STAGING_LIBDIR}/libbsd.a 
> ${STAGING_LIBDIR}/libmd.a#g' \
> +            -e 's#\(LIBATTR.*\)-lattr#\1 ${STAGING_LIBDIR}/libattr.a#g' \
> +               ${B}/*/Makefile
> +}
> +
>  NSCDOPT = ""
>  NSCDOPT:class-native = "--without-nscd"
>  NSCDOPT:class-nativesdk = "--without-nscd"

Something isn't quite right:

https://autobuilder.yoctoproject.org/typhoon/#/builders/23/builds/8749
https://autobuilder.yoctoproject.org/typhoon/#/builders/120/builds/3837
https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4219
https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/6301/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/154/builds/1155/steps/13/logs/stdio

:(

I'm going to stop that build.

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#193517): 
https://lists.openembedded.org/g/openembedded-core/message/193517
Mute This Topic: https://lists.openembedded.org/mt/103639214/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to