diff --git a/conf/distro/include/tcmode-external.inc b/conf/distro/include/tcmode-external.inc index 069ea45..007e778 100644 --- a/conf/distro/include/tcmode-external.inc +++ b/conf/distro/include/tcmode-external.inc @@ -18,7 +18,7 @@ PREFERRED_PROVIDER_glibc ?= "glibc-external" PREFERRED_PROVIDER_virtual/libc ?= "glibc-external" PREFERRED_PROVIDER_virtual/libintl ?= "glibc-external" PREFERRED_PROVIDER_virtual/libiconv ?= "glibc-external" -PREFERRED_PROVIDER_virtual/crypt ?= "glibc-external" +PREFERRED_PROVIDER_virtual/crypt ?= "libxcrypt-external" PREFERRED_PROVIDER_gdb-cross-${TARGET_ARCH} ?= "gdb-external-cross-${TARGET_ARCH}" PREFERRED_PROVIDER_oprofile ??= "oprofile" # Work around bug where the implicitly created mlprefix preference isn't being diff --git a/recipes-external/glibc/glibc-external.bb b/recipes-external/glibc/glibc-external.bb index 8c8c81b..15eec70 100644 --- a/recipes-external/glibc/glibc-external.bb +++ b/recipes-external/glibc/glibc-external.bb @@ -17,8 +17,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}binutils" PROVIDES += "glibc \ virtual/libc \ virtual/libintl \ - virtual/libiconv \ - virtual/crypt" + virtual/libiconv" def get_external_libc_license(d): errnosearch = os.path.join(d.getVar('includedir', True), 'errno.h') @@ -44,8 +43,6 @@ LICENSE := "${@get_external_libc_license(d)}" require recipes-external/glibc/glibc-sysroot-setup.inc require recipes-external/glibc/glibc-package-adjusted.inc -libc_baselibs += "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so" - FILES_MIRRORS .= "\ ${base_sbindir}/|/usr/bin/ \n\ ${base_sbindir}/|/usr/${baselib}/bin/ \n\ diff --git a/recipes-external/libxcrypt/libxcrypt-external.bb b/recipes-external/libxcrypt/libxcrypt-external.bb new file mode 100644 index 0000000..51d2732 --- /dev/null +++ b/recipes-external/libxcrypt/libxcrypt-external.bb @@ -0,0 +1,21 @@ +SUMMARY = "Extended cryptographic library (from glibc)" +DESCRIPTION = "Forked code from glibc libary to extract only crypto part." +HOMEPAGE = "https://github.com/besser82/libxcrypt" +SECTION = "libs" +LICENSE = "LGPLv2.1" +PROVIDES = "virtual/crypt" + +inherit external-toolchain + +EXTERNAL_PROVIDE_PATTERN = "${libdir}/libcrypt*.so.*" + +libc_rdep = "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}" +RDEPENDS_${PN} += "${libc_rdep}" + +FILES_${PN} = "${libdir}/libcrypt*.so.* \ + ${libdir}/libcrypt-*.so \ + ${libdir}/libowcrypt*.so.* \ + ${libdir}/libowcrypt-*.so \ +" +FILES_${PN}-dev = "${libdir}/libcrypt.so ${libdir}/libowcrypt.so" +