From 679647059ecc4d335eb0f464e14be6e6f909b9e3 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Tue, 3 Jan 2023 17:50:03 -0800 Subject: [PATCH 1/3] New package: libxcrypt-4.4.33 --- common/shlibs | 3 +- srcpkgs/libxcrypt-compat | 1 + srcpkgs/libxcrypt-devel | 1 + srcpkgs/libxcrypt/template | 102 +++++++++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 1 deletion(-) create mode 120000 srcpkgs/libxcrypt-compat create mode 120000 srcpkgs/libxcrypt-devel create mode 100644 srcpkgs/libxcrypt/template diff --git a/common/shlibs b/common/shlibs index 52a6d3e6d5fb5..bc4e34dc3756b 100644 --- a/common/shlibs +++ b/common/shlibs @@ -40,7 +40,6 @@ libnss_files.so.2 glibc-2.36_1 libnss_compat.so.2 glibc-2.36_1 libnss_dns.so.2 glibc-2.36_1 libnss_hesiod.so.2 glibc-2.36_1 -libcrypt.so.1 glibc-2.36_1 libBrokenLocale.so.1 glibc-2.36_1 libSimGearCore.so.2020.3.17 simgear-2020.3.17_1 libSimGearScene.so.2020.3.17 simgear-2020.3.17_1 @@ -71,6 +70,8 @@ libppl.so.14 ppl-1.2_1 libppl_c.so.4 ppl-0.11_1 libstdc++.so.6 libstdc++-4.4.0_1 libssp.so.0 libssp-4.4.0_1 +libcrypt.so.1 libxcrypt-compat-4.4.33_1 +libcrypt.so.2 libxcrypt-4.4.33_1 libncurses.so.6 ncurses-libs-6.0_1 ignore libncursesw.so.6 ncurses-libs-5.8_1 ignore libtinfo.so.6 ncurses-libtinfo-libs-6.2_2 diff --git a/srcpkgs/libxcrypt-compat b/srcpkgs/libxcrypt-compat new file mode 120000 index 0000000000000..4ed34b8a6a49e --- /dev/null +++ b/srcpkgs/libxcrypt-compat @@ -0,0 +1 @@ +libxcrypt \ No newline at end of file diff --git a/srcpkgs/libxcrypt-devel b/srcpkgs/libxcrypt-devel new file mode 120000 index 0000000000000..4ed34b8a6a49e --- /dev/null +++ b/srcpkgs/libxcrypt-devel @@ -0,0 +1 @@ +libxcrypt \ No newline at end of file diff --git a/srcpkgs/libxcrypt/template b/srcpkgs/libxcrypt/template new file mode 100644 index 0000000000000..35132895cddfa --- /dev/null +++ b/srcpkgs/libxcrypt/template @@ -0,0 +1,102 @@ +# Template file for 'libxcrypt' +pkgname=libxcrypt +version=4.4.33 +revision=1 +configure_args="--enable-hashes=all --disable-failure-tokens" +hostmakedepends="perl" +checkdepends="python3-passlib" +short_desc="Modern library for one-way hashing of passwords" +maintainer="oreo639 " +license="LGPL-2.1-or-later, BSD-3-Clause, BSD-2-Clause, 0BSD, Public Domain" +homepage="https://github.com/besser82/libxcrypt" +distfiles="https://github.com/besser82/libxcrypt/releases/download/v${version}/libxcrypt-${version}.tar.xz" +checksum=e87acf9c652c573a4713d5582159f98f305d56ed5f754ce64f57d4194d6b3a6f +subpackages="libxcrypt-devel" +build_options="compat" +build_options_default="" + +desc_option_compat="Enable glibc compatibility library" + +if [ "$XBPS_TARGET_LIBC" = "glibc" ]; then +build_options_default+=" compat" +fi + +if [ "$build_option_compat" ]; then +subpackages+=" libxcrypt-compat" +fi + +do_configure() { +if [ "$build_option_compat" ]; then + ( + mkdir compat-build + cd compat-build + ../configure --prefix=/usr --enable-obsolete-api=glibc ${configure_args} + ) +fi + + ( + mkdir build + cd build + ../configure --prefix=/usr --enable-obsolete-api=no ${configure_args} + ) +} + +do_build() { +if [ "$build_option_compat" ]; then + ( + cd compat-build + make ${makejobs} ${make_build_args} ${make_build_target} + ) +fi + + ( + cd build + make ${makejobs} ${make_build_args} ${make_build_target} + ) +} + +do_install() { +if [ "$build_option_compat" ]; then + ( + cd compat-build + make DESTDIR=${DESTDIR} install ${make_install_target} + rm -r ${DESTDIR}/usr/{include,lib/{lib*.so,pkgconfig},share} + ) +fi + + ( + cd build + make DESTDIR=${DESTDIR} install ${make_install_target} + ) +} + +post_install() { + vlicense LICENSING +} + +do_check() { + : ${make_check_target:=check} +if [ "$build_option_compat" ]; then + ${make_check_pre} make -C compat-build ${makejobs} ${make_check_args} ${make_check_target} +fi + ${make_check_pre} make -C build ${makejobs} ${make_check_args} ${make_check_target} +} + +libxcrypt-devel_package() { + short_desc+=" - development files" + depends="${sourcepkg}>=${version}_${revision}" + pkg_install() { + vmove usr/lib/pkgconfig + vmove usr/include + vmove "usr/lib/*.a" + vmove "usr/lib/*.so" + vmove usr/share + } +} + +libxcrypt-compat_package() { + short_desc+=" - legacy compatibility" + pkg_install() { + vmove usr/lib/libcrypt.so.1* + } +} From bd67dd3a812d41237207e489380918bb45d33a97 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Tue, 3 Jan 2023 18:34:06 -0800 Subject: [PATCH 2/3] glibc: disable libcrypt Remove obsolete flags --- srcpkgs/glibc/template | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/srcpkgs/glibc/template b/srcpkgs/glibc/template index 452b55c127624..0966f9b59fc3e 100644 --- a/srcpkgs/glibc/template +++ b/srcpkgs/glibc/template @@ -1,7 +1,7 @@ # Template file for 'glibc' pkgname=glibc version=2.36 -revision=1 +revision=2 _patchver="72-g0f90d6204d" bootstrap=yes short_desc="GNU C library" @@ -29,7 +29,6 @@ nostrip_files=" ld.so.1 ld-linux-armhf.so.3 libresolv.so.2 - libcrypt.so.1 libm.so.6 libthread_db.so.1 libnsl.so.1 @@ -98,14 +97,12 @@ do_configure() { SHELL=/bin/bash ../configure ${configure_args} \ --bindir=/usr/bin --sbindir=/usr/bin \ --libdir=${_libdir} --libexecdir=${_libdir} \ - --enable-add-ons=libidn \ + --with-headers=${XBPS_CROSS_BASE}/usr/include \ --enable-multi-arch --enable-bind-now \ --disable-profile --enable-kernel=3.2.0 \ - --enable-stack-guard-randomization \ - --without-selinux --without-cvs --without-gd \ - --disable-lock-elision \ --enable-stack-protector=strong \ - --with-headers=${XBPS_CROSS_BASE}/usr/include \ + --enable-stack-guard-randomization \ + --without-selinux --without-gd --disable-crypt \ --disable-werror \ libc_cv_rootsbindir=/usr/bin \ libc_cv_rtlddir=${_libdir} libc_cv_slibdir=${_libdir} From 1a5c870c55b90462c61eb80589eae5c9a54abfcb Mon Sep 17 00:00:00 2001 From: oreo639 Date: Tue, 3 Jan 2023 19:05:09 -0800 Subject: [PATCH 3/3] man-pages: remove libcrypt manpages --- srcpkgs/man-pages/template | 3 +++ 1 file changed, 3 insertions(+) diff --git a/srcpkgs/man-pages/template b/srcpkgs/man-pages/template index 0422ff053de2f..ef7dc21621b7f 100644 --- a/srcpkgs/man-pages/template +++ b/srcpkgs/man-pages/template @@ -37,6 +37,9 @@ do_install() { # openssl-devel mv man3/rand.3 man3/glibc-rand.3 mv man3/err.3 man3/glibc-err.3 + # libxcrypt + rm -f man3/crypt.3 + rm -f man3/crypt_r.3 # Fix references to these manpages sed -i -e "s|.so man3/rand.3|.so man3/glibc-rand.3|" \ -e "s|.so man3/err.3|.so man3/glibc-err.3|" man3/*