summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2022-08-03 15:14:07 +0000
committer Eric Hameleers <alien@slackware.com>2022-08-03 15:14:07 +0000
commitd717e545d88c12e0e81b9e36133378614169f1dd (patch)
tree8b7b4a28cfee57bcdd763aabd6682d38ecf880a5
parente50bbfe2d0d94a9b4d033721930db5786f82704a (diff)
downloadmultilib-d717e545d88c12e0e81b9e36133378614169f1dd.tar.gz
multilib-d717e545d88c12e0e81b9e36133378614169f1dd.tar.xz
glibc-multilib: update to 2.36
-rwxr-xr-xsource/current/glibc/glibc-multilib.SlackBuild69
1 files changed, 59 insertions, 10 deletions
diff --git a/source/current/glibc/glibc-multilib.SlackBuild b/source/current/glibc/glibc-multilib.SlackBuild
index be1d760..2494f43 100755
--- a/source/current/glibc/glibc-multilib.SlackBuild
+++ b/source/current/glibc/glibc-multilib.SlackBuild
@@ -28,9 +28,9 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=glibc
-VERSION=${VERSION:-2.33}
+VERSION=${VERSION:-2.36}
CHECKOUT=${CHECKOUT:-""}
-BUILD=${BUILD:-5alien}
+BUILD=${BUILD:-1alien}
# I was considering disabling NSCD, but MoZes talked me out of it. :)
#DISABLE_NSCD=" --disable-nscd "
@@ -165,8 +165,6 @@ apply_patches() {
zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
# Support ru_RU.CP1251 locale:
zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
- # Add a C.UTF-8 locale:
- zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1
# Don't use AM/PM format for date(1). That's just plain crazy.
zcat $CWD/glibc-2.32.en_US.no.am.pm.date.format.diff.gz | patch -p1 --verbose || exit 1
# Other regression fixes from git:
@@ -242,9 +240,9 @@ find . -type d -name CVS -exec rm -r {} \; 2> /dev/null
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
+ -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+ -exec chmod 644 {} \+
build_glibc() {
CFLAGS="-g $OPTIMIZ -I/usr/include" \
@@ -264,10 +262,10 @@ build_glibc() {
$TARGET-slackware-linux
make $NUMJOBS || exit 1
- make install install_root=$PKG || exit 1
+ make $NUMJOBS install install_root=$PKG || exit 1
# Don't use this, as it makes the i18n package WAY bigger:
#make localedata/install-locale-files DESTDIR=$PKG || exit 1
- make localedata/install-locales install_root=$PKG DESTDIR=$PKG || exit 1
+ make $NUMJOBS localedata/install-locales install_root=$PKG DESTDIR=$PKG || exit 1
}
# Build the 32-bit binaries first,
@@ -476,12 +474,36 @@ cp -a $PKG/lib${LIBDIRSUFFIX}/* lib${LIBDIRSUFFIX}
( cd lib${LIBDIRSUFFIX}
mkdir incoming
mv *so* incoming
- mv incoming/libSegFault.so .
+ mv incoming/libmemusage.so .
+ # Beginning with glibc-2.34, shared objects are using their ABI sonames
+ # directly, which is frankly, a terrible idea. It might help other package
+ # managers, but doesn't do us any favors where we already had a system for
+ # dealing with upgrades (and downgrades!). We'll change these libraries to
+ # use the versioned naming system of glibc-2.33 and earlier so that we don't
+ # have to handle these files differently and so that it's easy to see what
+ # version of glibc is in use at a glance.
+ cd incoming
+ for library in *.so.* ; do
+ mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
+ done
+ # This one is a special case. We don't want an $ARCH embedded in the
+ # filename. It prevents using the same install scripts on all $ARCH
+ # and does no good since we'll never have multiple $ARCH libraries
+ # installed in the same directory anyway. So give it the previous name
+ # format:
+ mv ld-linux*-${VERSION}.so ld-${VERSION}.so
)
if [ "x$LIBDIRSUFFIX" = "x64" ]; then
# Same exercise for lib:
mkdir -p lib
cp -a $PKG/lib/* lib
+ ( cd lib
+ # For the reason why, see above block for the 64bit part:
+ for library in *.so.* ; do
+ mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
+ done
+ mv ld-linux*-${VERSION}.so ld-${VERSION}.so
+ )
fi
mkdir -p usr
cp -a $PKG/usr/bin usr
@@ -551,8 +573,35 @@ fix_doinst
( cd lib${LIBDIRSUFFIX}
mkdir incoming
mv *so* incoming
- mv incoming/libSegFault.so .
+ mv incoming/libmemusage.so .
+ # Beginning with glibc-2.34, shared objects are using their ABI sonames
+ # directly, which is frankly, a terrible idea. It might help other package
+ # managers, but doesn't do us any favors where we already had a system for
+ # dealing with upgrades (and downgrades!). We'll change these libraries to
+ # use the versioned naming system of glibc-2.33 and earlier so that we don't
+ # have to handle these files differently and so that it's easy to see what
+ # version of glibc is in use at a glance.
+ cd incoming
+ for library in *.so.* ; do
+ mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
+ done
+ # This one is a special case. We don't want an $ARCH embedded in the
+ # filename. It prevents using the same install scripts on all $ARCH
+ # and does no good since we'll never have multiple $ARCH libraries
+ # installed in the same directory anyway. So give it the previous name
+ # format:
+ mv ld-linux*-${VERSION}.so ld-${VERSION}.so
)
+if [ "x$LIBDIRSUFFIX" = "x64" ]; then
+ # Same exercise for lib:
+ ( cd lib
+ # For the reason why, see above block for the 64bit part:
+ for library in *.so.* ; do
+ mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
+ done
+ mv ld-linux*-${VERSION}.so ld-${VERSION}.so
+ )
+fi
# Build the package:
/sbin/makepkg -l y -c n $TMP/glibc-${VERSION}_multilib-$SLACKWARE_ARCH-$BUILD.txz