[arch-commits] Commit in python2/repos (8 files)
Stéphane Gaudreault
stephane at archlinux.org
Thu Feb 2 19:30:11 UTC 2012
Date: Thursday, February 2, 2012 @ 14:30:11
Author: stephane
Revision: 148498
db-move: moved python2 from [testing] to [extra] (i686)
Added:
python2/repos/extra-i686/13156-revert-tls-changeset-subinterpreter.patch
(from rev 148497, python2/repos/testing-i686/13156-revert-tls-changeset-subinterpreter.patch)
python2/repos/extra-i686/PKGBUILD
(from rev 148497, python2/repos/testing-i686/PKGBUILD)
python2/repos/extra-i686/gdbm-magic-values.patch
(from rev 148497, python2/repos/testing-i686/gdbm-magic-values.patch)
python2/repos/extra-i686/linux2.patch
(from rev 148497, python2/repos/testing-i686/linux2.patch)
Deleted:
python2/repos/extra-i686/PKGBUILD
python2/repos/extra-i686/gdbm-magic-values.patch
python2/repos/extra-i686/linux2.patch
python2/repos/testing-i686/
-------------------------------------------------+
13156-revert-tls-changeset-subinterpreter.patch | 61 ++++++
PKGBUILD | 197 +++++++++++-----------
gdbm-magic-values.patch | 25 +-
linux2.patch | 46 ++---
4 files changed, 197 insertions(+), 132 deletions(-)
Copied: python2/repos/extra-i686/13156-revert-tls-changeset-subinterpreter.patch (from rev 148497, python2/repos/testing-i686/13156-revert-tls-changeset-subinterpreter.patch)
===================================================================
--- extra-i686/13156-revert-tls-changeset-subinterpreter.patch (rev 0)
+++ extra-i686/13156-revert-tls-changeset-subinterpreter.patch 2012-02-02 19:30:11 UTC (rev 148498)
@@ -0,0 +1,61 @@
+
+# HG changeset patch
+# User Charles-François Natali <neologix at free.fr>
+# Date 1318446474 -7200
+# Node ID ee4fe16d9b4822457ad855ea6c44e65030166304
+# Parent f6feed6ec3f9b024cecd0fd587595c403f55624f
+Issue #13156: revert changeset f6feed6ec3f9, which was only relevant for native
+TLS implementations, and fails with the ad-hoc TLS implementation when a thread
+doesn't have an auto thread state (e.g. a thread created outside of Python
+calling into a subinterpreter).
+
+diff --git a/Include/pystate.h b/Include/pystate.h
+--- a/Include/pystate.h
++++ b/Include/pystate.h
+@@ -111,7 +111,6 @@ PyAPI_FUNC(void) PyThreadState_Clear(PyT
+ PyAPI_FUNC(void) PyThreadState_Delete(PyThreadState *);
+ #ifdef WITH_THREAD
+ PyAPI_FUNC(void) PyThreadState_DeleteCurrent(void);
+-PyAPI_FUNC(void) _PyGILState_Reinit(void);
+ #endif
+
+ PyAPI_FUNC(PyThreadState *) PyThreadState_Get(void);
+diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
+--- a/Modules/signalmodule.c
++++ b/Modules/signalmodule.c
+@@ -976,7 +976,6 @@ void
+ PyOS_AfterFork(void)
+ {
+ #ifdef WITH_THREAD
+- _PyGILState_Reinit();
+ PyEval_ReInitThreads();
+ main_thread = PyThread_get_thread_ident();
+ main_pid = getpid();
+diff --git a/Python/pystate.c b/Python/pystate.c
+--- a/Python/pystate.c
++++ b/Python/pystate.c
+@@ -537,23 +537,6 @@ void
+ autoInterpreterState = NULL;
+ }
+
+-/* Reset the TLS key - called by PyOS_AfterFork.
+- * This should not be necessary, but some - buggy - pthread implementations
+- * don't flush TLS on fork, see issue #10517.
+- */
+-void
+-_PyGILState_Reinit(void)
+-{
+- PyThreadState *tstate = PyGILState_GetThisThreadState();
+- PyThread_delete_key(autoTLSkey);
+- if ((autoTLSkey = PyThread_create_key()) == -1)
+- Py_FatalError("Could not allocate TLS entry");
+-
+- /* re-associate the current thread state with the new key */
+- if (PyThread_set_key_value(autoTLSkey, (void *)tstate) < 0)
+- Py_FatalError("Couldn't create autoTLSkey mapping");
+-}
+-
+ /* When a thread state is created for a thread by some mechanism other than
+ PyGILState_Ensure, it's important that the GILState machinery knows about
+ it so it doesn't try to create another thread state for the thread (this is
+
Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2012-02-02 17:27:11 UTC (rev 148497)
+++ extra-i686/PKGBUILD 2012-02-02 19:30:11 UTC (rev 148498)
@@ -1,96 +0,0 @@
-# $Id$
-# Maintainer: Stéphane Gaudreault <stephane at archlinux.org>
-# Contributer: Allan McRae <allan at archlinux.org>
-# Contributer: Jason Chu <jason at archlinux.org>
-
-pkgname=python2
-pkgver=2.7.2
-pkgrel=4
-_pybasever=2.7
-pkgdesc="A high-level scripting language"
-arch=('i686' 'x86_64')
-license=('PSF')
-url="http://www.python.org/"
-depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3' 'libffi')
-makedepends=('tk')
-optdepends=('tk: for IDLE')
-conflicts=('python<3')
-options=('!makeflags')
-source=(http://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz
- linux2.patch
- gdbm-magic-values.patch)
-sha1sums=('56700044141402dc35e7a0a24aa7ffda1a8c1a53'
- '937c06190899a491d662c7918658313e7640070e'
- '0f4cd9508c9ace620a829a688a9285e0480b5fb5')
-
-build() {
- cd "${srcdir}/Python-${pkgver}"
-
- # Temporary workaround for FS#22322
- # See http://bugs.python.org/issue10835 for upstream report
- sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c
-
- # Enable built-in SQLite3 module to load extensions (fix FS#22122)
- sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py
-
- # FS#23997
- sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python2|" Lib/cgi.py
-
- # Make sure sys.platform is set to linux2, even on kernel 3.X
- # cf http://bugs.python.org/issue12326
- patch -Np1 -i ../linux2.patch
-
- # gdbm has new magic that whichdb does not recognize
- # http://bugs.python.org/issue13007
- patch -Np1 -i ../gdbm-magic-values.patch
-
- # Ensure that we are using the system copy of various libraries (expat, zlib and libffi),
- # rather than copies shipped in the tarball
- rm -r Modules/expat
- rm -r Modules/zlib
- rm -r Modules/_ctypes/{darwin,libffi}*
-
- export OPT="${CFLAGS}"
- ./configure --prefix=/usr --enable-shared --with-threads --enable-ipv6 \
- --enable-unicode=ucs4 --with-system-expat --with-system-ffi \
- --with-dbmliborder=gdbm:ndbm
-
- make MACHDEP=linux2
-}
-
-package() {
- cd "${srcdir}/Python-${pkgver}"
- make DESTDIR="${pkgdir}" altinstall maninstall
-
- ln -sf python${_pybasever} "${pkgdir}/usr/bin/python2"
- ln -sf python${_pybasever}-config "${pkgdir}/usr/bin/python2-config"
- ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python2.1"
-
- ln -sf ../../libpython${_pybasever}.so \
- "${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so"
-
- mv "${pkgdir}/usr/bin/smtpd.py" "${pkgdir}/usr/lib/python${_pybasever}/"
-
- # some useful "stuff"
- install -dm755 "${pkgdir}"/usr/lib/python${_pybasever}/Tools/{i18n,scripts}
- install -m755 Tools/i18n/{msgfmt,pygettext}.py \
- "${pkgdir}/usr/lib/python${_pybasever}/Tools/i18n/"
- install -m755 Tools/scripts/{README,*py} \
- "${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/"
-
- # fix conflicts with python
- mv "${pkgdir}"/usr/bin/idle{,2}
- mv "${pkgdir}"/usr/bin/pydoc{,2}
- mv "${pkgdir}"/usr/bin/2to3{,-2.7}
-
- # clean up #!s
- find "${pkgdir}/usr/lib/python${_pybasever}/" -name '*.py' | \
- xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
-
- # clean-up reference to build directory
- sed -i "s#${srcdir}/Python-${pkgver}:##" \
- "${pkgdir}/usr/lib/python${_pybasever}/config/Makefile"
-
- # license
- install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-}
Copied: python2/repos/extra-i686/PKGBUILD (from rev 148497, python2/repos/testing-i686/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD (rev 0)
+++ extra-i686/PKGBUILD 2012-02-02 19:30:11 UTC (rev 148498)
@@ -0,0 +1,101 @@
+# $Id$
+# Maintainer: Stéphane Gaudreault <stephane at archlinux.org>
+# Contributer: Allan McRae <allan at archlinux.org>
+# Contributer: Jason Chu <jason at archlinux.org>
+
+pkgname=python2
+pkgver=2.7.2
+pkgrel=5
+_pybasever=2.7
+pkgdesc="A high-level scripting language"
+arch=('i686' 'x86_64')
+license=('PSF')
+url="http://www.python.org/"
+depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3' 'libffi')
+makedepends=('tk')
+optdepends=('tk: for IDLE')
+conflicts=('python<3')
+options=('!makeflags')
+source=(http://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz
+ linux2.patch
+ gdbm-magic-values.patch
+ 13156-revert-tls-changeset-subinterpreter.patch)
+sha1sums=('56700044141402dc35e7a0a24aa7ffda1a8c1a53'
+ '937c06190899a491d662c7918658313e7640070e'
+ 'ede2c991b1a91eec5a01cc2d3a11231f17d750ae'
+ 'd61fa2b8efd1d08a2ee8a9aed434dc94b8297d6b')
+
+build() {
+ cd "${srcdir}/Python-${pkgver}"
+
+ # Temporary workaround for FS#22322
+ # See http://bugs.python.org/issue10835 for upstream report
+ sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c
+
+ # Enable built-in SQLite3 module to load extensions (fix FS#22122)
+ sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py
+
+ # FS#23997
+ sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python2|" Lib/cgi.py
+
+ # Make sure sys.platform is set to linux2, even on kernel 3.X
+ # cf http://bugs.python.org/issue12326
+ patch -Np1 -i ../linux2.patch
+
+ # gdbm has new magic that whichdb does not recognize
+ # http://bugs.python.org/issue13007
+ patch -Np1 -i ../gdbm-magic-values.patch
+
+ # http://bugs.python.org/issue13156
+ patch -Np1 -i ../13156-revert-tls-changeset-subinterpreter.patch
+
+ # Ensure that we are using the system copy of various libraries (expat, zlib and libffi),
+ # rather than copies shipped in the tarball
+ rm -r Modules/expat
+ rm -r Modules/zlib
+ rm -r Modules/_ctypes/{darwin,libffi}*
+
+ export OPT="${CFLAGS}"
+ ./configure --prefix=/usr --enable-shared --with-threads --enable-ipv6 \
+ --enable-unicode=ucs4 --with-system-expat --with-system-ffi \
+ --with-dbmliborder=gdbm:ndbm
+
+ make MACHDEP=linux2
+}
+
+package() {
+ cd "${srcdir}/Python-${pkgver}"
+ make DESTDIR="${pkgdir}" altinstall maninstall
+
+ ln -sf python${_pybasever} "${pkgdir}/usr/bin/python2"
+ ln -sf python${_pybasever}-config "${pkgdir}/usr/bin/python2-config"
+ ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python2.1"
+
+ ln -sf ../../libpython${_pybasever}.so \
+ "${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so"
+
+ mv "${pkgdir}/usr/bin/smtpd.py" "${pkgdir}/usr/lib/python${_pybasever}/"
+
+ # some useful "stuff"
+ install -dm755 "${pkgdir}"/usr/lib/python${_pybasever}/Tools/{i18n,scripts}
+ install -m755 Tools/i18n/{msgfmt,pygettext}.py \
+ "${pkgdir}/usr/lib/python${_pybasever}/Tools/i18n/"
+ install -m755 Tools/scripts/{README,*py} \
+ "${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/"
+
+ # fix conflicts with python
+ mv "${pkgdir}"/usr/bin/idle{,2}
+ mv "${pkgdir}"/usr/bin/pydoc{,2}
+ mv "${pkgdir}"/usr/bin/2to3{,-2.7}
+
+ # clean up #!s
+ find "${pkgdir}/usr/lib/python${_pybasever}/" -name '*.py' | \
+ xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
+
+ # clean-up reference to build directory
+ sed -i "s#${srcdir}/Python-${pkgver}:##" \
+ "${pkgdir}/usr/lib/python${_pybasever}/config/Makefile"
+
+ # license
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
Deleted: extra-i686/gdbm-magic-values.patch
===================================================================
--- extra-i686/gdbm-magic-values.patch 2012-02-02 17:27:11 UTC (rev 148497)
+++ extra-i686/gdbm-magic-values.patch 2012-02-02 19:30:11 UTC (rev 148498)
@@ -1,13 +0,0 @@
-diff -up Python-2.7.2/Lib/whichdb.py.gdbm-1.9-magic Python-2.7.2/Lib/whichdb.py
---- Python-2.7.2/Lib/whichdb.py.gdbm-1.9-magic 2011-06-11 11:46:26.000000000 -0400
-+++ Python-2.7.2/Lib/whichdb.py 2011-09-30 15:45:21.778872290 -0400
-@@ -91,7 +91,7 @@ def whichdb(filename):
- return ""
-
- # Check for GNU dbm
-- if magic == 0x13579ace:
-+ if magic in (0x13579ace, 0x13579acd, 0x13579acf):
- return "gdbm"
-
- # Check for old Berkeley db hash file format v2
-diff -up Python-2.7.2/Misc/NEWS.gdbm-1.9-magic Python-2.7.2/Misc/NEWS
Copied: python2/repos/extra-i686/gdbm-magic-values.patch (from rev 148497, python2/repos/testing-i686/gdbm-magic-values.patch)
===================================================================
--- extra-i686/gdbm-magic-values.patch (rev 0)
+++ extra-i686/gdbm-magic-values.patch 2012-02-02 19:30:11 UTC (rev 148498)
@@ -0,0 +1,12 @@
+diff -up Python-2.7.2/Lib/whichdb.py.gdbm-1.9-magic Python-2.7.2/Lib/whichdb.py
+--- Python-2.7.2/Lib/whichdb.py.gdbm-1.9-magic 2011-06-11 11:46:26.000000000 -0400
++++ Python-2.7.2/Lib/whichdb.py 2011-09-30 15:45:21.778872290 -0400
+@@ -91,7 +91,7 @@ def whichdb(filename):
+ return ""
+
+ # Check for GNU dbm
+- if magic == 0x13579ace:
++ if magic in (0x13579ace, 0x13579acd, 0x13579acf):
+ return "gdbm"
+
+ # Check for old Berkeley db hash file format v2
Deleted: extra-i686/linux2.patch
===================================================================
--- extra-i686/linux2.patch 2012-02-02 17:27:11 UTC (rev 148497)
+++ extra-i686/linux2.patch 2012-02-02 19:30:11 UTC (rev 148498)
@@ -1,23 +0,0 @@
-http://hg.python.org/cpython/rev/c816479f6aaf/
-diff --git a/configure b/configure
---- a/configure
-+++ b/configure
-@@ -2995,6 +2995,7 @@ then
- MACHDEP="$ac_md_system$ac_md_release"
-
- case $MACHDEP in
-+ linux*) MACHDEP="linux2";;
- cygwin*) MACHDEP="cygwin";;
- darwin*) MACHDEP="darwin";;
- atheos*) MACHDEP="atheos";;
-diff --git a/configure.in b/configure.in
---- a/configure.in
-+++ b/configure.in
-@@ -293,6 +293,7 @@ then
- MACHDEP="$ac_md_system$ac_md_release"
-
- case $MACHDEP in
-+ linux*) MACHDEP="linux2";;
- cygwin*) MACHDEP="cygwin";;
- darwin*) MACHDEP="darwin";;
- atheos*) MACHDEP="atheos";;
Copied: python2/repos/extra-i686/linux2.patch (from rev 148497, python2/repos/testing-i686/linux2.patch)
===================================================================
--- extra-i686/linux2.patch (rev 0)
+++ extra-i686/linux2.patch 2012-02-02 19:30:11 UTC (rev 148498)
@@ -0,0 +1,23 @@
+http://hg.python.org/cpython/rev/c816479f6aaf/
+diff --git a/configure b/configure
+--- a/configure
++++ b/configure
+@@ -2995,6 +2995,7 @@ then
+ MACHDEP="$ac_md_system$ac_md_release"
+
+ case $MACHDEP in
++ linux*) MACHDEP="linux2";;
+ cygwin*) MACHDEP="cygwin";;
+ darwin*) MACHDEP="darwin";;
+ atheos*) MACHDEP="atheos";;
+diff --git a/configure.in b/configure.in
+--- a/configure.in
++++ b/configure.in
+@@ -293,6 +293,7 @@ then
+ MACHDEP="$ac_md_system$ac_md_release"
+
+ case $MACHDEP in
++ linux*) MACHDEP="linux2";;
+ cygwin*) MACHDEP="cygwin";;
+ darwin*) MACHDEP="darwin";;
+ atheos*) MACHDEP="atheos";;
More information about the arch-commits
mailing list