Hello community, here is the log from the commit of package python3 for openSUSE:Factory checked in at 2012-10-04 20:02:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3 (Old) and /work/SRC/openSUSE:Factory/.python3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3", Maintainer is "jmate...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/python3/python3-base.changes 2012-07-30 20:39:33.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3.new/python3-base.changes 2012-10-06 18:42:46.000000000 +0200 @@ -1,0 +2,39 @@ +Mon Oct 1 08:53:03 UTC 2012 - idon...@suse.com + +- Update to final 3.3.0 release + * See http://hg.python.org/cpython/file/v3.3.0/Misc/NEWS + +------------------------------------------------------------------- +Thu Sep 27 12:35:01 UTC 2012 - idon...@suse.com + +- Correct dependency for python3-testsuite, + python3-tkinter -> python3-tk + +------------------------------------------------------------------- +Thu Aug 23 13:08:11 UTC 2012 - jmate...@suse.com + +- update to 3.3.0 RC1 + +------------------------------------------------------------------- +Fri Aug 3 12:09:34 UTC 2012 - jmate...@suse.com + +- update to 3.3.0 beta 1 + * flexible string representation, no longer distinguishing + between wide and narrow Unicode builds + * importlib-based import system + * virtualenv support in core + * namespace packages + * explicit Unicode literals for easier porting + * key-sharing dict implementation reduces memory footprint + of OO code + * hash randomization on by default + * many other new bugfixes and features, check NEWS for details + +- pre_checkin.sh now autofills various version strings in specs +- ship hashlib's fallback modules - those uselessly take up space + when real _hashlib.so from python3 is present, but the space wasted + is only 114kB and it provides python3-base with a working hashlib + module. + (also, this fixes bnc#743787) + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/python3/python3-doc.changes 2012-07-14 11:51:15.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3.new/python3-doc.changes 2012-10-06 18:42:46.000000000 +0200 @@ -1,0 +2,11 @@ +Mon Oct 1 08:53:43 UTC 2012 - idon...@suse.com + +- Update to final 3.3.0 release + * See http://hg.python.org/cpython/file/v3.3.0/Misc/NEWS + +------------------------------------------------------------------- +Fri Aug 3 12:13:10 UTC 2012 - jmate...@suse.com + +- update to 3.3.0 beta 1 + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/python3/python3.changes 2012-07-30 20:39:33.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3.new/python3.changes 2012-10-06 18:42:46.000000000 +0200 @@ -1,0 +2,18 @@ +Mon Oct 1 08:52:01 UTC 2012 - idon...@suse.com + +- Update to final 3.3.0 release + * See http://hg.python.org/cpython/file/v3.3.0/Misc/NEWS + +------------------------------------------------------------------- +Mon Aug 27 16:36:03 UTC 2012 - jmate...@suse.com + +- update to 3.3.0 RC1 +- added Provides for %{python_version}, we'll see whether that + breaks everything + +------------------------------------------------------------------- +Fri Aug 3 12:12:58 UTC 2012 - jmate...@suse.com + +- update to 3.3.0 beta 1 + +------------------------------------------------------------------- Old: ---- Python-3.2.1-multilib.patch Python-3.2.3.tar.bz2 python-2.6b3-curses-panel.patch python-3.2-docs-html.tar.bz2 python-3.2-docs-pdf-a4.tar.bz2 python-3.2-docs-pdf-letter.tar.bz2 python-3.2.1-fix_date_time_compiler.patch python-3.2.3rc2-localpath.patch New: ---- Python-3.3.0.tar.bz2 Python-3.3.0b2-multilib.patch python-3.3.0-docs-html.tar.bz2 python-3.3.0-docs-pdf-a4.tar.bz2 python-3.3.0-docs-pdf-letter.tar.bz2 python-3.3.0b1-curses-panel.patch python-3.3.0b1-fix_date_time_compiler.patch python-3.3.0b1-localpath.patch python-3.3.0b1-test-posix_fadvise.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-base.spec ++++++ --- /var/tmp/diff_new_pack.8MNBDC/_old 2012-10-06 18:42:48.000000000 +0200 +++ /var/tmp/diff_new_pack.8MNBDC/_new 2012-10-06 18:42:48.000000000 +0200 @@ -32,7 +32,7 @@ Summary: Python3 Interpreter License: Python-2.0 Group: Development/Languages/Python -Version: 3.2.3 +Version: 3.3.0 Release: 0 %define tarversion %{version} %define tarname Python-%{tarversion} @@ -59,39 +59,45 @@ # 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 +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.2.3rc2-localpath.patch +Patch04: python-3.3.0b1-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 +Patch06: python-3.3.0b1-fix_date_time_compiler.patch # fix wrong include path in curses-panel module -Patch07: python-2.6b3-curses-panel.patch +Patch07: python-3.3.0b1-curses-panel.patch # fix .pypirc creation vulnerability Patch08: python-3.2.3rc2-pypirc-secure.patch +# POSIX_FADV_WILLNEED throws EINVAL. Use a different constant in test +Patch09: python-3.3.0b1-test-posix_fadvise.patch ### COMMON-PATCH-END ### BuildRoot: %{_tmppath}/%{name}-%{version}-build ### COMMON-DEF-BEGIN ### -%define python_version %(echo %{tarversion} | head -c 3) -%define shortver %(echo %{python_version} | cut -c 1,3) +# the versions are autogenerated from pre_checkin.sh +# based on the current source tarball +%define python_version 3.3 + +%define python_version_abitag 33 +%define python_version_soname 3_3 + %define sitedir %{_libdir}/python%{python_version} -# three possible ABI kinds: m - pymalloc, d - debug build, u - wide unicode +# three possible ABI kinds: m - pymalloc, d - debug build # see PEP 3149 -%define abi_kind mu +%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 %{shortver}%{abi_kind} +%define abi_tag %{python_version_abitag}%{abi_kind} -#%define so_version %(echo %{python_version} | tr . _)%{abi_kind}1_0 -%define so_version 3_2%{abi_kind}1_0 +%define so_version %{python_version_soname}%{abi_kind}1_0 ### COMMON-DEF-END ### @@ -154,7 +160,7 @@ %package -n python3-testsuite Requires: python3 = %{version} -Requires: python3-tkinter = %{version} +Requires: python3-tk = %{version} Summary: Unit tests for Python and its standard library Group: Development/Languages/Python @@ -210,9 +216,10 @@ %patch06 -p1 %patch07 %patch08 -p1 +%patch09 -p1 # drop Autoconf version requirement -sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.in +sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac ### COMMON-PREP-END ### @@ -241,7 +248,8 @@ %check # SUSE's gdb breaks test_gdb by producing spurious output (zypper suggestions) -EXCLUDE="-x test_gdb" +# test_socket fails because of name resolution failure, that is expected +EXCLUDE="-x test_gdb -x test_socket" # test_ctypes breaks on ARM - even on real machines %ifarch %arm EXCLUDE="$EXCLUDE -x test_ctypes" @@ -258,7 +266,7 @@ if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then ulimit -v 10000000 || : fi -make test TESTOPTS="-l $EXCLUDE" TESTPYTHONOPTS="-R" +make test TESTOPTS="$EXCLUDE" # use network, be verbose: #make test TESTOPTS="-l -u network -v" @@ -287,9 +295,6 @@ mkdir -p ${RPM_BUILD_ROOT}/usr/lib/python%{python_version}/site-packages/__pycache__ # cleanup parts that don't belong -for so in _md5 _sha1 _sha256 _sha512; do - rm $RPM_BUILD_ROOT%{sitedir}/lib-dynload/$so.* -done for dir in curses dbm sqlite3 tkinter; do find $RPM_BUILD_ROOT%{sitedir}/$dir/* -maxdepth 0 -name "test" -o -exec rm -rf {} ";" done @@ -422,13 +427,13 @@ %{_prefix}/include/python%{python_abi}/pyconfig.h # binary parts %dir %{sitedir}/lib-dynload -%{sitedir}/lib-dynload/Python-%{tarversion}-py%{python_version}.egg-info +#%{sitedir}/lib-dynload/Python-%{tarversion}-py%{python_version}.egg-info %{dynlib array} %{dynlib atexit} %{dynlib audioop} %{dynlib binascii} %{dynlib _bisect} -%{dynlib bz2} +%{dynlib _bz2} %{dynlib cmath} %{dynlib _codecs_cn} %{dynlib _codecs_hk} @@ -436,10 +441,11 @@ %{dynlib _codecs_jp} %{dynlib _codecs_kr} %{dynlib _codecs_tw} -%{dynlib crypt} +%{dynlib _crypt} %{dynlib _csv} %{dynlib _ctypes} %{dynlib _datetime} +%{dynlib _decimal} %{dynlib _elementtree} %{dynlib fcntl} %{dynlib grp} @@ -464,8 +470,14 @@ %{dynlib syslog} %{dynlib termios} %{dynlib time} +%{dynlib _testbuffer} %{dynlib unicodedata} %{dynlib zlib} +# hashlib fallback modules +%{dynlib _md5} +%{dynlib _sha1} +%{dynlib _sha256} +%{dynlib _sha512} # python parts %dir /usr/lib/python%{python_version} %dir /usr/lib/python%{python_version}/site-packages @@ -476,6 +488,7 @@ %exclude %{sitedir}/*/test %{sitedir}/*.* %{sitedir}/ctypes +%{sitedir}/collections %{sitedir}/concurrent %{sitedir}/distutils %{sitedir}/email @@ -490,6 +503,7 @@ %{sitedir}/pydoc_data %{sitedir}/unittest %{sitedir}/urllib +%{sitedir}/venv %{sitedir}/wsgiref %{sitedir}/site-packages/README %{sitedir}/__pycache__ @@ -499,5 +513,7 @@ %attr(755, root, root) %{_bindir}/python%{python_abi} %attr(755, root, root) %{_bindir}/python%{python_version} %attr(755, root, root) %{_bindir}/python3 +%attr(755, root, root) %{_bindir}/pyvenv +%attr(755, root, root) %{_bindir}/pyvenv-%{python_version} %changelog ++++++ python3-doc.spec ++++++ --- /var/tmp/diff_new_pack.8MNBDC/_old 2012-10-06 18:42:48.000000000 +0200 +++ /var/tmp/diff_new_pack.8MNBDC/_new 2012-10-06 18:42:48.000000000 +0200 @@ -22,22 +22,68 @@ Summary: Additional Package Documentation for Python. License: Python-2.0 Group: Development/Languages/Python -Version: 3.2 +Version: 3.3.0 Release: 0 -%define pyver 3.2.3 BuildArch: noarch -%define tarname Python-%{pyver} -%define pyname python +%define tarversion %{version} +%define tarname Python-%{tarversion} +%define pyname python3 +%define pyver 3.3.0 Enhances: %{pyname}=%{pyver} Source0: %{tarname}.tar.bz2 -Source1: %{pyname}-%{version}-docs-html.tar.bz2 -Source2: %{pyname}-%{version}-docs-pdf-a4.tar.bz2 -Source3: %{pyname}-%{version}-docs-pdf-letter.tar.bz2 +Source1: python-%{version}-docs-html.tar.bz2 +Source2: python-%{version}-docs-pdf-a4.tar.bz2 +Source3: python-%{version}-docs-pdf-letter.tar.bz2 Provides: pyth_doc Provides: pyth_ps Obsoletes: pyth_doc Obsoletes: pyth_ps +# for consistency: +### 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 +# 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.3.0b1-fix_date_time_compiler.patch +# fix wrong include path in curses-panel module +Patch07: python-3.3.0b1-curses-panel.patch +# fix .pypirc creation vulnerability +Patch08: python-3.2.3rc2-pypirc-secure.patch +# POSIX_FADV_WILLNEED throws EINVAL. Use a different constant in test +Patch09: python-3.3.0b1-test-posix_fadvise.patch +### COMMON-PATCH-END ### +### COMMON-DEF-BEGIN ### + +# the versions are autogenerated from pre_checkin.sh +# based on the current source tarball +%define python_version 3.3 + +%define python_version_abitag 33 +%define python_version_soname 3_3 + +%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 + +### COMMON-DEF-END ### + %description Tutorial, Global Module Index, Language Reference, Library Reference, Extending and Embedding Reference, Python/C API Reference, Documenting @@ -65,6 +111,25 @@ %prep %setup -q -n %{tarname} +# for consistency +### COMMON-PREP-BEGIN ### + +%patch01 -p1 +%patch02 -p1 +#%%patch03 +#- canonicalize disabled, needs testing whether the exploit still works +%patch04 +%patch05 -p1 +%patch06 -p1 +%patch07 +%patch08 -p1 +%patch09 -p1 + +# drop Autoconf version requirement +sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac + +### COMMON-PREP-END ### + %build # nothing to do (...whistles innocently) ++++++ python3.spec ++++++ --- /var/tmp/diff_new_pack.8MNBDC/_old 2012-10-06 18:42:48.000000000 +0200 +++ /var/tmp/diff_new_pack.8MNBDC/_new 2012-10-06 18:42:48.000000000 +0200 @@ -37,7 +37,7 @@ Summary: Python3 Interpreter License: Python-2.0 Group: Development/Languages/Python -Version: 3.2.3 +Version: 3.3.0 Release: 0 %define tarversion %{version} %define tarname Python-%{tarversion} @@ -59,19 +59,21 @@ # 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 +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.2.3rc2-localpath.patch +Patch04: python-3.3.0b1-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 +Patch06: python-3.3.0b1-fix_date_time_compiler.patch # fix wrong include path in curses-panel module -Patch07: python-2.6b3-curses-panel.patch +Patch07: python-3.3.0b1-curses-panel.patch # fix .pypirc creation vulnerability Patch08: python-3.2.3rc2-pypirc-secure.patch +# POSIX_FADV_WILLNEED throws EINVAL. Use a different constant in test +Patch09: python-3.3.0b1-test-posix_fadvise.patch ### COMMON-PATCH-END ### BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -83,23 +85,31 @@ ### COMMON-DEF-BEGIN ### -%define python_version %(echo %{tarversion} | head -c 3) -%define shortver %(echo %{python_version} | cut -c 1,3) +# the versions are autogenerated from pre_checkin.sh +# based on the current source tarball +%define python_version 3.3 + +%define python_version_abitag 33 +%define python_version_soname 3_3 + %define sitedir %{_libdir}/python%{python_version} -# three possible ABI kinds: m - pymalloc, d - debug build, u - wide unicode +# three possible ABI kinds: m - pymalloc, d - debug build # see PEP 3149 -%define abi_kind mu +%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 %{shortver}%{abi_kind} +%define abi_tag %{python_version_abitag}%{abi_kind} -#%define so_version %(echo %{python_version} | tr . _)%{abi_kind}1_0 -%define so_version 3_2%{abi_kind}1_0 +%define so_version %{python_version_soname}%{abi_kind}1_0 ### COMMON-DEF-END ### +# some compatibility Provides +Provides: python3 = %{python_version} +Provides: python = %{python_version} + %description Python 3 is modern interpreted, object-oriented programming language, often compared to Tcl, Perl, Scheme, or Java. You can find an overview @@ -159,9 +169,10 @@ %patch06 -p1 %patch07 %patch08 -p1 +%patch09 -p1 # drop Autoconf version requirement -sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.in +sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac ### COMMON-PREP-END ### @@ -193,8 +204,8 @@ 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" +TESTS="test_bz2 test_lzma 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" +make test TESTOPTS="$TESTS" %install # replace rest of /usr/local/bin/python or /usr/bin/python2.5 with /usr/bin/python3 @@ -222,20 +233,20 @@ 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 + ctypes collections concurrent distutils email encodings html http \ + importlib json logging multiprocessing plat-* pydoc_data unittest \ + urllib venv 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 \ + array atexit audioop binascii _bisect _bz2 cmath _codecs_* _crypt _csv \ + _ctypes _datetime _decimal _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 + termios _testbuffer time unicodedata zlib pyexpat _ctypes_test _testcapi \ + _md5 _sha1 _sha256 _sha512 do eval rm "$RPM_BUILD_ROOT%{sitedir}/lib-dynload/$library.*" done ++++++ PACKAGING-NOTES ++++++ --- /var/tmp/diff_new_pack.8MNBDC/_old 2012-10-06 18:42:48.000000000 +0200 +++ /var/tmp/diff_new_pack.8MNBDC/_new 2012-10-06 18:42:48.000000000 +0200 @@ -52,3 +52,7 @@ If you want to replicate another section from py3-base to py3, just mark the section with NEW-SECTION-BEGIN and NEW-SECTION-END (in both py3-base and py3) and add NEW-SECTION to list of $sections in pre_checkin.sh + +pre_checkin.sh also finds the newest python tarball in the source directory and updates versions +in all specfiles to match it. Therefore, you usually don't need to update version numbers in specs +when you update Python ++++++ Python-3.2.3.tar.bz2 -> Python-3.3.0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/python3/Python-3.2.3.tar.bz2 /work/SRC/openSUSE:Factory/.python3.new/Python-3.3.0.tar.bz2 differ: char 11, line 1 ++++++ Python-3.3.0b2-multilib.patch ++++++ Index: Python-3.3.0b2/Include/pythonrun.h =================================================================== --- Python-3.3.0b2.orig/Include/pythonrun.h 2012-08-11 08:54:09.000000000 +0200 +++ Python-3.3.0b2/Include/pythonrun.h 2012-08-23 14:49:29.000000000 +0200 @@ -181,6 +181,8 @@ /* In their own files */ PyAPI_FUNC(const char *) Py_GetVersion(void); PyAPI_FUNC(const char *) Py_GetPlatform(void); +PyAPI_FUNC(const char *) Py_GetArch(void); +PyAPI_FUNC(const char *) Py_GetLib(void); PyAPI_FUNC(const char *) Py_GetCopyright(void); PyAPI_FUNC(const char *) Py_GetCompiler(void); PyAPI_FUNC(const char *) Py_GetBuildInfo(void); Index: Python-3.3.0b2/Lib/distutils/command/install.py =================================================================== --- Python-3.3.0b2.orig/Lib/distutils/command/install.py 2012-08-23 14:49:26.000000000 +0200 +++ Python-3.3.0b2/Lib/distutils/command/install.py 2012-08-23 14:49:29.000000000 +0200 @@ -25,6 +25,8 @@ from site import USER_SITE HAS_USER_SITE = True +libname = sys.lib + if sys.version < "2.2": WINDOWS_SCHEME = { 'purelib': '$base', @@ -45,7 +47,7 @@ INSTALL_SCHEMES = { 'unix_prefix': { 'purelib': '$base/lib/python$py_version_short/site-packages', - 'platlib': '$platbase/lib/python$py_version_short/site-packages', + 'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages', 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', 'scripts': '$base/bin', 'data' : '$base', Index: Python-3.3.0b2/Lib/distutils/sysconfig.py =================================================================== --- Python-3.3.0b2.orig/Lib/distutils/sysconfig.py 2012-08-11 08:54:10.000000000 +0200 +++ Python-3.3.0b2/Lib/distutils/sysconfig.py 2012-08-23 14:49:29.000000000 +0200 @@ -139,8 +139,11 @@ prefix = plat_specific and EXEC_PREFIX or PREFIX if os.name == "posix": - libpython = os.path.join(prefix, - "lib", "python" + get_python_version()) + if plat_specific or standard_lib: + lib = sys.lib + else: + lib = "lib" + libpython = os.path.join(prefix, lib, "python" + get_python_version()) if standard_lib: return libpython else: Index: Python-3.3.0b2/Lib/pydoc.py =================================================================== --- Python-3.3.0b2.orig/Lib/pydoc.py 2012-08-11 08:54:13.000000000 +0200 +++ Python-3.3.0b2/Lib/pydoc.py 2012-08-23 14:49:29.000000000 +0200 @@ -369,7 +369,7 @@ docloc = os.environ.get("PYTHONDOCS", self.PYTHONDOCS) - basedir = os.path.join(sys.base_exec_prefix, "lib", + basedir = os.path.join(sys.base_exec_prefix, sys.lib, "python%d.%d" % sys.version_info[:2]) if (isinstance(object, type(os)) and (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', Index: Python-3.3.0b2/Lib/site.py =================================================================== --- Python-3.3.0b2.orig/Lib/site.py 2012-08-11 08:54:13.000000000 +0200 +++ Python-3.3.0b2/Lib/site.py 2012-08-23 14:49:29.000000000 +0200 @@ -303,13 +303,19 @@ if sys.platform in ('os2emx', 'riscos'): sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) elif os.sep == '/': - sitepackages.append(os.path.join(prefix, "lib", + sitepackages.append(os.path.join(prefix, sys.lib, "python" + sys.version[:3], "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", "site-python")) + if sys.lib != "lib": + sitepackages.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], + "site-packages")) + sitepackages.append(os.path.join(prefix, sys.lib, "site-python")) + if sys.lib != "lib": + sitepackages.append(os.path.join(prefix, "lib", "site-python")) else: sitepackages.append(prefix) - sitepackages.append(os.path.join(prefix, "lib", "site-packages")) + sitepackages.append(os.path.join(prefix, sys.lib, "site-packages")) if sys.platform == "darwin": # for framework builds *only* we add the standard Apple # locations. Index: Python-3.3.0b2/Lib/trace.py =================================================================== --- Python-3.3.0b2.orig/Lib/trace.py 2012-08-11 08:54:17.000000000 +0200 +++ Python-3.3.0b2/Lib/trace.py 2012-08-23 14:49:29.000000000 +0200 @@ -750,10 +750,10 @@ # should I also call expanduser? (after all, could use $HOME) s = s.replace("$prefix", - os.path.join(sys.base_prefix, "lib", + os.path.join(sys.base_prefix, sys.lib, "python" + sys.version[:3])) s = s.replace("$exec_prefix", - os.path.join(sys.base_exec_prefix, "lib", + os.path.join(sys.base_exec_prefix, sys.lib, "python" + sys.version[:3])) s = os.path.normpath(s) ignore_dirs.append(s) Index: Python-3.3.0b2/Makefile.pre.in =================================================================== --- Python-3.3.0b2.orig/Makefile.pre.in 2012-08-11 08:54:18.000000000 +0200 +++ Python-3.3.0b2/Makefile.pre.in 2012-08-23 14:49:29.000000000 +0200 @@ -92,6 +92,8 @@ # Machine-dependent subdirectories MACHDEP= @MACHDEP@ +LIB= @LIB@ +ARCH= @ARCH@ # Install prefix for architecture-independent files prefix= @prefix@ @@ -108,7 +110,7 @@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include -SCRIPTDIR= $(prefix)/lib +SCRIPTDIR= @libdir@ ABIFLAGS= @ABIFLAGS@ # Detailed destination directories @@ -617,6 +619,7 @@ -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ + -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' \ -o $@ $(srcdir)/Modules/getpath.c Modules/python.o: $(srcdir)/Modules/python.c @@ -668,7 +671,7 @@ Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) Python/getplatform.o: $(srcdir)/Python/getplatform.c - $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c + $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c Python/importdl.o: $(srcdir)/Python/importdl.c $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c Index: Python-3.3.0b2/Modules/getpath.c =================================================================== --- Python-3.3.0b2.orig/Modules/getpath.c 2012-08-11 08:54:22.000000000 +0200 +++ Python-3.3.0b2/Modules/getpath.c 2012-08-23 14:49:29.000000000 +0200 @@ -121,9 +121,11 @@ #define EXEC_PREFIX PREFIX #endif +#define LIB_PYTHON LIB "/python" VERSION + #ifndef PYTHONPATH -#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ - EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" +#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \ + EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload" #endif #ifndef LANDMARK @@ -135,7 +137,7 @@ static wchar_t progpath[MAXPATHLEN+1]; static wchar_t *module_search_path = NULL; static int module_search_path_malloced = 0; -static wchar_t *lib_python = L"lib/python" VERSION; +static wchar_t *lib_python = L"" LIB_PYTHON; static void reduce(wchar_t *dir) Index: Python-3.3.0b2/Python/getplatform.c =================================================================== --- Python-3.3.0b2.orig/Python/getplatform.c 2012-08-11 08:54:24.000000000 +0200 +++ Python-3.3.0b2/Python/getplatform.c 2012-08-23 14:49:29.000000000 +0200 @@ -10,3 +10,23 @@ { return PLATFORM; } + +#ifndef ARCH +#define ARCH "unknown" +#endif + +const char * +Py_GetArch(void) +{ + return ARCH; +} + +#ifndef LIB +#define LIB "lib" +#endif + +const char * +Py_GetLib(void) +{ + return LIB; +} Index: Python-3.3.0b2/Python/sysmodule.c =================================================================== --- Python-3.3.0b2.orig/Python/sysmodule.c 2012-08-11 08:54:24.000000000 +0200 +++ Python-3.3.0b2/Python/sysmodule.c 2012-08-23 14:49:29.000000000 +0200 @@ -1612,6 +1612,10 @@ PyUnicode_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", PyUnicode_FromString(Py_GetPlatform())); + SET_SYS_FROM_STRING("arch", + PyUnicode_FromString(Py_GetArch())); + SET_SYS_FROM_STRING("lib", + PyUnicode_FromString(Py_GetLib())); SET_SYS_FROM_STRING("executable", PyUnicode_FromWideChar( Py_GetProgramFullPath(), -1)); Index: Python-3.3.0b2/setup.py =================================================================== --- Python-3.3.0b2.orig/setup.py 2012-08-11 08:54:25.000000000 +0200 +++ Python-3.3.0b2/setup.py 2012-08-23 14:51:18.000000000 +0200 @@ -459,7 +459,7 @@ # directories (i.e. '.' and 'Include') must be first. See issue # 10520. if not cross_compiling: - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.library_dirs, os.path.join('/usr/local', sys.lib)) add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia if cross_compiling: @@ -516,8 +516,7 @@ # be assumed that no additional -I,-L directives are needed. if not cross_compiling: lib_dirs = self.compiler.library_dirs + [ - '/lib64', '/usr/lib64', - '/lib', '/usr/lib', + '/' + sys.lib, '/usr/' + sys.lib, ] inc_dirs = self.compiler.include_dirs + ['/usr/include'] exts = [] @@ -729,11 +728,11 @@ elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(lib_dirs + - ['/usr/lib/termcap'], + ['/usr/'+sys.lib+'/termcap'], 'termcap'): readline_libs.append('termcap') exts.append( Extension('readline', ['readline.c'], - library_dirs=['/usr/lib/termcap'], + library_dirs=['/usr/'+sys.lib+'/termcap'], extra_link_args=readline_extra_link_args, libraries=readline_libs) ) else: @@ -1675,18 +1674,17 @@ # Check for various platform-specific directories if host_platform == 'sunos5': include_dirs.append('/usr/openwin/include') - added_lib_dirs.append('/usr/openwin/lib') + added_lib_dirs.append('/usr/openwin/' + sys.lib) elif os.path.exists('/usr/X11R6/include'): include_dirs.append('/usr/X11R6/include') - added_lib_dirs.append('/usr/X11R6/lib64') - added_lib_dirs.append('/usr/X11R6/lib') + added_lib_dirs.append('/usr/X11R6/' + sys.lib) elif os.path.exists('/usr/X11R5/include'): include_dirs.append('/usr/X11R5/include') - added_lib_dirs.append('/usr/X11R5/lib') + added_lib_dirs.append('/usr/X11R5/' + sys.lib) else: # Assume default location for X11 include_dirs.append('/usr/X11/include') - added_lib_dirs.append('/usr/X11/lib') + added_lib_dirs.append('/usr/X11/' + sys.lib) # If Cygwin, then verify that X is installed before proceeding if host_platform == 'cygwin': Index: Python-3.3.0b2/Lib/sysconfig.py =================================================================== --- Python-3.3.0b2.orig/Lib/sysconfig.py 2012-08-11 08:54:13.000000000 +0200 +++ Python-3.3.0b2/Lib/sysconfig.py 2012-08-23 14:49:29.000000000 +0200 @@ -21,10 +21,10 @@ _INSTALL_SCHEMES = { 'posix_prefix': { - 'stdlib': '{installed_base}/lib/python{py_version_short}', - 'platstdlib': '{platbase}/lib/python{py_version_short}', + 'stdlib': '{installed_base}/'+sys.lib+'/python{py_version_short}', + 'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}', 'purelib': '{base}/lib/python{py_version_short}/site-packages', - 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', + 'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages', 'include': '{installed_base}/include/python{py_version_short}{abiflags}', 'platinclude': @@ -33,10 +33,10 @@ 'data': '{base}', }, 'posix_home': { - 'stdlib': '{installed_base}/lib/python', - 'platstdlib': '{base}/lib/python', + 'stdlib': '{installed_base}/'+sys.lib+'/python', + 'platstdlib': '{base}/'+sys.lib+'/python', 'purelib': '{base}/lib/python', - 'platlib': '{base}/lib/python', + 'platlib': '{base}/'+sys.lib+'/python', 'include': '{installed_base}/include/python', 'platinclude': '{installed_base}/include/python', 'scripts': '{base}/bin', @@ -81,10 +81,10 @@ 'data': '{userbase}', }, 'posix_user': { - 'stdlib': '{userbase}/lib/python{py_version_short}', - 'platstdlib': '{userbase}/lib/python{py_version_short}', + 'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}', + 'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}', 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', - 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', + 'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages', 'include': '{userbase}/include/python{py_version_short}', 'scripts': '{userbase}/bin', 'data': '{userbase}', Index: Python-3.3.0b2/configure.ac =================================================================== --- Python-3.3.0b2.orig/configure.ac 2012-08-11 08:54:25.000000000 +0200 +++ Python-3.3.0b2/configure.ac 2012-08-23 14:49:29.000000000 +0200 @@ -746,6 +746,41 @@ esac;; esac +AC_SUBST(ARCH) +AC_MSG_CHECKING(ARCH) +ARCH=`uname -m` +case $ARCH in +i?86) ARCH=i386;; +esac +AC_MSG_RESULT($ARCH) + +AC_SUBST(LIB) +AC_MSG_CHECKING(LIB) +case $ac_sys_system in +Linux*) + # Test if the compiler is 64bit + echo 'int i;' > conftest.$ac_ext + python_cv_cc_64bit_output=no + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *"ELF 64"*) + python_cv_cc_64bit_output=yes + ;; + esac + fi + rm -rf conftest* + ;; +esac + +case $ARCH:$python_cv_cc_64bit_output in +ppc64:yes | powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes) + LIB="lib64" + ;; +*:*) + LIB="lib" + ;; +esac +AC_MSG_RESULT($LIB) AC_SUBST(LIBRARY) AC_MSG_CHECKING(LIBRARY) ++++++ pre_checkin.sh ++++++ --- /var/tmp/diff_new_pack.8MNBDC/_old 2012-10-06 18:42:48.000000000 +0200 +++ /var/tmp/diff_new_pack.8MNBDC/_new 2012-10-06 18:42:48.000000000 +0200 @@ -1,12 +1,66 @@ #!/bin/bash # This script is called automatically during autobuild checkin. +# +# +# +# ...or is it? +# it really doesn't seem so, you know. go run it manually. master=python3-base.spec -slaves=python3.spec + +# calculate version number from newest tar name +VERSION=`ls *.tar.bz2 | grep '^Python-' | tail -n 1 | sed -r 's/^Python-([0-9]+\.[0-9]+.[0-9a-z]+)\.tar.*$/\1/'` +if echo $VERSION | grep -q Python; then + echo "Version is $VERSION and that's not right, fix the script." + exit 1 +fi +# VERSION = 3.3.0 + +Version=${VERSION/[a-z]*/} # 3.3.0 +tar_suffix=${VERSION#$Version} # b3 +a_version=(${Version//\./ }) # 3 3 0 + +python_version=${VERSION:0:3} # 3.3 +python_version_abitag=${python_version//./} # 33 +python_version_soname=${python_version//./_} # 3_3 + +if [ -n "$tar_suffix" ]; then + # we want to generate: + # 3.2.3 -> 3.2.2.99 + # 3.3.0 -> 3.2.99 + (( last_elem = ${#a_version[@]} - 1 )) + if [ ${a_version[$last_elem]} -eq 0 ]; then + unset a_version[$last_elem] + (( last_elem-- )) + fi + # this will fail when python 4.0 comes out. mwahaha + (( a_version[$last_elem]-- )) + Version=${a_version[*]} + Version=${Version// /.}.99$tar_suffix # 3.2.99b1 + + tarversion=$VERSION # 3.3.0b1 +else + tarversion="%{version}" +fi + +sed -i -r 's/(^Version:[ \t]+).*/\1'"$Version"'/' python3{-base,}.spec +sed -i -r 's/(^%define[ \t]+tarversion[ \t]+).*/\1'$tarversion'/' python3*.spec + +#sed -i -r 's/(^Version:[ \t]+).*/\1'"$python_version"'/' python3-doc.spec +sed -i -r 's/(^%define[ \t]+pyver[ \t]+).*/\1'$Version'/' python3-doc.spec + +for varname in python_version{,_abitag,_soname}; do + eval varvalue=\$$varname + sed -i -r 's/(^%define[ \t]+'$varname'[ \t]+).*/\1'$varvalue'/' $master +done + + +# copy definition sections + sections="COMMON-PATCH COMMON-DEF COMMON-PREP" -for slave in $slaves; do # yes, you are right. we don't need the 'for'. but as long as it's there, why not keep it +for slave in python3.spec python3-doc.spec; do { prev=1 for section in $sections; do ++++++ python-3.2-docs-html.tar.bz2 -> python-3.3.0-docs-html.tar.bz2 ++++++ ++++ 216932 lines of diff (skipped) ++++++ python-3.2-docs-pdf-a4.tar.bz2 -> python-3.3.0-docs-pdf-a4.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/python3/python-3.2-docs-pdf-a4.tar.bz2 /work/SRC/openSUSE:Factory/.python3.new/python-3.3.0-docs-pdf-a4.tar.bz2 differ: char 11, line 1 ++++++ python-3.2-docs-pdf-letter.tar.bz2 -> python-3.3.0-docs-pdf-letter.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/python3/python-3.2-docs-pdf-letter.tar.bz2 /work/SRC/openSUSE:Factory/.python3.new/python-3.3.0-docs-pdf-letter.tar.bz2 differ: char 11, line 1 ++++++ python-2.6b3-curses-panel.patch -> python-3.3.0b1-curses-panel.patch ++++++ --- /work/SRC/openSUSE:Factory/python3/python-2.6b3-curses-panel.patch 2011-09-23 12:43:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3.new/python-3.3.0b1-curses-panel.patch 2012-10-06 18:42:45.000000000 +0200 @@ -1,13 +1,13 @@ Index: Modules/_curses_panel.c =================================================================== ---- Modules/_curses_panel.c.orig -+++ Modules/_curses_panel.c -@@ -14,7 +14,7 @@ static char *PyCursesVersion = "2.1"; +--- Modules/_curses_panel.c.orig 2012-06-26 22:19:53.000000000 +0200 ++++ Modules/_curses_panel.c 2012-08-02 14:56:23.000000000 +0200 +@@ -14,7 +14,7 @@ #include "py_curses.h" -#include <panel.h> +#include <ncurses/panel.h> - static PyObject *PyCursesError; - + typedef struct { + PyObject *PyCursesError; ++++++ python-3.3.0b1-fix_date_time_compiler.patch ++++++ Index: Python-3.3.0b1/Makefile.pre.in =================================================================== --- Python-3.3.0b1.orig/Makefile.pre.in 2012-08-02 14:54:22.000000000 +0200 +++ Python-3.3.0b1/Makefile.pre.in 2012-08-02 14:55:10.000000000 +0200 @@ -603,11 +603,18 @@ $(MODOBJS) \ $(srcdir)/Modules/getbuildinfo.c $(CC) -c $(PY_CORE_CFLAGS) \ + -DDATE="\"`date -u -r Makefile.pre.in +"%b %d %Y"`\"" \ + -DTIME="\"`date -u -r Makefile.pre.in +"%T"`\"" \ -DHGVERSION="\"`LC_ALL=C $(HGVERSION)`\"" \ -DHGTAG="\"`LC_ALL=C $(HGTAG)`\"" \ -DHGBRANCH="\"`LC_ALL=C $(HGBRANCH)`\"" \ -o $@ $(srcdir)/Modules/getbuildinfo.c +Python/getcompiler.o: $(srcdir)/Python/getcompiler.c Makefile + $(CC) -c $(PY_CORE_CFLAGS) \ + -DCOMPILER='"[GCC]"' \ + -o $@ $(srcdir)/Python/getcompiler.c + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile $(CC) -c $(PY_CORE_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ -DPREFIX='"$(prefix)"' \ ++++++ python-3.3.0b1-localpath.patch ++++++ Index: Lib/site.py =================================================================== --- Lib/site.py.orig 2012-08-07 13:44:51.000000000 +0200 +++ Lib/site.py 2012-08-07 13:44:52.000000000 +0200 @@ -71,7 +71,7 @@ import builtins # Prefixes for site-packages; add additional prefixes like /usr/local here -PREFIXES = [sys.prefix, sys.exec_prefix] +PREFIXES = [sys.prefix, sys.exec_prefix, '/usr/local'] # Enable per user site-packages directory # set it to False to disable the feature or True to force the feature ENABLE_USER_SITE = None Index: Lib/test/test_site.py =================================================================== --- Lib/test/test_site.py.orig 2012-06-26 22:19:48.000000000 +0200 +++ Lib/test/test_site.py 2012-08-07 13:44:52.000000000 +0200 @@ -239,12 +239,27 @@ self.assertEqual(dirs[2], wanted) elif os.sep == '/': # OS X non-framwework builds, Linux, FreeBSD, etc - self.assertEqual(len(dirs), 2) - wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], + i = 0 + wanted = os.path.join('xoxo', sys.lib, 'python' + sys.version[:3], 'site-packages') - self.assertEqual(dirs[0], wanted) - wanted = os.path.join('xoxo', 'lib', 'site-python') - self.assertEqual(dirs[1], wanted) + self.assertEqual(dirs[i], wanted) + i += 1 + if sys.lib != 'lib': + wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], + 'site-packages') + self.assertEqual(dirs[i], wanted) + i += 1 + + wanted = os.path.join('xoxo', sys.lib, 'site-python') + self.assertEqual(dirs[i], wanted) + i += 1 + if sys.lib != 'lib': + wanted = os.path.join('xoxo', 'lib', 'site-python') + self.assertEqual(dirs[i], wanted) + i += 1 + + self.assertTrue(i in [2,4]) + self.assertEqual(len(dirs), i) else: # other platforms self.assertEqual(len(dirs), 2) Index: Lib/distutils/command/install.py =================================================================== --- Lib/distutils/command/install.py.orig 2012-08-07 13:44:51.000000000 +0200 +++ Lib/distutils/command/install.py 2012-08-07 14:32:03.000000000 +0200 @@ -451,8 +451,8 @@ raise DistutilsOptionError( "must not supply exec-prefix without prefix") - self.prefix = os.path.normpath(sys.prefix) - self.exec_prefix = os.path.normpath(sys.exec_prefix) + self.prefix = os.path.join(os.path.normpath(sys.prefix), 'local') + self.exec_prefix = os.path.join(os.path.normpath(sys.exec_prefix), 'local') else: if self.exec_prefix is None: ++++++ python-3.3.0b1-test-posix_fadvise.patch ++++++ Index: Python-3.3.0b1/Lib/test/test_posix.py =================================================================== --- Python-3.3.0b1.orig/Lib/test/test_posix.py 2012-06-26 22:19:48.000000000 +0200 +++ Python-3.3.0b1/Lib/test/test_posix.py 2012-08-03 14:06:26.000000000 +0200 @@ -231,7 +231,7 @@ def test_posix_fadvise(self): fd = os.open(support.TESTFN, os.O_RDONLY) try: - posix.posix_fadvise(fd, 0, 0, posix.POSIX_FADV_WILLNEED) + posix.posix_fadvise(fd, 0, 0, posix.POSIX_FADV_RANDOM) finally: os.close(fd) -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org