forked from pool/python314
- Tools/Demos
- gh-129248: The iOS test runner now strips the log prefix
from each line output by the test suite.
- gh-104400: Fix several bugs in extraction by switching to
an AST parser in pygettext.
- Tests
- gh-129386: Add test.support.reset_code, which can be used
to reset various bytecode-level optimizations and local
instrumentation for a function.
- gh-128474: Disable test_embed test cases that segfault on
BOLT instrument binaries. The tests are only disabled when
BOLT is enabled.
- gh-128003: Add an option --parallel-threads=N to the
regression test runner that runs individual tests in
multiple threads in parallel in order to find concurrency
bugs. Note that most of the test suite is not yet reviewed
for thread-safety or annotated with @thread_unsafe when
necessary.
- Security
- gh-105704: When using urllib.parse.urlsplit() and
urllib.parse.urlparse() host parsing would not reject
domain names containing square brackets ([ and ]). Square
brackets are only valid for IPv6 and IPvFuture hosts
according to RFC 3986 Section 3.2.2.
- gh-126108: Fix a possible NULL pointer dereference in
PySys_AddWarnOptionUnicode().
- gh-80222: Fix bug in the folding of quoted strings
when flattening an email message using a modern email
policy. Previously when a quoted string was folded so
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=38
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
|
|
|