]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
nativesdk-glibc: Split glibc and libcrypt to use libxcrypt instead
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 6 Apr 2018 12:53:53 +0000 (14:53 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 7 Apr 2018 21:34:41 +0000 (22:34 +0100)
commitc1573cb7faeb296fe7077a60d02443d5ed5bded0
treed0fdcdc7f92d91381ab23d77f16c73729004f94d
parentf65ebfeda0bfbac78e4a2a6609ba654ca38a8b0e
nativesdk-glibc: Split glibc and libcrypt to use libxcrypt instead

Fedora28[1] has decided to go ahead and use libxcrypt to replace libcrypt from glibc
despite the change not having merged into glibc upstream yet. This breaks the use of
uninative in OE on fedora28 since binaries there are now using new symbols only found
in libxcrypt. libxcrypt is meant to be backwards compatible with libcrypt but not the
reverse.

Since this will impact OE in the next release cycle, this changes nativesdk only
to use this new model and adds libxcrypt to work in that case. This allows us to
build a uninative which is compatible with fedora28 and previous other OSes.

In order to work, recipes will now need to depend on virtual/crypt where they use
libcrypt since its now a separate library and we can't depend on it from glibc to
preseve backwards compatibility since glibc needs to build first. For now, only the
problematic nativesdk recipes have been fixed up. For target use, the default
provider remains glibc for now. Assuming this change is merged into upstream glibc,
we will need to roll this change out for the target but we will do this in the next
release cycle when we can better deal with the resulting bugs.

[1] https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt

Original patch from Charles-Antoine Couret <charles-antoine.couret@essensium.com>,
tweaked by RP to add virtual provides, SkipRecipe for libxcrypt and other minor
tweaks.

Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/conf/bitbake.conf
meta/recipes-core/glibc/glibc.inc
meta/recipes-core/glibc/glibc/0031-nativesdk-deprecate-libcrypt.patch [new file with mode: 0644]
meta/recipes-core/glibc/glibc_2.27.bb
meta/recipes-core/glibc/site_config/headers
meta/recipes-core/libxcrypt/libxcrypt_4.0.0.bb [new file with mode: 0644]
meta/recipes-core/meta/uninative-tarball.bb
meta/recipes-core/musl/musl_git.bb
meta/recipes-core/util-linux/util-linux.inc
meta/recipes-devtools/perl/perl_5.24.1.bb
meta/recipes-extended/shadow/shadow.inc