diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2024-03-20 21:10:30 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2024-03-20 23:08:57 +0100 |
commit | 0cbf4c3859f23aa741e63823bc1e46377a9e4a9f (patch) | |
tree | 1562260d1ee0cbaec3950cfd8124efa9ff2b8510 /source/d/python2/python2.SlackBuild | |
parent | 5a8e431607833376ae16794d1134d03dccc3da08 (diff) | |
download | current-0cbf4c3859f23aa741e63823bc1e46377a9e4a9f.tar.gz current-0cbf4c3859f23aa741e63823bc1e46377a9e4a9f.tar.xz |
Wed Mar 20 21:10:30 UTC 202420240320211030
a/libblockdev-2.28-x86_64-2.txz: Rebuilt.
Drop python2 support.
a/sysvinit-scripts-15.1-noarch-15.txz: Rebuilt.
rc.M: start rc.iceccd and rc.icecc-scheduler earlier.
a/util-linux-2.39.3-x86_64-2.txz: Rebuilt.
Drop python2 support.
a/volume_key-0.3.12-x86_64-6.txz: Rebuilt.
Drop python2 support.
ap/man-pages-6.7-noarch-1.txz: Upgraded.
d/cmake-3.28.4-x86_64-1.txz: Upgraded.
d/llvm-18.1.2-x86_64-1.txz: Upgraded.
d/python2-2.7.18-x86_64-7.txz: Rebuilt.
Bundle the final python2 versions of pip and setuptools.
Drop the /usr/bin/python symlink.
d/python3-3.9.19-x86_64-1.txz: Upgraded.
Point the /usr/bin/python symlink at python3.9.
PEP 394 says we can do this, and in a world of ambigious shebangs, this
is probably the best of the available options.
This update also fixes security issues:
bundled libexpat was updated to 2.6.0.
zipfile is now protected from the "quoted-overlap" zipbomb.
tempfile.TemporaryDirectory cleanup no longer dereferences symlinks when
working around file system permission errors.
For more information, see:
https://pythoninsider.blogspot.com/2024/03/python-31014-3919-and-3819-is-now.html
https://www.cve.org/CVERecord?id=CVE-2023-52425
https://www.cve.org/CVERecord?id=CVE-2024-0450
https://www.cve.org/CVERecord?id=CVE-2023-6597
(* Security fix *)
d/strace-6.8-x86_64-1.txz: Upgraded.
kde/kross-interpreters-23.08.5-x86_64-2.txz: Rebuilt.
Drop python2 support.
l/libxml2-2.12.6-x86_64-2.txz: Rebuilt.
Drop python2 support.
l/mozjs115-115.9.0esr-x86_64-2.txz: Rebuilt.
Fixed installed library name. Thanks to reddog83.
Fixed slack-desc. Thanks to r1w1s1.
l/phonon-4.12.0-x86_64-1.txz: Upgraded.
l/pilot-link-0.12.5-x86_64-17.txz: Rebuilt.
Drop python2 support.
l/python2-module-collection-2.7.18-x86_64-6.txz: Removed.
Good bye!
l/python2-pycairo-1.18.2-x86_64-1.txz: Added.
We'll need this (along with pygtk and pygobject) until we get gimp3.
Well, we could build gimp without python support, but I really don't think
that's the route we want to take.
n/bind-9.18.25-x86_64-1.txz: Upgraded.
n/crda-4.15-x86_64-1.txz: Removed.
The kernel is able to load from wireless-regdb directly. Obsolete.
n/getmail-6.18.14-x86_64-1.txz: Upgraded.
n/gpgme-1.23.2-x86_64-2.txz: Rebuilt.
Drop python2 support.
n/obexftp-0.24.2-x86_64-11.txz: Rebuilt.
Drop python2 support.
n/wireless-regdb-2024.01.23-x86_64-1.txz: Added.
Wireless regulatory database, previously bundled with crda.
x/ibus-1.5.29-x86_64-2.txz: Rebuilt.
Drop python2 support.
x/libkkc-0.3.5-x86_64-4.txz: Rebuilt.
Still forcing python2 with this one, but perhaps a python3 marisa module
could work around this.
x/libkkc-data-0.2.7-x86_64-4.txz: Rebuilt.
Still forcing python2 with this one, but perhaps a python3 marisa module
could work around this.
x/xcb-proto-1.16.0-x86_64-2.txz: Rebuilt.
Drop python2 support.
x/xpyb-1.3.1-x86_64-7.txz: Removed.
Nothing uses it, and it was never updated for python3. Removed as obsolete.
Diffstat (limited to 'source/d/python2/python2.SlackBuild')
-rwxr-xr-x | source/d/python2/python2.SlackBuild | 65 |
1 files changed, 49 insertions, 16 deletions
diff --git a/source/d/python2/python2.SlackBuild b/source/d/python2/python2.SlackBuild index 26effbb01..c360fd8a8 100755 --- a/source/d/python2/python2.SlackBuild +++ b/source/d/python2/python2.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2012, 2013, 2016, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2012, 2013, 2016, 2018, 2020, 2024 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -26,7 +26,7 @@ PKGNAM=python2 SRCNAM=Python VERSION=$(echo $SRCNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev) BRANCH_VERSION=$(echo $VERSION | cut -f 1,2 -d . ) -BUILD=${BUILD:-6} +BUILD=${BUILD:-7} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -114,6 +114,53 @@ sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 +# This conflicts with python3. We'll assume the python3 version is more +# up-to-date and just get rid of it: +rm -f $PKG/usr/bin/2to3 + +# We don't want these now: +rm -f $PKG/usr/bin/python +rm -f $PKG/usr/bin/python-config + +# Bundle the very last pip for python2: +tar xf $CWD/pip-20.3.tar.lz || exit 1 +cd pip-20.3 +fix_perms +python2 setup.py install --root=$PKG || exit 1 +# Don't package this. We want /usr/bin/pip in the main python-pip package to be +# the python3 version: +rm -f $PKG/usr/bin/pip +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/pip-20.3 +cp -a *.txt PKG-INFO README.rst \ + $PKG/usr/doc/$PKGNAM-$VERSION/pip-20.3 +find $PKG/usr/doc/$PKGNAM-$VERSION/pip-20.3 -type f -exec chmod 0644 {} \+ +cd .. + +# Bundle the very last setuptools for python2: +tar xf $CWD/setuptools-44.1.1.tar.lz || exit 1 +cd setuptools-44.1.1 +fix_perms +# Install setuptools to the system if it's not there: +if [ ! -d /usr/lib${LIBDIRSUFFIX}/python2.7/site-packages/setuptools/version.py ]; then + python2 setup.py install --root=/ || exit 1 +fi +python2 setup.py install --root=$PKG || exit 1 +# It's tempting to get rid of this entirely, but we'll leave the -2.7 versioned +# binary: +rm -f $PKG/usr/bin/easy_install +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/setuptools-44.1.1 +cp -a CHANGES.rst PKG-INFO README.rst docs/*.txt \ + $PKG/usr/doc/$PKGNAM-$VERSION/setuptools-44.1.1 +find $PKG/usr/doc/$PKGNAM-$VERSION/setuptools-44.1.1 -type f -exec chmod 0644 {} \+ +# If there's a CHANGES.rst, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES.rst ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION/setuptools-44.1.1) + cat CHANGES.rst | head -n 1000 > $DOCSDIR/CHANGES.rst + touch -r CHANGES.rst $DOCSDIR/CHANGES.rst +fi +cd .. + # Install some python-demo files: mkdir -p $PKG/usr/doc/python2-$VERSION cp -a Demo $PKG/usr/doc/python2-$VERSION @@ -128,14 +175,6 @@ mv $SITEPK/README $PKG/usr/doc/python2-$VERSION/README.python-tools ln -sf $TOOLSDIR Tools ) -# Make a few useful symlinks: -mkdir -p $PKG/usr/bin -( cd $PKG/usr/bin - ln -sf $TOOLSDIR/pynche/pynche pynche - ln -sf $TOOLSDIR/i18n/msgfmt.py . - ln -sf $TOOLSDIR/i18n/pygettext.py . -) - # Install docs: mkdir -p $PKG/usr/doc/python2-$VERSION/Documentation cp -a README LICENSE $PKG/usr/doc/python2-$VERSION @@ -151,12 +190,6 @@ chown -R root:root $PKG/usr/doc/python2-$VERSION find . -perm 750 -exec chmod 755 "{}" \+ ) - -( cd $PKG/usr/bin - rm -f python - ln -sf python${BRANCH_VERSION} python -) - ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ xargs strip --strip-unneeded 2> /dev/null |