668 lines
21 KiB
RPMSpec
668 lines
21 KiB
RPMSpec
%global pybasever 2.7
|
|
%global py_SOVERSION 1.0
|
|
%global pylibdir %{_libdir}/python%{pybasever}
|
|
%global tools_dir %{pylibdir}/Tools
|
|
%global demo_dir %{pylibdir}/Demo
|
|
%global dynload_dir %{pylibdir}/lib-dynload
|
|
%global site_packages %{pylibdir}/site-packages
|
|
%global py_INSTSONAME_optimized libpython%{pybasever}.so.%{py_SOVERSION}
|
|
%global py_INSTSONAME_debug libpython%{pybasever}_d.so.%{py_SOVERSION}
|
|
#with systemtap
|
|
%global tapsetdir /usr/share/systemtap/tapset
|
|
|
|
%undefine __brp_python_bytecompile
|
|
%undefine py_auto_byte_compile
|
|
%undefine _debuginfo_subpackages
|
|
Name: python2
|
|
Version: 2.7.16
|
|
Release: 8
|
|
Summary: Python is an interpreted, interactive object-oriented programming language suitable
|
|
License: Python
|
|
URL: https://www.python.org/
|
|
Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
|
|
#with systemtap
|
|
Source1: libpython.stp
|
|
#custom modifications
|
|
Patch0: python-2.7.1-config.patch
|
|
Patch1: 00001-pydocnogui.patch
|
|
Patch4: python-2.5-cflags.patch
|
|
Patch6: python-2.5.1-plural-fix.patch
|
|
Patch7: python-2.5.1-sqlite-encoding.patch
|
|
Patch10: 00010-2.7.13-binutils-no-dep.patch
|
|
Patch13: python-2.7rc1-socketmodule-constants.patch
|
|
Patch14: python-2.7rc1-socketmodule-constants2.patch
|
|
Patch16: python-2.6-rpath.patch
|
|
Patch17: python-2.6.4-distutils-rpath.patch
|
|
Patch55: 00055-systemtap.patch
|
|
Patch102: 00102-2.7.13-lib64.patch
|
|
Patch103: python-2.7-lib64-sysconfig.patch
|
|
Patch104: 00104-lib64-fix-for-test_install.patch
|
|
Patch111: 00111-no-static-lib.patch
|
|
Patch112: 00112-2.7.13-debug-build.patch
|
|
Patch113: 00113-more-configuration-flags.patch
|
|
Patch114: 00114-statvfs-f_flag-constants.patch
|
|
Patch121: 00121-add-Modules-to-build-path.patch
|
|
Patch128: python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch
|
|
Patch130: python-2.7.2-add-extension-suffix-to-python-config.patch
|
|
Patch131: 00131-disable-tests-in-test_io.patch
|
|
Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch
|
|
Patch133: 00133-skip-test_dl.patch
|
|
Patch136: 00136-skip-tests-of-seeking-stdin-in-rpmbuild.patch
|
|
Patch137: 00137-skip-distutils-tests-that-fail-in-rpmbuild.patch
|
|
Patch138: 00138-fix-distutils-tests-in-debug-build.patch
|
|
Patch139: 00139-skip-test_float-known-failure-on-arm.patch
|
|
Patch140: 00140-skip-test_ctypes-known-failure-on-sparc.patch
|
|
Patch142: 00142-skip-failing-pty-tests-in-rpmbuild.patch
|
|
Patch143: 00143-tsc-on-ppc.patch
|
|
Patch147: 00147-add-debug-malloc-stats.patch
|
|
Patch153: 00153-fix-test_gdb-noise.patch
|
|
Patch155: 00155-avoid-ctypes-thunks.patch
|
|
Patch156: 00156-gdb-autoload-safepath.patch
|
|
Patch157: 00157-uid-gid-overflows.patch
|
|
Patch165: 00165-crypt-module-salt-backport.patch
|
|
Patch167: 00167-disable-stack-navigation-tests-when-optimized-in-test_gdb.patch
|
|
Patch168: 00168-distutils-cflags.patch
|
|
Patch169: 00169-avoid-implicit-usage-of-md5-in-multiprocessing.patch
|
|
Patch170: 00170-gc-assertions.patch
|
|
Patch174: 00174-fix-for-usr-move.patch
|
|
Patch180: 00180-python-add-support-for-ppc64p7.patch
|
|
Patch181: 00181-allow-arbitrary-timeout-in-condition-wait.patch
|
|
Patch185: 00185-urllib2-honors-noproxy-for-ftp.patch
|
|
Patch187: 00187-add-RPATH-to-pyexpat.patch
|
|
Patch189: 00189-use-rpm-wheels.patch
|
|
Patch191: 00191-disable-NOOP.patch
|
|
Patch193: 00193-enable-loading-sqlite-extensions.patch
|
|
Patch289: 00289-disable-nis-detection.patch
|
|
Patch04000: 04000-modularity-disable-tk.patch
|
|
Patch5000: 05000-autotool-intermediates.patch
|
|
#upstream patches
|
|
Patch6035: 0342-bpo-36126-Fix-ref-count-leakage-in-structseq_repr.-G.patch
|
|
Patch6036: 0349-2.7-bpo-13096-Fix-memory-leak-in-ctypes-POINTER-hand.patch
|
|
Patch6037: 0350-2.7-bpo-36179-Fix-ref-leaks-in-_hashopenssl-GH-12158.patch
|
|
Patch6038: 0351-2.7-bpo-36149-Fix-potential-use-of-uninitialized-mem.patch
|
|
Patch6039: 0353-2.7-bpo-36186-Fix-linuxaudiodev.linux_audio_device-e.patch
|
|
Patch6040: 0354-bpo-36147-Fix-a-memory-leak-in-ctypes-s_get-GH-12102.patch
|
|
Patch6041: 0357-bpo-36140-Fix-an-incorrect-check-in-msidb_getsummary.patch
|
|
Patch6042: 0358-2.7-IDLE-Fix-typo-in-keybindingDialog.py-GH-2322-GH-.patch
|
|
Patch6044: python2-CVE-2019-9948-1.patch
|
|
Patch6045: python2-CVE-2019-9948-2.patch
|
|
Patch6047: CVE-2019-9740.patch
|
|
Patch9000: python2-add-generic-os-supportr.patch
|
|
Patch6048: bugfix-linux_distribution-skip-link-file.patch
|
|
Patch6049: bugfix-test_locale-and-test_codecs.patch
|
|
Patch6050: CVE-2019-9636-bpo-36216-Add-check-for-characters.patch
|
|
Patch6051: CVE-2019-10160-1.patch
|
|
Patch6052: CVE-2019-10160-2.patch
|
|
Patch6053: CVE-2019-10160-3.patch
|
|
Patch6054: CVE-2019-16056.patch
|
|
Patch6055: CVE-2018-20852.patch
|
|
Patch6056: CVE-2019-16935.patch
|
|
Patch6057: CVE-2019-17514.patch
|
|
|
|
BuildRequires: libdb-devel libffi-devel valgrind-devel ncurses-devel expat-devel readline-devel
|
|
BuildRequires: openssl-devel libtirpc-devel tcl-devel tk-devel glibc-devel libnsl2-devel
|
|
BuildRequires: zlib-devel tix-devel gdbm-devel sqlite-devel chrpath sed systemtap-sdt-devel
|
|
|
|
Requires: expat glibc gdbm python-setuptools-wheel python-pip-wheel
|
|
|
|
Recommends: python2-setuptools python2-pip
|
|
|
|
Provides: python = %{version}-%{release}
|
|
Provides: python27 = %{version}-%{release}
|
|
Provides: python(abi) = %{pybasever}
|
|
|
|
Obsoletes: python-libs < %{version}-%{release}
|
|
Obsoletes: python-libs%{?_isa} < %{version}-%{release}
|
|
Obsoletes: %{name}-libs < %{version}-%{release}
|
|
Obsoletes: %{name}-libs%{?_isa} < %{version}-%{release}
|
|
|
|
Provides: python-libs = %{version}-%{release}
|
|
Provides: python-libs%{?_isa} = %{version}-%{release}
|
|
Provides: %{name}-libs = %{version}-%{release}
|
|
Provides: %{name}-libs%{?_isa} = %{version}-%{release}
|
|
|
|
Obsoletes: python-unversioned-command < %{version}-%{release}
|
|
Provides: python-unversioned-command = %{version}-%{release}
|
|
|
|
%description
|
|
Python 2.x series is the old version that is incompatible with the 3.x series.
|
|
The EOL of Python 2.x upstream is January 2020, there will no updates,
|
|
Our suggestions for switching to Python3 as soon as possible.
|
|
|
|
%package tkinter
|
|
Summary: A graphical user interface for the Python 2 scripting language
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
Obsoletes: tkinter < %{version}-%{release}
|
|
Obsoletes: tkinter%{?_isa} < %{version}-%{release}
|
|
Obsoletes: tkinter2 < %{version}-%{release}
|
|
Obsoletes: tkinter2%{?_isa} < %{version}-%{release}
|
|
Obsoletes: python-tkinter < %{version}-%{release}
|
|
Obsoletes: python-tkinter%{?_isa} < %{version}-%{release}
|
|
|
|
Provides: tkinter = %{version}-%{release}
|
|
Provides: tkinter%{?_isa} = %{version}-%{release}
|
|
Provides: tkinter2 = %{version}-%{release}
|
|
Provides: tkinter2%{?_isa} = %{version}-%{release}
|
|
Provides: python-tkinter = %{version}-%{release}
|
|
Provides: python-tkinter%{?_isa} = %{version}-%{release}
|
|
|
|
%description tkinter
|
|
The Tkinter (Tk interface) program is an graphical user interface for
|
|
the Python 2 scripting language.
|
|
|
|
|
|
%package devel
|
|
Summary: Development files for %{name}
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: python-rpm-macros
|
|
Requires: python2-rpm-macros
|
|
Requires: pkgconfig
|
|
Requires: python2-setuptools
|
|
Requires: openEuler-rpm-config
|
|
Requires: python3-rpm-generators
|
|
Provides: python-devel = %{version}-%{release}
|
|
Provides: python-devel%{?_isa} = %{version}-%{release}
|
|
|
|
Obsoletes: python-test < %{version}-%{release}
|
|
Obsoletes: python-test%{?_isa} < %{version}-%{release}
|
|
|
|
Provides: python-test = %{version}-%{release}
|
|
Provides: python-test%{?_isa} = %{version}-%{release}
|
|
|
|
Obsoletes: %{name}-test < %{version}-%{release}
|
|
Obsoletes: %{name}-test%{?_isa} < %{version}-%{release}
|
|
Provides: %{name}-test = %{version}-%{release}
|
|
Provides: %{name}-test%{?_isa} = %{version}-%{release}
|
|
Requires: openEuler-rpm-config
|
|
|
|
%description devel
|
|
This package contains libraries and header files used to build applications
|
|
with and native libraries for Python2.
|
|
|
|
%package tools
|
|
Summary: A collection of development tools included with Python 2
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: %{name}-tkinter = %{version}-%{release}
|
|
Provides: python-tools = %{version}-%{release}
|
|
Provides: python-tools%{?_isa} = %{version}-%{release}
|
|
|
|
%description tools
|
|
This package includes several tools to help with the development of Python 2
|
|
programs, including IDLE (an IDE with editing and debugging facilities), a
|
|
color editor (pynche), and a python gettext program (pygettext.py).
|
|
|
|
%package help
|
|
Summary: Man pages for %{name}
|
|
BuildArch: noarch
|
|
|
|
%description help
|
|
%{summary}.
|
|
|
|
%package debug
|
|
Summary: Debug package for the Python 2 runtime
|
|
|
|
# The debug build is an all-in-one package version of the regular build, and
|
|
# shares the same .py/.pyc files and directories as the regular build. Hence
|
|
# we depend on all of the subpackages of the regular build:
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: %{name}-devel = %{version}-%{release}
|
|
Requires: %{name}-help = %{version}-%{release}
|
|
Requires: %{name}-tkinter = %{version}-%{release}
|
|
Requires: %{name}-tools = %{version}-%{release}
|
|
|
|
Provides: python-debug = %{version}-%{release}
|
|
|
|
%description debug
|
|
python2-debug provides a version of the Python 2 runtime with numerous debugging
|
|
features enabled, aimed at advanced Python users, such as developers of Python
|
|
extension modules.
|
|
|
|
This version uses more memory and will be slower than the regular Python 2 build,
|
|
but is useful for tracking down reference-counting issues, and other bugs.
|
|
|
|
The bytecodes are unchanged, so that .pyc files are compatible between the two
|
|
version of Python 2, but the debugging features mean that C/C++ extension modules
|
|
are ABI-incompatible with those built for the standard runtime.
|
|
|
|
It shares installation directories with the standard Python 2 runtime, so that
|
|
.py and .pyc files can be shared. All compiled extension modules gain a "_d"
|
|
suffix ("foo_d.so" rather than "foo.so") so that each Python 2 implementation can
|
|
load its own extensions.
|
|
|
|
%prep
|
|
%autosetup -n Python-%{version} -p1
|
|
sed -i "s/generic_os/%{_vendor}/g" Lib/platform.py
|
|
|
|
mv Modules/cryptmodule.c Modules/_cryptmodule.c
|
|
|
|
%build
|
|
topdir=$(pwd)
|
|
BuildPython() {
|
|
ConfName=$1
|
|
BinaryName=$2
|
|
SymlinkName=$3
|
|
PathFixWithThisBinary=$4
|
|
ExtraConfigArgs=$5
|
|
|
|
ConfDir=build/$ConfName
|
|
echo STARTING: BUILD OF PYTHON FOR CONFIGURATION: $ConfName
|
|
mkdir -p $ConfDir
|
|
pushd $ConfDir
|
|
|
|
%global _configure $topdir/configure
|
|
|
|
%configure \
|
|
--enable-ipv6 \
|
|
--enable-shared \
|
|
--enable-unicode=ucs4 \
|
|
--with-dbmliborder=gdbm:ndbm:bdb \
|
|
--with-system-expat \
|
|
--with-system-ffi \
|
|
--with-dtrace \
|
|
--with-tapset-install-dir=%{tapsetdir} \
|
|
--with-valgrind \
|
|
$ExtraConfigArgs
|
|
|
|
%make_build
|
|
|
|
#Fix "WARNING: mangling shebang, only for python2 optimized"
|
|
echo "PathFixWithThisBinary = " $PathFixWithThisBinary
|
|
if $PathFixWithThisBinary
|
|
then
|
|
LD_LIBRARY_PATH="$topdir/$ConfDir" ./$BinaryName \
|
|
$topdir/Tools/scripts/pathfix.py -i "%{_bindir}/python%{pybasever}" \
|
|
$topdir
|
|
fi
|
|
|
|
ln -s $BinaryName $SymlinkName
|
|
LD_LIBRARY_PATH="$topdir/$ConfDir" PATH=$PATH:$topdir/$ConfDir make -s EXTRA_CFLAGS="$CFLAGS" %{?_smp_mflags}
|
|
|
|
popd
|
|
echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfDir
|
|
}
|
|
|
|
BuildPython debug \
|
|
python-debug \
|
|
python%{pybasever}-debug \
|
|
false \
|
|
%ifarch %{ix86} x86_64 ppc %{power64}
|
|
"--with-pydebug --with-tsc --with-count-allocs --with-call-profile"
|
|
%else
|
|
"--with-pydebug --with-count-allocs --with-call-profile"
|
|
%endif
|
|
|
|
BuildPython optimized \
|
|
python \
|
|
python%{pybasever} \
|
|
true \
|
|
%ifarch %{ix86} x86_64
|
|
"--disable-optimizations" \
|
|
%else
|
|
""
|
|
%endif
|
|
|
|
%install
|
|
topdir=$(pwd)
|
|
rm -rf %{buildroot}
|
|
mkdir -p %{buildroot}%{_prefix} %{buildroot}%{_mandir}
|
|
|
|
for f in distutils/command/install distutils/sysconfig; do
|
|
rm -f Lib/$f.py.lib64
|
|
done
|
|
|
|
InstallPython() {
|
|
ConfName=$1
|
|
BinaryName=$2
|
|
PyInstSoName=$3
|
|
|
|
ConfDir=build/$ConfName
|
|
echo STARTING: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName - %{_bindir}/$BinaryName
|
|
mkdir -p $ConfDir
|
|
pushd $ConfDir
|
|
|
|
%make_install
|
|
chrpath -d $(find %{buildroot} -name pyexpat.so)
|
|
|
|
DirHoldingGdbPy=%{_prefix}/lib/debug/%{_libdir}
|
|
PathOfGdbPy=$DirHoldingGdbPy/$PyInstSoName-%{version}-%{release}.%{_arch}.debug-gdb.py
|
|
|
|
mkdir -p %{buildroot}$DirHoldingGdbPy
|
|
cp $topdir/Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy
|
|
|
|
# Manually byte-compile the file, in case find-debuginfo.sh is run before
|
|
# brp-python-bytecompile, so that the .pyc/.pyo files are properly listed in
|
|
# the debuginfo manifest:
|
|
LD_LIBRARY_PATH="$topdir/$ConfDir" $topdir/$ConfDir/$BinaryName \
|
|
-c "import compileall; import sys; compileall.compile_dir('%{buildroot}$DirHoldingGdbPy', ddir='$DirHoldingGdbPy')"
|
|
|
|
LD_LIBRARY_PATH="$topdir/$ConfDir" $topdir/$ConfDir/$BinaryName -O \
|
|
-c "import compileall; import sys; compileall.compile_dir('%{buildroot}$DirHoldingGdbPy', ddir='$DirHoldingGdbPy')"
|
|
|
|
popd
|
|
echo FINISHED: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName
|
|
}
|
|
|
|
InstallPython debug \
|
|
python%{pybasever}-debug \
|
|
%{py_INSTSONAME_debug}
|
|
|
|
InstallPython optimized \
|
|
python%{pybasever} \
|
|
%{py_INSTSONAME_optimized}
|
|
|
|
install -d -m755 %{buildroot}/%{_prefix}/lib/python%{pybasever}/site-packages
|
|
|
|
mv %{buildroot}%{_bindir}/idle %{buildroot}%{_bindir}/idle%{pybasever}
|
|
%{__ln_s} idle%{pybasever} %{buildroot}%{_bindir}/idle2
|
|
%{__ln_s} idle2 %{buildroot}%{_bindir}/idle
|
|
|
|
mv %{buildroot}%{_bindir}/pydoc %{buildroot}%{_bindir}/pydoc%{pybasever}
|
|
%{__ln_s} pydoc%{pybasever} %{buildroot}%{_bindir}/pydoc2
|
|
%{__ln_s} pydoc2 %{buildroot}%{_bindir}/pydoc
|
|
|
|
mv %{buildroot}%{_bindir}/smtpd.py %{buildroot}%{_bindir}/smtpd%{pybasever}.py
|
|
%{__ln_s} smtpd%{pybasever}.py %{buildroot}%{_bindir}/smtpd2.py
|
|
%{__ln_s} smtpd2.py %{buildroot}%{_bindir}/smtpd.py
|
|
|
|
rm -f %{buildroot}%{pylibdir}/LICENSE.txt
|
|
find %{buildroot} -name "*.bat" | xargs rm -f
|
|
|
|
%global _pyconfig32_h pyconfig-32.h
|
|
%global _pyconfig64_h pyconfig-64.h
|
|
|
|
for Dir in python%{pybasever} python%{pybasever}-debug ; do
|
|
mv %{buildroot}%{_includedir}/$Dir/pyconfig.h \
|
|
%{buildroot}%{_includedir}/$Dir/pyconfig-64.h
|
|
cat > %{buildroot}%{_includedir}/$Dir/pyconfig.h << EOF
|
|
#include <bits/wordsize.h>
|
|
|
|
#if __WORDSIZE == 32
|
|
#include "%{_pyconfig32_h}"
|
|
#elif __WORDSIZE == 64
|
|
#include "%{_pyconfig64_h}"
|
|
#else
|
|
#error "Unknown word size"
|
|
#endif
|
|
EOF
|
|
done
|
|
ln -s ../../libpython%{pybasever}.so %{buildroot}%{pylibdir}/config/libpython%{pybasever}.so
|
|
|
|
#with systemtap
|
|
mkdir -p %{buildroot}%{tapsetdir}
|
|
sed -e "s|LIBRARY_PATH|%{_libdir}/%{py_INSTSONAME_debug}|" %{SOURCE1} \
|
|
> %{buildroot}%{tapsetdir}/libpython%{pybasever}-debug-64.stp
|
|
|
|
# Ensure the libs readable
|
|
%{__chmod} 755 %{buildroot}%{dynload_dir}/*.so
|
|
%{__chmod} 755 %{buildroot}%{_libdir}/libpython%{pybasever}.so.1.0
|
|
%{__chmod} 755 %{buildroot}%{_libdir}/libpython%{pybasever}_d.so.1.0
|
|
|
|
|
|
%check
|
|
#make test || :
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%license LICENSE
|
|
%doc README
|
|
%{_bindir}/pydoc*
|
|
%{_bindir}/{python,python2,python%{pybasever}}
|
|
|
|
%dir %{_prefix}/lib/python%{pybasever}
|
|
%dir %{_prefix}/lib/python%{pybasever}/site-packages
|
|
|
|
%{_libdir}/libpython%{pybasever}.so.1.0
|
|
|
|
%dir %{pylibdir}
|
|
%{dynload_dir}/
|
|
%exclude %{dynload_dir}/_ctypes_test.so
|
|
%exclude %{dynload_dir}/_tkinter.so
|
|
|
|
%dir %{site_packages}
|
|
%{site_packages}/README
|
|
%{pylibdir}/*.py*
|
|
%{pylibdir}/*.doc
|
|
%{pylibdir}/*.egg-info
|
|
%dir %{pylibdir}/bsddb
|
|
%{pylibdir}/bsddb/*.py*
|
|
%dir %{pylibdir}/compiler
|
|
%{pylibdir}/compiler/*.py*
|
|
%dir %{pylibdir}/ctypes
|
|
%{pylibdir}/ctypes/*.py*
|
|
%{pylibdir}/ctypes/macholib
|
|
%dir %{pylibdir}/curses
|
|
%{pylibdir}/curses/*.py*
|
|
%dir %{pylibdir}/distutils
|
|
%{pylibdir}/distutils/*.py*
|
|
%{pylibdir}/distutils/README
|
|
%{pylibdir}/distutils/command
|
|
%exclude %{pylibdir}/distutils/command/*.exe
|
|
%dir %{pylibdir}/email
|
|
%{pylibdir}/email/*.py*
|
|
%{pylibdir}/email/mime
|
|
%{pylibdir}/encodings
|
|
%{pylibdir}/hotshot
|
|
%{pylibdir}/idlelib
|
|
%{pylibdir}/importlib
|
|
%dir %{pylibdir}/json
|
|
%{pylibdir}/json/*.py*
|
|
%{pylibdir}/lib2to3
|
|
%exclude %{pylibdir}/lib2to3/tests
|
|
%{pylibdir}/logging
|
|
%{pylibdir}/multiprocessing
|
|
%{pylibdir}/plat-linux2
|
|
%{pylibdir}/pydoc_data
|
|
%dir %{pylibdir}/sqlite3
|
|
%{pylibdir}/sqlite3/*.py*
|
|
%{pylibdir}/unittest
|
|
%{pylibdir}/wsgiref
|
|
%{pylibdir}/xml
|
|
%dir %{pylibdir}/ensurepip
|
|
%{pylibdir}/ensurepip/*.py*
|
|
%exclude %{pylibdir}/ensurepip/_bundled
|
|
%dir %{pylibdir}/test
|
|
%{pylibdir}/test/__init__.py*
|
|
%{pylibdir}/test/support/
|
|
%{pylibdir}/test/script_helper.py*
|
|
%{pylibdir}/test/test_support.py*
|
|
|
|
%files tkinter
|
|
%defattr(-,root,root)
|
|
%{pylibdir}/lib-tk
|
|
%{dynload_dir}/_tkinter.so
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
#Development files
|
|
%{pylibdir}/config/
|
|
%{_includedir}/python%{pybasever}/*.h
|
|
%{_libdir}/pkgconfig/python*.pc
|
|
%{_libdir}/libpython%{pybasever}.so
|
|
%{_bindir}/python*-config
|
|
%{pylibdir}/distutils/command/wininst-*.exe
|
|
%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
|
|
|
|
#Tests
|
|
%{pylibdir}/bsddb/test
|
|
%{pylibdir}/ctypes/test
|
|
%{pylibdir}/distutils/tests
|
|
%{pylibdir}/email/test
|
|
%{pylibdir}/json/tests
|
|
%{pylibdir}/lib2to3/tests
|
|
%{pylibdir}/sqlite3/test
|
|
%{pylibdir}/test/*
|
|
%exclude %{pylibdir}/test/allsans.pem
|
|
%exclude %{pylibdir}/test/badcert.pem
|
|
%exclude %{pylibdir}/test/badkey.pem
|
|
%exclude %{pylibdir}/test/keycert2.pem
|
|
%exclude %{pylibdir}/test/keycert3.pem
|
|
%exclude %{pylibdir}/test/keycert4.pem
|
|
%exclude %{pylibdir}/test/keycert.pem
|
|
%exclude %{pylibdir}/test/ssl_key.pem
|
|
%exclude %{pylibdir}/test/ssl_key.passwd.pem
|
|
%exclude %{pylibdir}/test/keycert.passwd.pem
|
|
%exclude %{pylibdir}/test/__init__.py*
|
|
%exclude %{pylibdir}/test/support/
|
|
%exclude %{pylibdir}/test/script_helper.py*
|
|
%exclude %{pylibdir}/test/test_support.py*
|
|
%{dynload_dir}/_ctypes_test.so
|
|
|
|
%files tools
|
|
%{_bindir}/idle*
|
|
%{_bindir}/smtpd*.py*
|
|
%exclude %{_bindir}/2to3*
|
|
|
|
%files help
|
|
%defattr(-,root,root)
|
|
%{_mandir}/man1/python*.1.*
|
|
|
|
%files debug
|
|
/usr/lib/debug/usr/lib64/libpython*.debug-gdb.py*
|
|
|
|
# Analog of the core subpackage's files:
|
|
%{_bindir}/python-debug
|
|
%{_bindir}/python2-debug
|
|
%{_bindir}/python%{pybasever}-debug
|
|
|
|
# Analog of the -libs subpackage's files, with debug builds of the built-in
|
|
# "extension" modules:
|
|
|
|
%{dynload_dir}/_md5module_d.so
|
|
%{dynload_dir}/_sha256module_d.so
|
|
%{dynload_dir}/_sha512module_d.so
|
|
%{dynload_dir}/_shamodule_d.so
|
|
|
|
%{dynload_dir}/_bisectmodule_d.so
|
|
%{dynload_dir}/_bsddb_d.so
|
|
%{dynload_dir}/_codecs_cn_d.so
|
|
%{dynload_dir}/_codecs_hk_d.so
|
|
%{dynload_dir}/_codecs_iso2022_d.so
|
|
%{dynload_dir}/_codecs_jp_d.so
|
|
%{dynload_dir}/_codecs_kr_d.so
|
|
%{dynload_dir}/_codecs_tw_d.so
|
|
%{dynload_dir}/_collectionsmodule_d.so
|
|
%{dynload_dir}/_csv_d.so
|
|
%{dynload_dir}/_ctypes_d.so
|
|
%{dynload_dir}/_curses_d.so
|
|
%{dynload_dir}/_curses_panel_d.so
|
|
%{dynload_dir}/_elementtree_d.so
|
|
%{dynload_dir}/_functoolsmodule_d.so
|
|
%{dynload_dir}/_hashlib_d.so
|
|
%{dynload_dir}/_heapq_d.so
|
|
%{dynload_dir}/_hotshot_d.so
|
|
%{dynload_dir}/_io_d.so
|
|
%{dynload_dir}/_json_d.so
|
|
%{dynload_dir}/_localemodule_d.so
|
|
%{dynload_dir}/_lsprof_d.so
|
|
%{dynload_dir}/_multibytecodecmodule_d.so
|
|
%{dynload_dir}/_multiprocessing_d.so
|
|
%{dynload_dir}/_randommodule_d.so
|
|
%{dynload_dir}/_socketmodule_d.so
|
|
%{dynload_dir}/_sqlite3_d.so
|
|
%{dynload_dir}/_ssl_d.so
|
|
%{dynload_dir}/_struct_d.so
|
|
%{dynload_dir}/arraymodule_d.so
|
|
%{dynload_dir}/audioop_d.so
|
|
%{dynload_dir}/binascii_d.so
|
|
%{dynload_dir}/bz2_d.so
|
|
%{dynload_dir}/cPickle_d.so
|
|
%{dynload_dir}/cStringIO_d.so
|
|
%{dynload_dir}/cmathmodule_d.so
|
|
%{dynload_dir}/_cryptmodule_d.so
|
|
%{dynload_dir}/datetime_d.so
|
|
%{dynload_dir}/dbm_d.so
|
|
%{dynload_dir}/dlmodule_d.so
|
|
%{dynload_dir}/fcntlmodule_d.so
|
|
%{dynload_dir}/future_builtins_d.so
|
|
#with_gdbm
|
|
%{dynload_dir}/gdbmmodule_d.so
|
|
#%endif
|
|
%{dynload_dir}/grpmodule_d.so
|
|
%{dynload_dir}/imageop_d.so
|
|
%{dynload_dir}/itertoolsmodule_d.so
|
|
%{dynload_dir}/linuxaudiodev_d.so
|
|
%{dynload_dir}/math_d.so
|
|
%{dynload_dir}/mmapmodule_d.so
|
|
%{dynload_dir}/nismodule_d.so
|
|
%{dynload_dir}/operator_d.so
|
|
%{dynload_dir}/ossaudiodev_d.so
|
|
%{dynload_dir}/parsermodule_d.so
|
|
%{dynload_dir}/pyexpat_d.so
|
|
%{dynload_dir}/readline_d.so
|
|
%{dynload_dir}/resource_d.so
|
|
%{dynload_dir}/selectmodule_d.so
|
|
%{dynload_dir}/spwdmodule_d.so
|
|
%{dynload_dir}/stropmodule_d.so
|
|
%{dynload_dir}/syslog_d.so
|
|
%{dynload_dir}/termios_d.so
|
|
%{dynload_dir}/timemodule_d.so
|
|
%{dynload_dir}/timingmodule_d.so
|
|
%{dynload_dir}/unicodedata_d.so
|
|
%{dynload_dir}/xxsubtype_d.so
|
|
%{dynload_dir}/zlibmodule_d.so
|
|
|
|
# No need to split things out the "Makefile" and the config-32/64.h file as we
|
|
# do for the regular build above (bug 531901), since they're all in one package
|
|
# now; they're listed below, under "-devel":
|
|
|
|
%{_libdir}/%{py_INSTSONAME_debug}
|
|
#with_systemtap
|
|
%dir %(dirname %{tapsetdir})
|
|
%dir %{tapsetdir}
|
|
%{tapsetdir}/libpython%{pybasever}-debug-64.stp
|
|
#%endif
|
|
|
|
# Analog of the -devel subpackage's files:
|
|
%dir %{pylibdir}/config-debug
|
|
%{_libdir}/pkgconfig/python-%{pybasever}-debug.pc
|
|
%{_libdir}/pkgconfig/python-debug.pc
|
|
%{_libdir}/pkgconfig/python2-debug.pc
|
|
%{pylibdir}/config-debug/*
|
|
%{_includedir}/python%{pybasever}-debug/*.h
|
|
%{_bindir}/python-debug-config
|
|
%{_bindir}/python2-debug-config
|
|
%{_bindir}/python%{pybasever}-debug-config
|
|
%{_libdir}/libpython%{pybasever}_d.so
|
|
|
|
# Analog of the -tools subpackage's files:
|
|
# None for now; we could build precanned versions that have the appropriate
|
|
# shebang if needed
|
|
|
|
#%_module_build
|
|
# Analog of the tkinter subpackage's files:
|
|
%{dynload_dir}/_tkinter_d.so
|
|
#%endif
|
|
|
|
# Analog of the -test subpackage's files:
|
|
%{dynload_dir}/_ctypes_test_d.so
|
|
%{dynload_dir}/_testcapimodule_d.so
|
|
|
|
%changelog
|
|
* Wed Dec 25 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-8
|
|
- exclude private key; provide some file in python2-devel
|
|
|
|
* Sat Dec 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-7
|
|
- Type:bugfix
|
|
- Id:NA
|
|
- SUG:NA
|
|
- DESC:fix CVE
|
|
|
|
* Thu Nov 28 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-6
|
|
- add _pyconfig32_h _pyconfig64_h global var
|
|
|
|
* Thu Nov 28 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-5
|
|
- add python2-debug
|
|
|
|
* Fri Oct 18 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-4
|
|
- add generic os support
|
|
|
|
* Tue Oct 15 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-3
|
|
- Provides python2-test
|
|
|
|
* Wed Sep 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-2
|
|
- Package init
|
|
|
|
* Tue Sep 25 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.16-1
|
|
- Package init
|