Hello community,
here is the log from the commit of package python3 for openSUSE:Factory checked in at 2012-04-12 09:47:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3 (Old)
and /work/SRC/openSUSE:Factory/.python3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3", Maintainer is "JMatejek@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3/python3-base.changes 2012-01-04 07:30:23.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3.new/python3-base.changes 2012-04-12 09:47:03.000000000 +0200
@@ -1,0 +2,33 @@
+Thu Mar 29 15:44:33 UTC 2012 - jmatejek@suse.com
+
+- update to 3.2.3rc2
+ * fixes several security issues:
+ * CVE-2012-0845, bnc#747125
+ * CVE-2012-1150, bnc#751718
+ * CVE-2011-4944, bnc#754447
+ * CVE-2011-3389, bnc#754677
+- fix for insecure .pypirc (CVE-2011-4944, bnc#754447)
+- disable test_gdb because it is broken by our gdb
+
+-------------------------------------------------------------------
+Thu Feb 16 12:33:12 UTC 2012 - dvaleev@suse.com
+
+- skip broken test_io test on ppc
+
+-------------------------------------------------------------------
+Wed Jan 18 15:49:47 UTC 2012 - jmatejek@suse.com
+
+- update to 3.2.2
+ * bugfix-only release
+ * reports "linux2" as sys.platform regardless of Linux kernel
+- added pre_checkin.sh to copy common spec sections to python3.spec
+- added PACKAGING-NOTES with some helpful info for packagers
+
+-------------------------------------------------------------------
+Sun Dec 25 13:25:01 UTC 2011 - idonmez@suse.com
+
+- Use system ffi, included one is broken see
+ http://bugs.python.org/issue11729 and
+ http://bugs.python.org/issue12081
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python3/python3-doc.changes 2011-09-23 12:43:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3.new/python3-doc.changes 2012-04-12 09:47:03.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Jan 18 15:52:06 UTC 2012 - jmatejek@suse.com
+
+- update to build against 3.2.2
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python3/python3.changes 2012-01-04 07:30:23.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3.new/python3.changes 2012-04-12 09:47:03.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Dec 25 13:26:04 UTC 2011 - idonmez@suse.com
+
+- Use system ffi, included one is broken see
+ http://bugs.python.org/issue11729 and
+ http://bugs.python.org/issue12081
+
+-------------------------------------------------------------------
Old:
----
Python-3.2.1.tar.bz2
python-3.2-linux3.patch
python-3.2rc2-localpath.patch
New:
----
PACKAGING-NOTES
Python-3.2.3rc2.tar.bz2
pre_checkin.sh
python-3.2.2-disable-tests-in-test_io.patch
python-3.2.3rc2-localpath.patch
python-3.2.3rc2-pypirc-secure.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-base.spec ++++++
--- /var/tmp/diff_new_pack.CKeTPt/_old 2012-04-12 09:47:07.000000000 +0200
+++ /var/tmp/diff_new_pack.CKeTPt/_new 2012-04-12 09:47:07.000000000 +0200
@@ -16,17 +16,26 @@
#
+# !!!!
+# this is the master spec file, but changes should be submitted
+# against python3, not python3-base
+#
+# see PACKAGING-NOTES for details
+# !!!!
Name: python3-base
-BuildRequires: zlib-devel fdupes pkg-config automake
+BuildRequires: automake
+BuildRequires: fdupes
+BuildRequires: pkg-config
+BuildRequires: zlib-devel
Url: http://www.python.org/
+Summary: Python3 Interpreter
License: Python-2.0
Group: Development/Languages/Python
-AutoReqProv: on
-Summary: Python3 Interpreter
-Version: 3.2.1
-Release: 2
-%define tarversion %{version}
+Version: 3.2.2.99rc2
+Release: 0
+#%%define tarversion %{version}
+%define tarversion 3.2.3rc2
%define tarname Python-%{tarversion}
# python 3.1 didn't have a separate python-base, so it is wrongly
@@ -43,6 +52,11 @@
Source6: distutils.cfg
Source7: macros.python3.py
+Source99: PACKAGING-NOTES
+# this is documentation for packagers, put here to silence Factory source_validator
+
+### COMMON-PATCH-BEGIN ###
+
# implement "--record-rpm" option for distutils installations
Patch01: Python-3.0b1-record-rpm.patch
# support lib-vs-lib64 distinction
@@ -50,23 +64,31 @@
# 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.2rc2-localpath.patch
+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
-# support for "linux3" platform, for linux 3 kernel
-Patch07: python-3.2-linux3.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
+### 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)
+%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, unsure why
+# 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}
@@ -74,6 +96,8 @@
#%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 is an interpreted, object-oriented programming language, and is
often compared to Tcl, Perl, Scheme, or Java. You can find an overview
@@ -84,17 +108,15 @@
install python-devel package.
-
Authors:
--------
Guido van Rossum
+
%package -n python3-tools
-License: Python-2.0
Requires: %{name} = %{version}
Summary: Python Utility and Demonstration Scripts
Group: Development/Languages/Python
-AutoReqProv: on
Obsoletes: python3-demo < %{version}
Provides: python3-demo = %{version}
@@ -104,11 +126,9 @@
%package -n python3-idle
-License: Python-2.0
Requires: %{name} = %{version} python3-tk
Summary: An Integrated Development Environment for Python
Group: Development/Languages/Python
-AutoReqProv: on
%description -n python3-idle
IDLE is a Tkinter based integrated development environment for Python.
@@ -118,11 +138,9 @@
%package -n python3-devel
-License: Python-2.0
Requires: %{name} = %{version}
Summary: Include Files and Libraries Mandatory for Building Python Modules
Group: Development/Languages/Python
-AutoReqProv: on
%description -n python3-devel
The Python programming language's interpreter can be extended with
@@ -136,12 +154,22 @@
package up to version 2.2.2.
+%package -n python3-testsuite
+Requires: python3 = %{version}
+Requires: python3-tkinter = %{version}
+Summary: Unit tests for Python and its standard library
+Group: Development/Languages/Python
+
+%description -n python3-testsuite
+Unit tests that are useful for verifying integrity and functionality
+of the installed Python interpreter and standard library.
+They are a documented part of stdlib, as a module 'test'.
+
+
%package -n python3-xml
-License: Python-2.0
Requires: %{name} = %{version}
Summary: A Python XML Interface
Group: Development/Libraries/Python
-AutoReqProv: on
%description -n python3-xml
The expat module is a Python interface to the expat XML parser. Since
@@ -149,21 +177,16 @@
%package -n python3-2to3
-License: Python-2.0
Requires: %{name} = %{version}
Summary: Python 3.0 conversion tool
Group: Development/Languages/Python
-AutoReqProv: on
%description -n python3-2to3
-Python3's version of the 2to3 conversion library. For all intents and
-purposes it appears to be identical to the one shipped with Python 2.6.
+Python3's version of the 2to3 conversion library.
%package -n libpython%{so_version}
-License: Python-2.0
Summary: Python Interpreter shared library
Group: Development/Languages/Python
-AutoReqProv: on
%description -n libpython%{so_version}
Python is an interpreted, object-oriented programming language, and is
@@ -171,13 +194,15 @@
of Python in the documentation and tutorials included in the python-doc
(HTML) or python-doc-pdf (PDF) packages.
-This package contains libpython2.6 shared library for embedding in
+This package contains libpython3.2 shared library for embedding in
other applications.
%prep
%setup -q -n %{tarname}
+### COMMON-PREP-BEGIN ###
+
%patch01 -p1
%patch02 -p1
#%%patch03
@@ -185,15 +210,21 @@
%patch04
%patch05 -p1
%patch06 -p1
-%patch07 -p1
+%patch07
+#disable test_io on ppc
+%ifarch ppc ppc64
+%patch08 -p1
+%endif
+%patch09 -p1
# drop Autoconf version requirement
sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.in
+### COMMON-PREP-END ###
+
%build
# use rpm_opt_flags
-export OPT="$RPM_OPT_FLAGS"
-#export OPT="-O0 -g"
+export OPT="%{optflags}"
touch -r %{S:0} Makefile.pre.in
@@ -215,10 +246,6 @@
make %{?_smp_mflags} profile-opt
%check
-# test_file fails in autobuild env - "stdin.seek(-1)" wrongly succeeds. probably an issue with autobuild's stdin
-# test_nis fails in autobuild env. probably a misconfiguration of mbuild servers
-#EXCLUDE="-x test_file -x test_nis"
-
# test_ctypes breaks on ARM - even on real machines
%ifarch %arm
EXCLUDE="$EXCLUDE -x test_ctypes"
@@ -227,12 +254,14 @@
%if 0%{?qemu_user_space_build} > 0
EXCLUDE="$EXCLUDE -x test_threading test_threadedtempfile test_io test_ioctl test_mmap test_openpty test_pty"
%endif
+# SUSE's gdb breaks test_gdb by producing spurious output (zypper suggestions)
+EXCLUDE="-x test_gdb"
# Limit virtual memory to avoid spurious failures
if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then
ulimit -v 10000000 || :
fi
-make test TESTOPTS="-l $EXCLUDE"
+make test TESTOPTS="-l $EXCLUDE" TESTPYTHONOPTS="-R"
# use network, be verbose:
#make test TESTOPTS="-l -u network -v"
@@ -247,12 +276,10 @@
# install it
make \
- OPT="$RPM_OPT_FLAGS -fPIC" \
+ OPT="%{optflags} -fPIC" \
DESTDIR=$RPM_BUILD_ROOT \
install
-%define sitedir %{_libdir}/python%{python_version}
-
# remove .a
find ${RPM_BUILD_ROOT} -name "*.a" -exec rm {} ";"
@@ -267,7 +294,7 @@
rm $RPM_BUILD_ROOT%{sitedir}/lib-dynload/$so.*
done
for dir in curses dbm sqlite3 tkinter; do
- rm -r $RPM_BUILD_ROOT%{sitedir}/$dir
+ find $RPM_BUILD_ROOT%{sitedir}/$dir/* -maxdepth 0 -name "test" -o -exec rm -rf {} ";"
done
# install site-specific tweaks
@@ -360,14 +387,21 @@
%{_libdir}/pkgconfig/*
%{_prefix}/include/python%{python_abi}
%exclude %{_prefix}/include/python%{python_abi}/pyconfig.h
-%{sitedir}/test
-%{dynlib _ctypes_test}
-%{dynlib _testcapi}
%defattr(755, root, root)
%{_bindir}/python%{python_abi}-config
%{_bindir}/python%{python_version}-config
%{_bindir}/python3-config
+%files -n python3-testsuite
+%defattr(644, root, root, 755)
+%{sitedir}/test
+%{sitedir}/*/test
+%{dynlib _ctypes_test}
+%{dynlib _testcapi}
+# workaround for missing packages
+%dir %{sitedir}/sqlite3
+%dir %{sitedir}/tkinter
+
%files -n python3-2to3
%defattr(644, root, root, 755)
%attr(755, root, root) %{_bindir}/2to3
@@ -442,6 +476,7 @@
%dir %{sitedir}
%dir %{sitedir}/site-packages
%dir %{sitedir}/site-packages/__pycache__
+%exclude %{sitedir}/*/test
%{sitedir}/*.*
%{sitedir}/ctypes
%{sitedir}/concurrent
++++++ python3-doc.spec ++++++
--- /var/tmp/diff_new_pack.CKeTPt/_old 2012-04-12 09:47:07.000000000 +0200
+++ /var/tmp/diff_new_pack.CKeTPt/_new 2012-04-12 09:47:07.000000000 +0200
@@ -15,19 +15,18 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
-
Name: python3-doc
Url: http://www.python.org/
-License: Python-2.0
-Group: Development/Languages/Python
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Additional Package Documentation for Python.
+License: Python-2.0
+Group: Development/Languages/Python
Version: 3.2
-Release: 3
-%define pyver 3.2.1
+Release: 0
+%define pyver 3.2.2.99rc2
BuildArch: noarch
-%define tarname Python-%{pyver}
+#%%define tarname Python-%{pyver}
+%define tarname Python-3.2.3rc2
%define pyname python
Enhances: %{pyname}=%{pyver}
Source0: %{tarname}.tar.bz2
@@ -45,12 +44,10 @@
%package pdf
-License: Python-2.0
Provides: pyth_pdf
Obsoletes: pyth_pdf
Summary: Python PDF Documentation
Group: Development/Languages/Python
-AutoReqProv: on
%description pdf
Tutorial, Global Module Index, Language Reference, Library Reference,
++++++ python3.spec ++++++
--- /var/tmp/diff_new_pack.CKeTPt/_old 2012-04-12 09:47:07.000000000 +0200
+++ /var/tmp/diff_new_pack.CKeTPt/_new 2012-04-12 09:47:07.000000000 +0200
@@ -15,18 +15,31 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
-
Name: python3
-BuildRequires: db-devel fdupes gcc-c++ gdbm-devel gettext-tools gmp-devel intltool libbz2-devel libopenssl-devel ncurses-devel readline-devel sqlite-devel tk-devel xorg-x11-devel automake
+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
-AutoReqProv: on
-Summary: Python3 Interpreter
-Version: 3.2.1
-Release: 2
-%define tarversion %{version}
+Version: 3.2.2.99rc2
+Release: 0
+#%%define tarversion %{version}
+%define tarversion 3.2.3rc2
%define tarname Python-%{tarversion}
Requires: python3-base = %{version}
@@ -36,22 +49,61 @@
#Source11: testfiles.tar.bz2
# issues with copyrighted Unicode testing files
-Patch01: Python-3.2.1-multilib.patch
-Patch02: python-2.6b3-curses-panel.patch
-Patch03: python-3.2-linux3.patch
+# 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
+### 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 sitedir %{_libdir}/python%{python_version}
+
+#%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 is an interpreted, object-oriented programming language, and is
+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.
@@ -67,11 +119,9 @@
%package tk
-License: Python-2.0
Requires: %{name} = %{version}
Summary: TkInter - Python Tk Interface
Group: Development/Libraries/Python
-AutoReqProv: on
%description tk
Python interface to Tk. Tk is the GUI toolkit that comes with Tcl. The
@@ -79,11 +129,9 @@
%package curses
-License: Python-2.0
Requires: %{name} = %{version}
Summary: Python Interface to the (N)Curses Library
Group: Development/Libraries/Python
-AutoReqProv: on
%description curses
An easy to use interface to the (n)curses CUI library. CUI stands for
@@ -91,11 +139,9 @@
%package dbm
-License: Python-2.0
Requires: %{name} = %{version}
Summary: Python Interface to the GDBM Library
Group: Development/Languages/Python
-AutoReqProv: on
%description dbm
An easy to use interface for Unix DBM databases, and more specifically,
@@ -104,17 +150,30 @@
%prep
%setup -q -n %{tarname}
-# patching
+### COMMON-PREP-BEGIN ###
+
%patch01 -p1
-%patch02
-%patch03 -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
# drop Autoconf version requirement
sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.in
+### COMMON-PREP-END ###
+
%build
export SUSE_ASNEEDED=0
-export OPT="$RPM_OPT_FLAGS"
+export OPT="%{optflags}"
autoreconf -f -i .
# prevent make from trying to rebuild asdl stuff, which requires existing
@@ -129,9 +188,10 @@
--enable-ipv6 \
--with-fpectl \
--enable-shared \
- --with-wide-unicode
+ --with-wide-unicode \
+ --with-system-ffi
-make %{?jobs:-j%jobs} # DESTDIR=$RPM_BUILD_ROOT
+make %{?_smp_mflags} # DESTDIR=$RPM_BUILD_ROOT
%check
# Limit virtual memory to avoid spurious failures
@@ -140,8 +200,7 @@
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 $EXCLUDE"
-
+make test TESTOPTS="-l $TESTS $EXCLUDE" TESTPYTHONOPTS="-R"
%install
# replace rest of /usr/local/bin/python or /usr/bin/python2.5 with /usr/bin/python3
@@ -150,7 +209,7 @@
# install it
make \
- OPT="$RPM_OPT_FLAGS -fPIC" \
+ OPT="%{optflags} -fPIC" \
DESTDIR=$RPM_BUILD_ROOT \
install
@@ -189,7 +248,6 @@
%fdupes $RPM_BUILD_ROOT/%{_libdir}/python%{python_version}
-
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}.so
%files tk
++++++ PACKAGING-NOTES ++++++
Notes for packagers of Python3
==============================
I. python3 and python3-base naming confusion
--------------------------------------------
1. the important stuff first
This is package "python3". However, master spec file for this package is "python3-base.spec".
That means that all important changes should be put into "python3-base.spec" and then submitted
against "python3" in OBS.
Changelogs of python3-base and python3 will be merged at some point. Now they arent,
but feel free to enter changes in either or both.
2. why is that?
Technical reasons. python3-base was originally supposed to be a minimal package with no external
dependencies - so that it can build early in the distribution rebuild. There were also some
build loops involved.
Turns out, 90% of Python's standard library can be built without external dependencies. That's
what we do - in python3-base. python3 then only contains the remaining bits - dependency-heavy
subpackages and some small pieces like ssl, hashlib and sqlite.
Logically, python3-base must be the master spec because it builds the important parts.
3. why not rename the whole package to python3-base?
Because that would be stupid. The package is called python3.
4. so why not make python3 the minimal package and put the rest in python3-the-rest?
Because other distributions use python3-base as the minimal package as well. Also, packages
that require python3 expect the whole deal, not a stripped-down version.
5. alright, let's build python3-base from python3.spec and python3 from someother.spec
Tried that, abandoned it. It is more trouble than it's worth.
II. pre_checkin.sh
------------------
Our pre_checkin.sh takes care of copying relevant portions of python3-base.spec to python3.spec.
The "relevant portions" are:
* list of patches
* list of macro definitions
* patch apply sequence in %prep
That means that when you're adding a patch, you need only add it to python3-base.spec and it will appear
magically in python3.spec too.
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 ++++++
#!/bin/bash
# This script is called automatically during autobuild checkin.
master=python3-base.spec
slaves=python3.spec
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
{
prev=1
for section in $sections; do
begin="/$section-BEGIN/"
end="/$section-END/"
sed -n -e "${prev},${begin}p" $slave
sed -n -e "${begin},${end}p" $master | head -n -1 | tail -n +2
prev=$end
done
sed -n -e "${prev},\$p" $slave
} > $slave.tmp && mv $slave.tmp $slave
done
++++++ python-3.2.2-disable-tests-in-test_io.patch ++++++
Index: Python-3.2.2/Lib/test/test_io.py
===================================================================
--- Python-3.2.2.orig/Lib/test/test_io.py
+++ Python-3.2.2/Lib/test/test_io.py
@@ -2804,6 +2804,7 @@ class SignalsTest(unittest.TestCase):
self.check_interrupted_read_retry(lambda x: x,
mode="r")
+ @unittest.skip('rhbz#732998')
@unittest.skipUnless(threading, 'Threading required for this test.')
def check_interrupted_write_retry(self, item, **fdopen_kwargs):
"""Check that a buffered write, when it gets interrupted (either
++++++ python-3.2rc2-localpath.patch -> python-3.2.3rc2-localpath.patch ++++++
--- /work/SRC/openSUSE:Factory/python3/python-3.2rc2-localpath.patch 2011-09-23 12:43:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3.new/python-3.2.3rc2-localpath.patch 2012-04-12 09:47:03.000000000 +0200
@@ -1,8 +1,8 @@
Index: Lib/site.py
===================================================================
---- Lib/site.py.orig
-+++ Lib/site.py
-@@ -57,7 +57,7 @@ import os
+--- Lib/site.py.orig 2012-03-29 16:34:50.000000000 +0200
++++ Lib/site.py 2012-03-29 16:34:50.000000000 +0200
+@@ -58,7 +58,7 @@
import traceback
# Prefixes for site-packages; add additional prefixes like /usr/local here
@@ -13,12 +13,12 @@
ENABLE_USER_SITE = None
Index: Lib/test/test_site.py
===================================================================
---- Lib/test/test_site.py.orig
-+++ Lib/test/test_site.py
-@@ -164,12 +164,27 @@ class HelperFunctionsTests(unittest.Test
- wanted = os.path.join('xoxo', 'Lib', 'site-packages')
- self.assertEqual(dirs[0], wanted)
+--- Lib/test/test_site.py.orig 2012-03-18 07:36:05.000000000 +0100
++++ Lib/test/test_site.py 2012-03-29 16:35:50.000000000 +0200
+@@ -236,12 +236,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
@@ -46,5 +46,5 @@
+ self.assertTrue(i in [2,4])
+ self.assertEqual(len(dirs), i)
else:
+ # other platforms
self.assertEqual(len(dirs), 2)
- self.assertEqual(dirs[0], 'xoxo')
++++++ python-3.2.3rc2-pypirc-secure.patch ++++++
# HG changeset patch
# User Philip Jenvey
# Date 1322701507 28800
# Branch 2.7
# Node ID e7c20a8476a0e2ca18f8040864cbc400818d8f24
# Parent 3ecddf168f1f554a17a047384fe0b02f2d688277
create the .pypirc securely
Index: Python-3.2.3rc2/Lib/distutils/config.py
===================================================================
--- Python-3.2.3rc2.orig/Lib/distutils/config.py 2012-03-18 07:36:03.000000000 +0100
+++ Python-3.2.3rc2/Lib/distutils/config.py 2012-03-29 16:39:59.000000000 +0200
@@ -43,16 +43,8 @@
def _store_pypirc(self, username, password):
"""Creates a default .pypirc file."""
rc = self._get_rc_file()
- f = open(rc, 'w')
- try:
- f.write(DEFAULT_PYPIRC % (username, password))
- finally:
- f.close()
- try:
- os.chmod(rc, 0o600)
- except OSError:
- # should do something better here
- pass
+ with os.fdopen(os.open(rc, os.O_CREAT | os.O_WRONLY, 0o600), 'w') as fp:
+ fp.write(DEFAULT_PYPIRC % (username, password))
def _read_pypirc(self):
"""Reads the .pypirc file."""
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org