Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
python3-base.3539
python3.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File python3.spec of Package python3-base.3539
# # spec file for package python3 # # Copyright (c) 2016 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: python3 BuildRequires: automake BuildRequires: db-devel BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gdbm-devel BuildRequires: gettext-tools BuildRequires: gmp-devel BuildRequires: intltool BuildRequires: libbz2-devel BuildRequires: libexpat-devel BuildRequires: libffi-devel BuildRequires: libopenssl-devel BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: sqlite-devel BuildRequires: tk-devel BuildRequires: xorg-x11-devel BuildRequires: xz BuildRequires: xz-devel Url: http://www.python.org/ Summary: Python3 Interpreter License: Python-2.0 Group: Development/Languages/Python Version: 3.4.5 Release: 0 %define tarversion %{version} %define tarname Python-%{tarversion} Requires: python3-base = %{version} Recommends: python3-pip Suggests: python3-curses Suggests: python3-dbm Suggests: python3-idlelib Suggests: python3-tk Source0: http://www.python.org/ftp/python/%{version}/%{tarname}.tar.xz Source1: baselibs.conf Source2: python3-rpmlintrc #Source11: testfiles.tar.bz2 # issues with copyrighted Unicode testing files # do not add patches here, please edit python3-base.spec instead # and run pre_checkin.sh # # see PACKAGING-NOTES for details ### COMMON-PATCH-BEGIN ### # implement "--record-rpm" option for distutils installations Patch01: Python-3.0b1-record-rpm.patch # support lib-vs-lib64 distinction Patch02: Python-3.3.0b2-multilib.patch # securing usage of readlink/realpath in PySys_SetArgv Patch03: python-2.6b1-canonicalize2.patch # support finding packages in /usr/local, install to /usr/local by default Patch04: python-3.3.0b1-localpath.patch # replace DATE, TIME and COMPILER by fixed definitions to aid reproducible builds Patch06: python-3.3.0b1-fix_date_time_compiler.patch # fix wrong include path in curses-panel module Patch07: python-3.3.0b1-curses-panel.patch # POSIX_FADV_WILLNEED throws EINVAL. Use a different constant in test Patch09: python-3.3.0b1-test-posix_fadvise.patch # Add missing bits for aarch64 in libffi Patch10: ctypes-libffi-aarch64.patch # Disable global and distutils sysconfig comparison test, we deviate from the default depending on optflags Patch12: python-3.3.3-skip-distutils-test_sysconfig_module.patch # Raise timeout value for test_subprocess Patch15: subprocess-raise-timeout.patch # PATCH-FIX-UPSTREAM Fix argument passing in libffi for aarch64 Patch18: python-2.7-libffi-aarch64.patch # PATCH-FIX-UPSTREAM Prefer lowercase proxy environment variables Patch19: python3-urllib-prefer-lowercase-proxies.patch # PATCH-FIX-UPSTREAM Prevent HTTPoxy vulnerability Patch20: python-3.4-CVE-2016-1000110-fix.patch ### COMMON-PATCH-END ### BuildRoot: %{_tmppath}/%{name}-%{version}-build # do not add defs here, please edit python3-base.spec instead # and run pre_checkin.sh # # see PACKAGING-NOTES for details ### COMMON-DEF-BEGIN ### # the versions are autogenerated from pre_checkin.sh # based on the current source tarball %define python_version 3.4 %define python_version_abitag 34 %define python_version_soname 3_4 %define sitedir %{_libdir}/python%{python_version} # three possible ABI kinds: m - pymalloc, d - debug build # see PEP 3149 %define abi_kind m # python ABI version - used in some file names %define python_abi %{python_version}%{abi_kind} # soname ABI tag defined in PEP 3149 %define abi_tag %{python_version_abitag}%{abi_kind} %define so_version %{python_version_soname}%{abi_kind}1_0 %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}.so ### COMMON-DEF-END ### # some compatibility Provides Provides: python = %{python_version} Provides: python3 = %{python_version} Provides: python3-xml = %{version} Obsoletes: python3-xml < %{version} %description Python 3 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. Authors: -------- Guido van Rossum <guido@python.org> %package tk Requires: %{name} = %{version} Summary: TkInter - Python Tk Interface Group: Development/Libraries/Python %description tk Python interface to Tk. Tk is the GUI toolkit that comes with Tcl. The "xrpm" package uses this Python interface. %package curses Requires: %{name} = %{version} Summary: Python Interface to the (N)Curses Library Group: Development/Libraries/Python %description curses An easy to use interface to the (n)curses CUI library. CUI stands for Console User Interface. %package dbm Requires: %{name} = %{version} Summary: Python Interface to the GDBM Library Group: Development/Languages/Python %description dbm An easy to use interface for Unix DBM databases, and more specifically, the GNU implementation GDBM. %prep %setup -q -n %{tarname} ### COMMON-PREP-BEGIN ### %patch01 -p1 %patch02 -p1 #%%patch03 #- canonicalize disabled, needs testing whether the exploit still works %patch04 -p1 %patch06 -p1 %patch07 %patch09 -p1 %patch10 -p1 %patch12 -p1 %patch15 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac # fix shebangs - convert /usr/local/bin/python and /usr/bin/env/python to /usr/bin/python3 for dir in Lib Tools; do # find *.py, filter to files that contain bad shebangs find $dir -name '*.py' -type f -print0 \ | xargs -0 grep -lE '^#! *(/usr/.*bin/(env +)?)?python' \ | xargs sed -r -i -e '1s@^#![[:space:]]*(/usr/(local/)?bin/(env +)?)?python([0-9]+(\.[0-9]+)?)?@#!/usr/bin/python3@' done ### COMMON-PREP-END ### %build export SUSE_ASNEEDED=0 export OPT="%{optflags} -DOPENSSL_LOAD_CONF" autoreconf -f -i . # prevent make from trying to rebuild asdl stuff, which requires existing # python installation touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h Objects/typeslots.inc ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --docdir=%{_docdir}/python \ --enable-ipv6 \ --with-fpectl \ --enable-shared \ --with-system-ffi \ --with-system-expat \ --with-ensurepip=no make %{?_smp_mflags} # DESTDIR=$RPM_BUILD_ROOT %check # Limit virtual memory to avoid spurious failures if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then ulimit -v 10000000 || : fi # only test the parts skipped in python3-base TESTS="test_dbm_gnu test_dbm_ndbm test_readline test_ssl test_tcl test_tk test_ttk_guionly test_ttk_textonly test_curses test_socketserver test_sqlite test_hashlib test_smtpnet" # ensurepip-based tests TESTS="$TESTS test_venv test_ensurepip test_tools" # and the rest of the newly excluded stuff TESTS="$TESTS test_urllib test_urllib2 test_urllib2net" make test TESTOPTS="-u none $TESTS" %install make \ OPT="%{optflags} -fPIC" \ DESTDIR=$RPM_BUILD_ROOT \ install # clean out stuff that is in python-base and subpackages rm $RPM_BUILD_ROOT%{_bindir}/* rm $RPM_BUILD_ROOT%{_libdir}/lib* rm -r $RPM_BUILD_ROOT%{_libdir}/pkgconfig rm -r $RPM_BUILD_ROOT%{_mandir}/* rm -r $RPM_BUILD_ROOT%{_includedir}/* rm -r $RPM_BUILD_ROOT%{sitedir}/config* find $RPM_BUILD_ROOT%{sitedir} -name "*.egg-info" -exec rm {} ";" rm -r $RPM_BUILD_ROOT%{sitedir}/__pycache__ rm -r $RPM_BUILD_ROOT%{sitedir}/site-packages rm $RPM_BUILD_ROOT%{sitedir}/*.* for module in \ asyncio ctypes collections concurrent distutils email encodings \ html http \ importlib json logging multiprocessing plat-* pydoc_data unittest \ urllib venv wsgiref lib2to3 test idlelib turtledemo do rm -r $RPM_BUILD_ROOT%{sitedir}/$module done for library in \ array audioop binascii _bisect _bz2 cmath _codecs_* _crypt _csv \ _ctypes _datetime _decimal _elementtree fcntl grp _heapq _json _lsprof \ _lzma math mmap _multibytecodec _multiprocessing nis _opcode ossaudiodev \ parser _pickle _posixsubprocess _random resource select _socket spwd \ _struct syslog termios _testbuffer _testimportmultiple time unicodedata zlib \ _ctypes_test _testcapi xxlimited \ _md5 _sha1 _sha256 _sha512 do eval rm "$RPM_BUILD_ROOT%{sitedir}/lib-dynload/$library.*" done %fdupes $RPM_BUILD_ROOT/%{_libdir}/python%{python_version} %files tk %defattr(644, root, root, 755) %{sitedir}/tkinter %exclude %{sitedir}/tkinter/test %{dynlib _tkinter} %files curses %defattr(644, root, root, 755) %{sitedir}/curses %{dynlib _curses} %{dynlib _curses_panel} %files dbm %defattr(644, root, root, 755) %{sitedir}/dbm %{dynlib _dbm} %{dynlib _gdbm} %files %defattr(644, root, root, 755) %dir %{sitedir} %dir %{sitedir}/lib-dynload %{sitedir}/ensurepip %{sitedir}/sqlite3 %exclude %{sitedir}/sqlite3/test %{sitedir}/xml %{sitedir}/xmlrpc %{dynlib _hashlib} %{dynlib pyexpat} %{dynlib readline} %{dynlib _sqlite3} %{dynlib _ssl} %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