forked from pool/python39
- Tests - gh-112769: The tests now correctly compare zlib version when :const:`zlib.ZLIB_RUNTIME_VERSION` contains non-integer suffixes. For example zlib-ng defines the version as ``1.3.0.zlib-ng``. - gh-117187: Fix XML tests for vanilla Expat <2.6.0. - Security - gh-123678: Upgrade libexpat to 2.6.3 - gh-121957: Fixed missing audit events around interactive use of Python, now also properly firing for ``python -i``, as well as for ``python -m asyncio``. The event in question is ``cpython.run_stdin``. - gh-122133: Authenticate the socket connection for the ``socket.socketpair()`` fallback on platforms where ``AF_UNIX`` is not available like Windows. Patch by Gregory P. Smith <greg@krypto.org> and Seth Larson <seth@python.org>. Reported by Ellie <el@horse64.org> - gh-121285: Remove backtracking from tarfile header parsing for ``hdrcharset``, PAX, and GNU sparse headers (bsc#1230227, CVE-2024-6232). - gh-118486: :func:`os.mkdir` on Windows now accepts *mode* of ``0o700`` to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting :func:`tempfile.mkdtemp` in scenarios where the base temporary directory is more permissive than the default. - gh-114572: :meth:`ssl.SSLContext.cert_store_stats` and :meth:`ssl.SSLContext.get_ca_certs` now correctly lock access to the certificate store, when the :class:`ssl.SSLContext` is shared across multiple threads (bsc#1226447, CVE-2024-0397). - gh-116741: Update bundled libexpat to 2.6.2 - Library - gh-123270: Applied a more surgical fix for malformed payloads in OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python39?expand=0&rev=201
79 lines
2.1 KiB
Bash
79 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
export LC_ALL=C
|
|
|
|
master=python*.spec
|
|
|
|
# create import_failed.map from package definitions
|
|
pkgname=$(grep python_pkg_name $master |grep define |awk -F' ' '{print $3}')
|
|
MAPFILE=import_failed.map
|
|
function new_map_line () {
|
|
package=$1
|
|
package=$(echo $1 |sed -e "s:%{python_pkg_name}:$pkgname:")
|
|
modules=$2
|
|
if [ -z "$package" -o -z "$modules" ]; then
|
|
return
|
|
fi
|
|
if [[ "$package" =~ "-base" ]]; then
|
|
return
|
|
fi
|
|
echo "$package:$modules" >> $MAPFILE.tmp
|
|
}
|
|
|
|
for spec in *.spec; do
|
|
basename=${spec%.spec}
|
|
package=
|
|
modules=
|
|
while read line; do
|
|
case $line in
|
|
"%files -n "*)
|
|
new_map_line $package "$modules"
|
|
package=${line#"%files -n "}
|
|
modules=
|
|
;;
|
|
"%files "*)
|
|
new_map_line $package "$modules"
|
|
package=$basename-${line#"%files "}
|
|
modules=
|
|
;;
|
|
"%files")
|
|
new_map_line $package "$modules"
|
|
package=$basename
|
|
modules=
|
|
;;
|
|
"%{sitedir}/config-"*)
|
|
# ignore
|
|
;;
|
|
"%{sitedir}/"*)
|
|
word=${line#"%{sitedir}/"}
|
|
if ! echo $word | grep -q /; then
|
|
modules="$modules $word"
|
|
fi
|
|
;;
|
|
"%{dynlib "*"}")
|
|
word=${line#"%{dynlib "}
|
|
word=${word%"}"}
|
|
modules="$modules $word"
|
|
;;
|
|
esac
|
|
done < $spec
|
|
new_map_line $package "$modules"
|
|
done
|
|
|
|
cat $MAPFILE.tmp |sort -u > $MAPFILE
|
|
rm $MAPFILE.tmp
|
|
|
|
# run test inclusion check
|
|
tar xJf Python-*.xz
|
|
python3 skipped_tests.py
|
|
|
|
# generate baselibs.conf
|
|
VERSION=$(grep ^Version $master|awk -F':' '{print $2}' |sed -e 's/ //g')
|
|
python_version=${VERSION:0:3} # 3.3
|
|
python_version_abitag=${python_version//./} # 33
|
|
python_version_soname=${python_version//./_} # 3_3
|
|
echo "$pkgname-base" > baselibs.conf
|
|
echo "$pkgname" >> baselibs.conf
|
|
echo "libpython$python_version_soname-1_0" >> baselibs.conf
|
|
|