Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:lafenghu
python3-base
python3.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File python3.spec of Package python3-base
# # spec file for package python3 # # Copyright (c) 2013 SUSE LINUX Products 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: libffi-devel BuildRequires: libopenssl-devel BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: sqlite-devel BuildRequires: tk-devel BuildRequires: xorg-x11-devel Url: http://www.python.org/ Summary: Python3 Interpreter License: Python-2.0 Group: Development/Languages/Python Version: 3.2.3 Release: 0 %define tarversion %{version} %define tarname Python-%{tarversion} Requires: python3-base = %{version} Source0: %{tarname}.tar.bz2 Source1: baselibs.conf #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.2.1-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.2.3rc2-localpath.patch # fix usage of "python" executable in "make install" Patch05: python-3.2b2-buildtime-generate.patch # replace DATE, TIME and COMPILER by fixed definitions to aid reproducible builds Patch06: python-3.2.1-fix_date_time_compiler.patch # fix wrong include path in curses-panel module Patch07: python-2.6b3-curses-panel.patch # disable test_io test on ppc Patch08: python-3.2.2-disable-tests-in-test_io.patch # fix .pypirc creation vulnerability Patch09: python-3.2.3rc2-pypirc-secure.patch # CVE-2013-4238 - incorrect handling of NULL bytes in SSL certificate fields Patch10: CVE-2013-4238-py32.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 ### %define python_version %(echo %{tarversion} | head -c 3) %define shortver %(echo %{python_version} | cut -c 1,3) %define sitedir %{_libdir}/python%{python_version} # three possible ABI kinds: m - pymalloc, d - debug build, u - wide unicode # see PEP 3149 %define abi_kind mu # 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 %{shortver}%{abi_kind} #%define so_version %(echo %{python_version} | tr . _)%{abi_kind}1_0 %define so_version 3_2%{abi_kind}1_0 ### COMMON-DEF-END ### %description Python 3 is modern interpreted, object-oriented programming language, 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 %patch05 -p1 %patch06 -p1 %patch07 #disable test_io on ppc %ifarch ppc ppc64 %patch08 -p1 %endif %patch09 -p1 %patch10 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.in ### COMMON-PREP-END ### %build export SUSE_ASNEEDED=0 export OPT="%{optflags}" 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 ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --docdir=%{_docdir}/python \ --enable-ipv6 \ --with-fpectl \ --enable-shared \ --with-wide-unicode \ --with-system-ffi 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" make test TESTOPTS="-l $TESTS" TESTPYTHONOPTS="-R" %install # replace rest of /usr/local/bin/python or /usr/bin/python2.5 with /usr/bin/python3 find . -path "./Parser" -prune -o -path "./Python/makeopcodetargets.py" -prune -o -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@' # the grep inbetween makes it much faster # install it 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 \ ctypes concurrent distutils email encodings html http importlib json \ logging multiprocessing plat-* pydoc_data unittest urllib wsgiref \ lib2to3 test xml xmlrpc idlelib turtledemo do rm -r $RPM_BUILD_ROOT%{sitedir}/$module done for library in \ array atexit audioop binascii _bisect bz2 cmath _codecs_* crypt _csv \ _ctypes _datetime _elementtree fcntl grp _heapq _json _lsprof math \ mmap _multibytecodec _multiprocessing nis ossaudiodev parser _pickle \ _posixsubprocess _random resource select _socket spwd _struct syslog \ termios time unicodedata zlib \ pyexpat _ctypes_test _testcapi do eval rm "$RPM_BUILD_ROOT%{sitedir}/lib-dynload/$library.*" done %fdupes $RPM_BUILD_ROOT/%{_libdir}/python%{python_version} %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}.so %files tk %defattr(644, root, root, 755) %{sitedir}/tkinter %{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}/sqlite3 %{dynlib _hashlib} %{dynlib readline} %{dynlib _sqlite3} %{dynlib _ssl} %{dynlib xxlimited} %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