Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
python.10013
python.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File python.spec of Package python.10013
# # spec file for package python # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: python Version: 2.7.14 Release: 0 Summary: Python Interpreter License: Python-2.0 Group: Development/Languages/Python Url: http://www.python.org/ %define tarversion %{version} %define tarname Python-%{tarversion} Source0: http://www.python.org/ftp/python/%{version}/%{tarname}.tar.xz Source1: README.SUSE Source2: pythonstart Source3: python.sh Source4: python.csh Source8: sle_tls_checks_policy.py #Source11: testfiles.tar.bz2 # issues with copyrighted Unicode testing files # !!!!!!!!!!!!!! # do not add or edit patches here. please edit python-base.spec # instead and run pre_checkin.sh # !!!!!!!!!!!!!! # COMMON-PATCH-BEGIN Patch1: python-2.7-dirs.patch Patch2: python-distutils-rpm-8.patch Patch3: python-2.7.5-multilib.patch Patch4: python-2.5.1-sqlite.patch Patch5: python-2.7.4-canonicalize2.patch Patch7: python-2.6-gettext-plurals.patch Patch8: python-2.6b3-curses-panel.patch Patch10: sparc_longdouble.patch Patch13: python-2.7.2-fix_date_time_compiler.patch Patch17: remove-static-libpython.diff # PATCH-FEATURE-OPENSUSE python-bundle-lang.patch bnc#617751 dimstar@opensuse.org -- gettext: when looking in default_localedir also check in locale-bundle. Patch20: python-bundle-lang.patch # PATCH-FIX-UPSTREAM Fix argument passing in libffi for aarch64 Patch22: python-2.7-libffi-aarch64.patch Patch24: python-bsddb6.diff # PATCH-FIX-UPSTREAM accept directory-based CA paths as well Patch33: python-2.7.9-ssl_ca_path.patch # PATCH-FEATURE-SLE disable SSL verification-by-default in http clients Patch34: python-2.7.9-sles-disable-verification-by-default.patch # PATCH-FIX-UPSTREAM python-ncurses-6.0-accessors.patch dimstar@opensuse.org -- Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1 Patch35: python-ncurses-6.0-accessors.patch # PATCH-FIX-UPSTREAM bmwiedemann@suse.de -- allow python packages to build reproducibly Patch38: reproducible.patch # PATCH-FIX-UPSTREAM taken from upstream fix py3 shebang Patch39: python-fix-shebang.patch # bypass boo#1078485 random failing tests Patch40: python-skip_random_failing_tests.patch # PATCH-FIX-UPSTREAM sorted tar https://github.com/python/cpython/pull/2263 Patch41: python-sorted_tar.patch # PATCH-FIX-UPSTREAM CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch mcepl@suse.com # Suggested in https://github.com/python/cpython/commit/add531a1e55b.patch Patch42: CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch # PATCH-FIX-UPSTREAM CVE-2019-5010-null-defer-x509-cert-DOS.patch bnc#1122191 mcepl@suse.com # https://github.com/python/cpython/pull/11569 # Fix segfault in ssl's cert parser Patch43: CVE-2019-5010-null-defer-x509-cert-DOS.patch # # COMMON-PATCH-END BuildRequires: automake BuildRequires: db-devel BuildRequires: fdupes BuildRequires: gdbm-devel BuildRequires: gmp-devel BuildRequires: libbz2-devel BuildRequires: libnsl-devel BuildRequires: libopenssl-devel BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: sqlite-devel BuildRequires: tk-devel BuildRequires: xz BuildRequires: pkgconfig(x11) %define python_version %(echo %{tarversion} | head -c 3) %define idle_name idle Requires: python-base = %{version} %if %{suse_version} == 1315 && !0%{?is_opensuse} Recommends: python-strict-tls-check %endif Provides: %{name} = %{python_version} Provides: python2 = %{version} Obsoletes: python-elementtree Obsoletes: python-nothreads Obsoletes: python-sqlite Obsoletes: python21 # bug437293 %ifarch ppc64 Obsoletes: python-64bit %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Python is an interpreted, object-oriented programming language, and is often compared to Tcl, Perl, Scheme, or Java. You can find an overview of Python in the documentation and tutorials included in the python-doc (HTML) or python-doc-pdf (PDF) packages. If you want to install third party modules using distutils, you need to install python-devel package. %package idle Summary: An Integrated Development Environment for Python Group: Development/Languages/Python Requires: python-base = %{version} Requires: python-tk Provides: python2-idle = %{version} %description idle IDLE is a Tkinter based integrated development environment for Python. It features a multi-window text editor with multiple undo, Python colorizing, and many other things, as well as a Python shell window and a debugger. %package demo Summary: Python Demonstration Scripts Group: Development/Languages/Python Requires: python-base = %{version} Provides: pyth_dmo Obsoletes: pyth_dmo Provides: python2-demo = %{version} %description demo Various demonstrations of what you can do with Python and a number of programs that are useful for building or extending Python. %package tk Summary: TkInter - Python Tk Interface Group: Development/Libraries/Python Requires: python-base = %{version} Provides: pyth_tk Provides: pyth_tkl Provides: python-tkinter Provides: python_tkinter_lib #%ifarch %ix86 #Provides: _tkinter.so #%endif Obsoletes: pyth_tk Obsoletes: pyth_tkl Obsoletes: python-tkinter Provides: python2-tk = %{version} %description tk Python interface to Tk. Tk is the GUI toolkit that comes with Tcl. The "xrpm" package uses this Python interface. %package curses Summary: Python Interface to the (N)Curses Library Group: Development/Libraries/Python Requires: python-base = %{version} Obsoletes: pyth_cur Provides: pyth_cur Provides: python2-curses = %{version} %description curses An easy to use interface to the (n)curses CUI library. CUI stands for Console User Interface. %package gdbm Summary: Python Interface to the GDBM Library Group: Development/Libraries/Python Requires: python-base = %{version} Obsoletes: pygdmod Provides: pygdmod Provides: python2-gdbm = %{version} %description gdbm An easy to use interface for GDBM databases. GDBM is the GNU implementation of the standard Unix DBM databases. %if %{suse_version} == 1315 && !0%{?is_opensuse} %package strict-tls-check Summary: Enable secure verification of TLS certificates Group: Development/Libraries/Python Requires: %{name} = %{version} Supplements: %{name} %description strict-tls-check When this package is present, Python performs strict verification of TLS certificates, including hostname check, by default. This is the preferred secure setting. It is distributed as a separate package, because this behavior can cause verification errors in improperly written legacy scripts that rely on earlier non-verification behavior. %endif %prep %setup -q -n %{tarname} # COMMON-PREP-BEGIN %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch7 -p1 %patch8 -p1 %patch10 -p1 %patch13 -p1 %patch17 -p1 %patch20 -p1 %patch22 -p1 %patch24 -p1 %patch33 -p1 %if %{suse_version} == 1315 && !0%{?is_opensuse} %patch34 -p1 %endif %patch35 -p1 %patch38 -p1 %patch39 -p1 %ifarch ppc ppc64 ppc64le %patch40 -p1 %endif %patch41 -p1 %patch42 -p1 %patch43 -p1 # drop Autoconf version requirement sed -i 's/^version_required/dnl version_required/' configure.ac # COMMON-PREP-END %if %{suse_version} == 1315 && !0%{?is_opensuse} cp %{SOURCE8} Lib/ %endif %build export OPT="%{optflags} -DOPENSSL_LOAD_CONF -fwrapv" autoreconf -f -i . # Modules/_ctypes/libffi # prevent make from trying to rebuild asdl stuff, which requires existing # python installation touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h %configure \ --docdir=%{_docdir}/python \ --enable-ipv6 \ --with-fpectl \ --enable-shared \ --enable-unicode=ucs4 LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH \ make %{?_smp_mflags} %check # on hppa, the threading of glibc is quite broken. The tests just stop # at some point, and the machine does not build anything more until a # timeout several hours later. %ifnarch hppa # Limit virtual memory to avoid spurious failures if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then ulimit -v 10000000 || : fi LIST="test_urllib test_ssl test_hashlib test_hmac test_urllib2_localnet test_unicodedata test_tarfile test_sqlite test_tcl test_dbm test_anydbm test_dumbdbm test_gdbm test_whichdb test_tk test_ttk_textonly test_bsddb test_bsddb3 test_readline" make test TESTOPTS="$LIST" TESTPYTHONOPTS="-R" %endif %install # replace rest of /usr/local/bin/python or /usr/bin/python2.x with /usr/bin/python find . -name '*.py' -type f | grep -vE "^./Parser/|^./Python/" \ | xargs grep -lE '^#! *(/usr/.*bin/(env +)?)?python' \ | xargs sed -r -i -e '1s@^#![[:space:]]*(/usr/(local/)?bin/(env +)?)?python([0-9]+\.[0-9]+)?@#!/usr/bin/python@' # the grep inbetween makes it much faster ######################################## # install it ######################################## %make_install OPT="%{optflags} -fPIC" ######################################## # some cleanups ######################################## # remove hard links and replace them with symlinks for dir in bin include %{_lib} ; do rm -f %{buildroot}/%{_prefix}/$dir/python ln -s python%{python_version} %{buildroot}/%{_prefix}/$dir/python done # kill imageop.so, it's insecure rm -f %{buildroot}/%{_libdir}/python%{python_version}/lib-dynload/imageop.so #cleanup for -base rm %{buildroot}%{_bindir}/python%{python_version} rm %{buildroot}%{_bindir}/python2 rm %{buildroot}%{_bindir}/python rm %{buildroot}%{_bindir}/smtpd.py rm %{buildroot}%{_bindir}/pydoc rm %{buildroot}%{_bindir}/2to3 rm %{buildroot}%{_mandir}/man1/python* rm %{buildroot}%{_libdir}/libpython*.so.* rm %{buildroot}%{_libdir}/python find %{buildroot}%{_libdir}/python%{python_version} -maxdepth 1 \ ! \( -name "ssl.py*" -o -name "sle_tls_checks_policy.py*" \) \ -exec rm {} ";" rm %{buildroot}%{_bindir}/python%{python_version}-config rm %{buildroot}%{_bindir}/python2-config rm %{buildroot}%{_bindir}/python-config rm %{buildroot}%{_libdir}/pkgconfig/* rm -r %{buildroot}%{_includedir}/python rm -r %{buildroot}%{_includedir}/python%{python_version} rm -r %{buildroot}%{_libdir}/python%{python_version}/compiler rm -r %{buildroot}%{_libdir}/python%{python_version}/config rm -r %{buildroot}%{_libdir}/python%{python_version}/ctypes rm -r %{buildroot}%{_libdir}/python%{python_version}/distutils rm -r %{buildroot}%{_libdir}/python%{python_version}/email rm -r %{buildroot}%{_libdir}/python%{python_version}/encodings rm -r %{buildroot}%{_libdir}/python%{python_version}/ensurepip rm -r %{buildroot}%{_libdir}/python%{python_version}/hotshot rm -r %{buildroot}%{_libdir}/python%{python_version}/importlib rm -r %{buildroot}%{_libdir}/python%{python_version}/json rm -r %{buildroot}%{_libdir}/python%{python_version}/lib2to3 rm -r %{buildroot}%{_libdir}/python%{python_version}/logging rm -r %{buildroot}%{_libdir}/python%{python_version}/multiprocessing rm -r %{buildroot}%{_libdir}/python%{python_version}/plat-* rm -r %{buildroot}%{_libdir}/python%{python_version}/pydoc_data rm -r %{buildroot}%{_libdir}/python%{python_version}/test rm -r %{buildroot}%{_libdir}/python%{python_version}/unittest rm -r %{buildroot}%{_libdir}/python%{python_version}/wsgiref rm -r %{buildroot}%{_libdir}/python%{python_version}/xml rm %{buildroot}%{_libdir}/libpython%{python_version}.so rm %{buildroot}%{_libdir}/python%{python_version}/site-packages/README rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_bisect.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_csv.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_collections.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_ctypes.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_ctypes_test.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_elementtree.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_functools.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_heapq.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_hotshot.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_io.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_json.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_locale.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_lsprof.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_multiprocessing.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_random.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_socket.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_struct.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_testcapi.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/array.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/binascii.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/bz2.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/cPickle.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/cStringIO.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/cmath.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/crypt.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/datetime.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/fcntl.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/future_builtins.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/grp.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/itertools.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/linuxaudiodev.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/math.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/mmap.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/nis.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/operator.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/ossaudiodev.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/parser.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/pyexpat.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/resource.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/select.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/spwd.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/strop.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/syslog.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/termios.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/time.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/unicodedata.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/zlib.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_codecs*.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/_multibytecodec.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/audioop.so rm -f %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/dl.so rm %{buildroot}%{_libdir}/python%{python_version}/lib-dynload/Python-%{tarversion}-py%{python_version}.egg-info # replace duplicate .pyo/.pyc with hardlinks %fdupes %{buildroot}/%{_libdir}/python%{python_version} ######################################## # documentation ######################################## export PDOCS=%{buildroot}%{_docdir}/%{name} install -d -m 755 $PDOCS install -c -m 644 %{SOURCE1} $PDOCS/ install -c -m 644 LICENSE $PDOCS/ install -c -m 644 README $PDOCS/ ######################################## # tools and demos ######################################## find Tools/ Demo/ -type d \( -regex ".*/.cvsignore" \) -exec rm -f \{\} \; for x in `find Tools/ Demo/ \( -not -name Makefile \) -print | sort` ; do test -d $x && ( install -c -m 755 -d $PDOCS/$x ) \ || ( install -c -m 644 $x $PDOCS/$x ) done ######################################## # idle ######################################## # move idle config into /etc install -d -m755 %{buildroot}%{_sysconfdir}/%{idle_name} ( cd %{buildroot}/%{_libdir}/python%{python_version}/idlelib/ for file in *.def ; do mv $file %{buildroot}%{_sysconfdir}/%{idle_name}/ ln -sf /etc/%{idle_name}/$file %{buildroot}/%{_libdir}/python%{python_version}/idlelib/ done ) ######################################## # startup script ######################################## install -m 644 %{SOURCE2} %{buildroot}/etc install -d -m 755 %{buildroot}%{_sysconfdir}/profile.d install -m 644 %{SOURCE3} %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files idle %defattr(644, root, root, 755) %dir %{_sysconfdir}/%{idle_name} %config %{_sysconfdir}/%{idle_name}/* %doc Lib/idlelib/NEWS.txt %doc Lib/idlelib/README.txt %doc Lib/idlelib/TODO.txt %doc Lib/idlelib/extend.txt %doc Lib/idlelib/ChangeLog %{_libdir}/python%{python_version}/idlelib %attr(755, root, root) %{_bindir}/%{idle_name} %files demo %defattr(644, root, root, 755) %doc %{_docdir}/%{name}/Demo %doc %{_docdir}/%{name}/Tools %files tk %defattr(644, root, root, 755) %{_libdir}/python%{python_version}/lib-tk/ %{_libdir}/python%{python_version}/lib-dynload/_tkinter.so %files curses %defattr(644, root, root, 755) %{_libdir}/python%{python_version}/curses %{_libdir}/python%{python_version}/lib-dynload/_curses.so %{_libdir}/python%{python_version}/lib-dynload/_curses_panel.so %files gdbm %defattr(644, root, root, 755) %{_libdir}/python%{python_version}/lib-dynload/gdbm.so %{_libdir}/python%{python_version}/lib-dynload/dbm.so %if %{suse_version} == 1315 && !0%{?is_opensuse} %files strict-tls-check %defattr(644, root, root, 755) %{_libdir}/python%{python_version}/sle_tls_checks_policy.py* %endif %files %defattr(644, root, root, 755) %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/README %doc %{_docdir}/%{name}/LICENSE %doc %{_docdir}/%{name}/README.SUSE %config %{_sysconfdir}/pythonstart %config %{_sysconfdir}/profile.d/python.* %dir %{_libdir}/python%{python_version} %{_libdir}/python%{python_version}/ssl.py* %{_libdir}/python%{python_version}/bsddb %{_libdir}/python%{python_version}/sqlite3 %dir %{_libdir}/python%{python_version}/lib-dynload %{_libdir}/python%{python_version}/lib-dynload/_bsddb.so %{_libdir}/python%{python_version}/lib-dynload/_hashlib.so %{_libdir}/python%{python_version}/lib-dynload/_sqlite3.so %{_libdir}/python%{python_version}/lib-dynload/_ssl.so %{_libdir}/python%{python_version}/lib-dynload/readline.so %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor