From a5d7f5b9eb10c91891a9fef0821727e856883b81 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Sat, 4 Aug 2018 07:38:34 +0000 Subject: Sat Aug 4 07:38:34 UTC 2018 a/dbus-1.12.10-x86_64-1.txz: Upgraded. a/kernel-generic-4.14.60-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.60-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.60-x86_64-1.txz: Upgraded. d/kernel-headers-4.14.60-x86-1.txz: Upgraded. d/mercurial-4.7-x86_64-1.txz: Upgraded. d/rust-1.28.0-x86_64-1.txz: Upgraded. k/kernel-source-4.14.60-noarch-1.txz: Upgraded. xap/blueman-2.0.6-x86_64-2.txz: Rebuilt. Allow users in the netdev group to make changes. Thanks to voleg, kgha, and zakame. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. testing/packages/glibc-2.28-x86_64-2.txz: Rebuilt. Fixed compile issues when linking with libpthread. testing/packages/glibc-i18n-2.28-x86_64-2.txz: Rebuilt. testing/packages/glibc-profile-2.28-x86_64-2.txz: Rebuilt. testing/packages/glibc-solibs-2.28-x86_64-2.txz: Rebuilt. usb-and-pxe-installers/usbboot.img: Rebuilt. --- testing/source/glibc/doinst.sh-glibc | 47 ++++---------------------- testing/source/glibc/doinst.sh-glibc-solibs | 9 +++-- testing/source/glibc/glibc.SlackBuild | 52 ++++++++++++++++++++--------- 3 files changed, 49 insertions(+), 59 deletions(-) (limited to 'testing') diff --git a/testing/source/glibc/doinst.sh-glibc b/testing/source/glibc/doinst.sh-glibc index 4ce7c1a08..e2c7d3ef1 100644 --- a/testing/source/glibc/doinst.sh-glibc +++ b/testing/source/glibc/doinst.sh-glibc @@ -84,7 +84,7 @@ if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly done ) ) 9> run/lock/pkgtools/ldconfig.lock -else # no ldconfig? Good, it's safe to just jam it on home (and make links below): +else # no ldconfig? This is a broken situation, but we will do what we can: ( cd lib/incoming for file in * ; do cp -a $file .. @@ -114,6 +114,11 @@ config etc/profile.d/glibc.sh.new rm -f etc/profile.d/glibc.csh.new rm -f etc/profile.d/glibc.sh.new +# This block below *should* be dead code, but it's probably safer to leave it +# here as a fallback. It no longer has complete coverage of all the links +# that would be needed in /lib${LIBDIRSUFFIX}, but it covers enough that if +# we did fall back on this the machine would boot until it reached the boot +# time call to ldconfig, which would then take care of any missing links. # In case there's no ldconfig, make the links manually: if [ ! -x /sbin/ldconfig ]; then ( cd lib ; rm -rf libnss_nis.so.2 ) @@ -157,43 +162,3 @@ if [ ! -x /sbin/ldconfig ]; then fi # More links: -( cd usr/lib ; rm -rf libnss_nisplus.so ) -( cd usr/lib ; ln -sf ../../lib/libnss_nisplus.so.2 libnss_nisplus.so ) -# This is now a linker script: -#( cd usr/lib ; rm -rf libpthread.so ) -#( cd usr/lib ; ln -sf ../../lib/libpthread.so.0 libpthread.so ) -( cd usr/lib ; rm -rf libresolv.so ) -( cd usr/lib ; ln -sf ../../lib/libresolv.so.2 libresolv.so ) -( cd usr/lib ; rm -rf libnsl.so ) -( cd usr/lib ; ln -sf ../../lib/libnsl.so.1 libnsl.so ) -( cd usr/lib ; rm -rf libnss_hesiod.so ) -( cd usr/lib ; ln -sf ../../lib/libnss_hesiod.so.2 libnss_hesiod.so ) -( cd usr/lib ; rm -rf libnss_files.so ) -( cd usr/lib ; ln -sf ../../lib/libnss_files.so.2 libnss_files.so ) -# This is now a linker script: -#( cd usr/lib ; rm -rf libm.so ) -#( cd usr/lib ; ln -sf ../../lib/libm.so.6 libm.so ) -( cd usr/lib ; rm -rf libutil.so ) -( cd usr/lib ; ln -sf ../../lib/libutil.so.1 libutil.so ) -( cd usr/lib ; rm -rf libnss_compat.so ) -( cd usr/lib ; ln -sf ../../lib/libnss_compat.so.2 libnss_compat.so ) -( cd usr/lib ; rm -rf libthread_db.so ) -( cd usr/lib ; ln -sf ../../lib/libthread_db.so.1 libthread_db.so ) -( cd usr/lib ; rm -rf libcrypt.so ) -( cd usr/lib ; ln -sf ../../lib/libcrypt.so.1 libcrypt.so ) -( cd usr/lib ; rm -rf libBrokenLocale.so ) -( cd usr/lib ; ln -sf ../../lib/libBrokenLocale.so.1 libBrokenLocale.so ) -( cd usr/lib ; rm -rf libdl.so ) -( cd usr/lib ; ln -sf ../../lib/libdl.so.2 libdl.so ) -( cd usr/lib ; rm -rf libnss_dns.so ) -( cd usr/lib ; ln -sf ../../lib/libnss_dns.so.2 libnss_dns.so ) -( cd usr/lib ; rm -rf librt.so ) -( cd usr/lib ; ln -sf ../../lib/librt.so.1 librt.so ) -( cd usr/lib ; rm -rf libanl.so ) -( cd usr/lib ; ln -sf ../../lib/libanl.so.1 libanl.so ) -( cd usr/lib ; rm -rf libnss_nis.so ) -( cd usr/lib ; ln -sf ../../lib/libnss_nis.so.2 libnss_nis.so ) -( cd usr/share/zoneinfo ; rm -rf localtime ) -( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime ) -( cd bin ; rm -rf sln ) -( cd bin ; ln -sf /sbin/sln sln ) diff --git a/testing/source/glibc/doinst.sh-glibc-solibs b/testing/source/glibc/doinst.sh-glibc-solibs index 570f427d7..3d4466043 100644 --- a/testing/source/glibc/doinst.sh-glibc-solibs +++ b/testing/source/glibc/doinst.sh-glibc-solibs @@ -84,7 +84,7 @@ if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly done ) ) 9> run/lock/pkgtools/ldconfig.lock -else # no ldconfig? Good, it's safe to just jam it on home (and make links below): +else # no ldconfig? This is a broken situation, but we will do what we can: ( cd lib/incoming for file in * ; do cp -a $file .. @@ -113,7 +113,11 @@ config etc/profile.d/glibc.sh.new rm -f etc/profile.d/glibc.csh.new rm -f etc/profile.d/glibc.sh.new -# In case there's no ldconfig, make the links manually: +# This block below *should* be dead code, but it's probably safer to leave it +# here as a fallback. It no longer has complete coverage of all the links +# that would be needed in /lib${LIBDIRSUFFIX}, but it covers enough that if +# we did fall back on this the machine would boot until it reached the boot +# time call to ldconfig, which would then take care of any missing links. if [ ! -x /sbin/ldconfig ]; then ( cd lib ; rm -rf libnss_nis.so.2 ) ( cd lib ; ln -sf libnss_nis-@@VERSION@@.so libnss_nis.so.2 ) @@ -154,3 +158,4 @@ if [ ! -x /sbin/ldconfig ]; then ( cd lib ; rm -rf librt.so.1 ) ( cd lib ; ln -sf librt-@@VERSION@@.so librt.so.1 ) fi + diff --git a/testing/source/glibc/glibc.SlackBuild b/testing/source/glibc/glibc.SlackBuild index d12d11eb4..33b4c6021 100755 --- a/testing/source/glibc/glibc.SlackBuild +++ b/testing/source/glibc/glibc.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=glibc VERSION=${VERSION:-$(echo glibc-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} CHECKOUT=${CHECKOUT:-""} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # I was considering disabling NSCD, but MoZes talked me out of it. :) #DISABLE_NSCD=" --disable-nscd " @@ -247,6 +247,25 @@ make $NUMJOBS || make || exit 1 make install install_root=$PKG || exit 1 make localedata/install-locales install_root=$PKG || exit 1 +# We've always had an sln symlink in /bin, so let's make sure it +# remains there so as not to break any scripts that might need it: +mkdir -p $PKG/bin +( cd $PKG/bin ; ln -sf /sbin/sln sln ) + +# This bit was mostly copped from Fedora Rawhide's .spec file. I'm not +# entirely sure how important it is, since I'm not aware of anything +# we ship trying to link libpthread as static. What it does is make sure +# that anything linking libpthread static includes all of the functions +# so that the resulting binary doesn't rely on parts of the library that +# were not linked in. Optimizing actually working over binary size, so +# to speak. +( cd $PKG/usr/lib${LIBDIRSUFFIX} + gcc -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a + rm libpthread.a + ar rcs libpthread.a libpthread.o + rm libpthread.o +) + # The prevailing standard seems to be putting unstripped libraries in # /usr/lib/debug/ and stripping the debugging symbols from all the other # libraries. @@ -390,9 +409,6 @@ mkdir -p usr/lib${LIBDIRSUFFIX} # The gconv directory has a lot of stuff, but including it here will save some problems. # Seems standard elsewhere. cp -a $PKG/usr/lib${LIBDIRSUFFIX}/gconv usr/lib${LIBDIRSUFFIX} -# Another manpage abandoned by GNU... -#mkdir -p usr/man/man1 -#cp -a $PKG/usr/man/man1/ldd.1.gz usr/man/man1 mkdir -p usr/libexec cp -a $PKG/usr/libexec/pt_chown usr/libexec # Same usr.bin deal: @@ -403,10 +419,15 @@ mv ldconfig sbin mkdir install cp -a $CWD/slack-desc.glibc-solibs install/slack-desc cp -a $CWD/doinst.sh-glibc-solibs install/doinst.sh -fix_doinst +# Fix specific versioning for the symlink creation script. This part of the +# script would only be used in the case where there is no ldconfig on the +# running system that's used to install the package. That should never be the +# case, but we'll leave the code in place anyway just in case. sed -i "s/@@VERSION@@/$VERSION/g" install/doinst.sh -# Ditch links: -find . -type l -exec rm {} \; +# Call the function to fix doinst.sh where $LIBDIRSUFFIX is needed: +fix_doinst +# Only scrub the links in /lib{,64} that will be created by ldconfig: +find lib${LIBDIRSUFFIX} -type l -exec rm {} \; # Build the package: makepkg -l y -c n $TMP/glibc-solibs-$VERSION-$SLACKWARE_ARCH-$BUILD.txz @@ -418,18 +439,18 @@ mkdir -p etc/profile.d cp -a $CWD/profile.d/* etc/profile.d chown -R root:root etc chmod 755 etc/profile.d/* -# Ditch links (these are in doinst.sh-glibc): -find . -type l -exec rm {} \; -# libm.so is *not* a linker script on all $ARCH. -# If it's missing now, replace the symlink: -if [ ! -r usr/lib${LIBDIRSUFFIX}/libm.so ]; then - ( cd usr/lib${LIBDIRSUFFIX} ; ln -sf ../../lib${LIBDIRSUFFIX}/libm.so.6 libm.so ) -fi +# Only scrub the links in /lib{,64} that will be created by ldconfig: +find lib${LIBDIRSUFFIX} -type l -exec rm {} \; mkdir install cp -a $CWD/slack-desc.glibc install/slack-desc cp -a $CWD/doinst.sh-glibc install/doinst.sh -fix_doinst +# Fix specific versioning for the symlink creation script. This part of the +# script would only be used in the case where there is no ldconfig on the +# running system that's used to install the package. That should never be the +# case, but we'll leave the code in place anyway just in case. sed -i "s/@@VERSION@@/$VERSION/g" install/doinst.sh +# Call the function to fix doinst.sh where $LIBDIRSUFFIX is needed: +fix_doinst ( cd lib${LIBDIRSUFFIX} mkdir incoming mv *so* incoming @@ -441,4 +462,3 @@ sed -i "s/@@VERSION@@/$VERSION/g" install/doinst.sh # Done! echo echo "glibc packages built in $TMP!" - -- cgit v1.2.3