diff options
author | 2009-05-31 00:35:32 +0000 | |
---|---|---|
committer | 2009-05-31 00:35:32 +0000 | |
commit | dd01f6f004a858425ac4ee020f77a974253e10b2 (patch) | |
tree | e607b0d658e7c1830a0c1599012c0d6b38a2ce1e /dev-lang/python/files | |
parent | Version bump. This release fixes parallel make issues, bug 271240. (diff) | |
download | historical-dd01f6f004a858425ac4ee020f77a974253e10b2.tar.gz historical-dd01f6f004a858425ac4ee020f77a974253e10b2.tar.bz2 historical-dd01f6f004a858425ac4ee020f77a974253e10b2.zip |
Remove older ebuilds.
Diffstat (limited to 'dev-lang/python/files')
-rw-r--r-- | dev-lang/python/files/depreorder-topsort.py | 65 | ||||
-rw-r--r-- | dev-lang/python/files/depreorder.py | 66 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch | 44 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.4.2-gentoo_obsd.patch | 42 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.5.2_turkish.patch | 138 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.6-cross-patch-tweak.patch | 15 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.6_turkish.patch | 130 | ||||
-rw-r--r-- | dev-lang/python/files/python-updater | 322 | ||||
-rw-r--r-- | dev-lang/python/files/python-updater-r1 | 322 |
9 files changed, 0 insertions, 1144 deletions
diff --git a/dev-lang/python/files/depreorder-topsort.py b/dev-lang/python/files/depreorder-topsort.py deleted file mode 100644 index 4c3cb7bc84ab..000000000000 --- a/dev-lang/python/files/depreorder-topsort.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/python - -# tries to reorder the deps of a given list of packages so they -# are merged in order - liquidx@g.o (09 Oct 03) - -import portage -import sys, string - -fakedbapi = portage.fakedbapi() -varapi = portage.db["/"]["vartree"].dbapi - -pkgs_to_reorder = sys.argv[1:] -pkgs_ordered = [] - -# key = catpkgver -# value = dependencies -dep_cache = {} - - -# very simply, we extract the dependencies for each package -for pkg in pkgs_to_reorder: - try: - deps, slot = varapi.aux_get(pkg, ["DEPEND", "SLOT"]) - except ValueError: - sys.stderr.write("Error getting dependency information off " + pkg + "\n") - continue - try: - realdeps = portage.dep_check(deps, fakedbapi) - except TypeError: - # we're probably running >=portage-2.0.50 - pkgsettings = portage.config(clone=portage.settings) - realdeps = portage.dep_check(deps, fakedbapi, pkgsettings) - - vardeps = [] - # match() finds the versions of all those that are installed - for dep in realdeps[1]: - vardeps = vardeps + varapi.match(dep) - dep_cache[pkg] = vardeps - -# topsort takes a graph (given as a dictionary with the nodes -# as keys and the outgoing edges as values), and returns a -# list of nodes that is topologically sorted -def topsort (graph) : - visited = dict([(node,False) for node in graph.keys()]) - result = [] - - def dfs_single (node) : - visited[node] = True - for adj in graph[node]: - # we ignore dependencies that are not nodes in the graph - if adj in graph.keys() and not visited[adj]: - dfs_single (adj) - result.append(node) - - for node in graph.keys(): - if not visited[node]: - dfs_single (node) - - return result - -pkgs_final_order = topsort(dep_cache) - -print string.join(pkgs_final_order, "\n") -#print portage.dep_expand("=dev-python/sip-3.8", portage.portdb) -#print portage.dep_check("X? ( >=dev-python/sip-3.8 )", fakedbapi) diff --git a/dev-lang/python/files/depreorder.py b/dev-lang/python/files/depreorder.py deleted file mode 100644 index 2305eb08aacd..000000000000 --- a/dev-lang/python/files/depreorder.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/python - -# tries to reorder the deps of a given list of packages so they -# are merged in order - liquidx@g.o (09 Oct 03) - -import portage -import sys, string - -fakedbapi = portage.fakedbapi() -varapi = portage.db["/"]["vartree"].dbapi - -pkgs_to_reorder = sys.argv[1:] -pkgs_ordered = [] -# key = catpkgver -# value = ( added, dependencies, slot ) -DEP_ADDED = 0 -DEP_DEPLIST = 1 -DEP_SLOT = 2 -dep_cache = {} - - -# very simply, we extract the dependencies for each package -for pkg in pkgs_to_reorder: - try: - deps, slot = varapi.aux_get(pkg, ["DEPEND", "SLOT"]) - except ValueError: - sys.stderr.write("Error getting dependency information off " + pkg + "\n") - continue - try: - realdeps = portage.dep_check(deps, fakedbapi) - except TypeError: - # we're probably running >=portage-2.0.50 - pkgsettings = portage.config(clone=portage.settings) - realdeps = portage.dep_check(deps, fakedbapi, pkgsettings) - - vardeps = [] - # match() finds the versions of all those that are installed - for dep in realdeps[1]: - vardeps = vardeps + varapi.match(dep) - dep_cache[pkg] = ( 0, vardeps, slot ) - -# then we just naively append to a sorted list of deps using this rule. -# if a dependency is going to be merged, we add it to the list like -# with the dep then the pkg itself. -# eg: dev-python/pyqt deps on dev-python/sip, so we the list will look like -# [dev-python/sip, dev-python/pyqt] -for pkg, depinfo in dep_cache.items(): - dep_to_add = [] - for dep in depinfo[DEP_DEPLIST]: - if dep in pkgs_to_reorder: - dep_to_add.append(dep) - - pkgs_ordered += dep_to_add + [pkg] - -# now, because the packages may have nested or multple dependencies, we -# then move thru the list from first to last and remove all duplicates. -# that way we know for sure that a package isn't merged twice or a dep -# comes before the package that depends on it. -pkgs_final_order = [] -for pkg in pkgs_ordered: - if pkg not in pkgs_final_order: - pkgs_final_order += [pkg] - -print string.join(pkgs_final_order, "\n") -#print portage.dep_expand("=dev-python/sip-3.8", portage.portdb) -#print portage.dep_check("X? ( >=dev-python/sip-3.8 )", fakedbapi) diff --git a/dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch b/dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch deleted file mode 100644 index 1c3a4899fc60..000000000000 --- a/dev-lang/python/files/python-2.4.2-gentoo_obsd-r1.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -ruN Python-2.4.2.orig/configure.in Python-2.4.2/configure.in ---- Python-2.4.2.orig/configure.in 2005-08-07 23:08:53.000000000 +0200 -+++ Python-2.4.2/configure.in 2006-04-26 16:25:03.241669250 +0200 -@@ -140,7 +140,7 @@ - # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, - # even though select is a POSIX function. Reported by J. Ribbens. - # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. -- OpenBSD/2.* | OpenBSD/3.@<:@0123456@:>@) -+ OpenBSD/2.* | OpenBSD/3.@<:@0123456789@:>@) - define_xopen_source=no;; - # On Solaris 2.6, sys/wait.h is inconsistent in the usage - # of union __?sigval. Reported by Stuart Bishop. -@@ -1517,9 +1517,16 @@ - - # only check for sem_ini if thread support is requested - if test "$with_threads" = "yes" -o -z "$with_threads"; then -+ case "$ac_sys_system" in -+ OpenBSD*) -+ LIBS="-pthread ${LIBS}" -+ ;; -+ *) - AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris - # posix4 on Solaris 2.6 - # pthread (first!) on Linux -+ ;; -+ esac - fi - - # check if we need libintl for locale functions -diff -ruN Python-2.4.2.orig/Include/Python.h Python-2.4.2/Include/Python.h ---- Python-2.4.2.orig/Include/Python.h 2004-07-27 17:57:23.000000000 +0200 -+++ Python-2.4.2/Include/Python.h 2006-04-26 16:24:15.274671500 +0200 -@@ -2,6 +2,11 @@ - #define Py_PYTHON_H - /* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */ - -+/* Required on Gentoo/OpenBSD */ -+#if defined(__OpenBSD__) -+#include <sys/types.h> -+#endif -+ - /* Include nearly all Python header files */ - - #include "patchlevel.h" diff --git a/dev-lang/python/files/python-2.4.2-gentoo_obsd.patch b/dev-lang/python/files/python-2.4.2-gentoo_obsd.patch deleted file mode 100644 index 69c59747a423..000000000000 --- a/dev-lang/python/files/python-2.4.2-gentoo_obsd.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -ruN Python-2.4.2.orig/Include/Python.h Python-2.4.2/Include/Python.h ---- Python-2.4.2.orig/Include/Python.h 2004-07-27 17:57:23 +0200 -+++ Python-2.4.2/Include/Python.h 2006-01-01 17:50:35 +0100 -@@ -2,6 +2,9 @@ - #define Py_PYTHON_H - /* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */ - -+/* Required on Gentoo/OpenBSD */ -+#include <sys/types.h> -+ - /* Include nearly all Python header files */ - - #include "patchlevel.h" -diff -ruN Python-2.4.2.orig/configure.in Python-2.4.2/configure.in ---- Python-2.4.2.orig/configure.in 2005-08-07 23:08:53 +0200 -+++ Python-2.4.2/configure.in 2006-01-01 17:53:27 +0100 -@@ -140,7 +140,7 @@ - # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, - # even though select is a POSIX function. Reported by J. Ribbens. - # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. -- OpenBSD/2.* | OpenBSD/3.@<:@0123456@:>@) -+ OpenBSD/2.* | OpenBSD/3.@<:@012345678@:>@) - define_xopen_source=no;; - # On Solaris 2.6, sys/wait.h is inconsistent in the usage - # of union __?sigval. Reported by Stuart Bishop. -@@ -1517,9 +1517,16 @@ - - # only check for sem_ini if thread support is requested - if test "$with_threads" = "yes" -o -z "$with_threads"; then -+ case "$ac_sys_system" in -+ OpenBSD*) -+ LIBS="-pthread ${LIBS}" -+ ;; -+ *) - AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris - # posix4 on Solaris 2.6 - # pthread (first!) on Linux -+ ;; -+ esac - fi - - # check if we need libintl for locale functions diff --git a/dev-lang/python/files/python-2.5.2_turkish.patch b/dev-lang/python/files/python-2.5.2_turkish.patch deleted file mode 100644 index 2685e87a3851..000000000000 --- a/dev-lang/python/files/python-2.5.2_turkish.patch +++ /dev/null @@ -1,138 +0,0 @@ -#Purpose: Add Turkish tr_TR locale support in some modules. -#Added by: Jesus Rivero <neurogeek@gentoo.org> -#Thanks to Serkan <serkan@gentoo.org> -#Upstream bug: http://bugs.python.org/issue1813 -#Date Added: 06/12/2008 -#Gentoo bug: 250075 - -diff -uNr Python-2.5.2.orig/Lib/decimal.py Python-2.5.2/Lib/decimal.py ---- Python-2.5.2.orig/Lib/decimal.py 2008-12-01 23:39:58.000000000 -0430 -+++ Python-2.5.2/Lib/decimal.py 2008-12-01 23:43:17.000000000 -0430 -@@ -146,6 +146,13 @@ - ROUND_HALF_DOWN = 'ROUND_HALF_DOWN' - ROUND_05UP = 'ROUND_05UP' - -+import string -+ -+def ascii_upper(s): -+ trans_table = string.maketrans(string.ascii_lowercase, string.ascii_uppercase) -+ return s.translate(trans_table) -+ -+ - # Errors - - class DecimalException(ArithmeticError): -@@ -3354,7 +3361,7 @@ - if name.startswith('_round_')] - for name in rounding_functions: - # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value. -- globalname = name[1:].upper() -+ globalname = ascii_upper(name[1:]) - val = globals()[globalname] - Decimal._pick_rounding_function[val] = name - -diff -uNr Python-2.5.2.orig/Lib/email/__init__.py Python-2.5.2/Lib/email/__init__.py ---- Python-2.5.2.orig/Lib/email/__init__.py 2008-12-01 23:39:57.000000000 -0430 -+++ Python-2.5.2/Lib/email/__init__.py 2008-12-06 15:14:43.000000000 -0430 -@@ -109,15 +109,18 @@ - 'Text', - ] - -+import string -+lower_map = string.maketrans(string.ascii_uppercase, string.ascii_lowercase) -+ - for _name in _LOWERNAMES: -- importer = LazyImporter(_name.lower()) -+ importer = LazyImporter(_name.translate(lower_map)) - sys.modules['email.' + _name] = importer - setattr(sys.modules['email'], _name, importer) - - - import email.mime - for _name in _MIMENAMES: -- importer = LazyImporter('mime.' + _name.lower()) -+ importer = LazyImporter('mime.' + _name.translate(lower_map)) - sys.modules['email.MIME' + _name] = importer - setattr(sys.modules['email'], 'MIME' + _name, importer) - setattr(sys.modules['email.mime'], _name, importer) -diff -uNr Python-2.5.2.orig/Lib/locale.py Python-2.5.2/Lib/locale.py ---- Python-2.5.2.orig/Lib/locale.py 2008-12-01 23:39:57.000000000 -0430 -+++ Python-2.5.2/Lib/locale.py 2008-12-06 15:18:26.000000000 -0430 -@@ -278,6 +278,15 @@ - # overridden below) - _setlocale = setlocale - -+# Avoid relying on the locale-dependent .lower() method -+# (see bug #1813). -+_ascii_lower_map = ''.join( -+ chr(x + 32 if x >= ord('A') and x <= ord('Z') else x) -+ for x in range(256) -+) -+ -+ -+ - def normalize(localename): - - """ Returns a normalized locale code for the given locale -@@ -295,7 +304,7 @@ - - """ - # Normalize the locale name and extract the encoding -- fullname = localename.lower() -+ fullname = localename.encode('ascii').translate(_ascii_lower_map) - if ':' in fullname: - # ':' is sometimes used as encoding delimiter. - fullname = fullname.replace(':', '.') -diff -uNr Python-2.5.2.orig/Lib/test/test_codecs.py Python-2.5.2/Lib/test/test_codecs.py ---- Python-2.5.2.orig/Lib/test/test_codecs.py 2008-12-01 23:39:57.000000000 -0430 -+++ Python-2.5.2/Lib/test/test_codecs.py 2008-12-06 15:21:02.000000000 -0430 -@@ -1,6 +1,7 @@ - from __future__ import with_statement - from test import test_support - import unittest -+import locale - import codecs - import sys, StringIO, _testcapi - -@@ -938,6 +939,16 @@ - self.assertRaises(LookupError, codecs.lookup, "__spam__") - self.assertRaises(LookupError, codecs.lookup, " ") - -+ def test_lookup_with_locale(self): -+ # Bug #1813: when normalizing codec name, lowercasing must be locale -+ # agnostic, otherwise the looked up codec name might end up wrong. -+ try: -+ locale.setlocale(locale.LC_CTYPE, 'tr') -+ except locale.Error: -+ # SKIPped test -+ return -+ codecs.lookup('ISO8859_1') -+ - def test_getencoder(self): - self.assertRaises(TypeError, codecs.getencoder) - self.assertRaises(LookupError, codecs.getencoder, "__spam__") -diff -uNr Python-2.5.2.orig/Python/codecs.c Python-2.5.2/Python/codecs.c ---- Python-2.5.2.orig/Python/codecs.c 2008-12-01 23:39:58.000000000 -0430 -+++ Python-2.5.2/Python/codecs.c 2008-12-01 23:41:58.000000000 -0430 -@@ -45,6 +45,12 @@ - return -1; - } - -+/* isupper() forced into the ASCII Locale */ -+#define ascii_isupper(x) (((x) >= 0x41) && ((x) <= 0x5A)) -+/* tolower() forced into the ASCII Locale */ -+#define ascii_tolower(x) (ascii_isupper(x) ? ((x) + 0x20) : (x)) -+ -+ - /* Convert a string to a normalized Python string: all characters are - converted to lower case, spaces are replaced with underscores. */ - -@@ -70,7 +76,7 @@ - if (ch == ' ') - ch = '-'; - else -- ch = tolower(Py_CHARMASK(ch)); -+ ch = ascii_tolower(Py_CHARMASK(ch)); - p[i] = ch; - } - return v; diff --git a/dev-lang/python/files/python-2.6-cross-patch-tweak.patch b/dev-lang/python/files/python-2.6-cross-patch-tweak.patch deleted file mode 100644 index 4aa5cf49a115..000000000000 --- a/dev-lang/python/files/python-2.6-cross-patch-tweak.patch +++ /dev/null @@ -1,15 +0,0 @@ -our patchset is out dated ... this really should get merged ... - ---- ../2.6/08_all_crosscompile.patch -+++ ../2.6/08_all_crosscompile.patch -@@ -60,8 +60,8 @@ - -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ --- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram" --+ ./$(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram" -+- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" -++ ./$(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" - - # Create the PLATDIR source directory, if one wasn't distributed.. - $(srcdir)/Lib/$(PLATDIR): diff --git a/dev-lang/python/files/python-2.6_turkish.patch b/dev-lang/python/files/python-2.6_turkish.patch deleted file mode 100644 index 479c3c3738ef..000000000000 --- a/dev-lang/python/files/python-2.6_turkish.patch +++ /dev/null @@ -1,130 +0,0 @@ -diff -uNr Python-2.6.1.orig/Lib/decimal.py Python-2.6.1/Lib/decimal.py ---- Python-2.6.1.orig/Lib/decimal.py 2008-12-13 14:30:59.000000000 -0430 -+++ Python-2.6.1/Lib/decimal.py 2008-12-13 14:32:59.000000000 -0430 -@@ -152,6 +152,13 @@ - ROUND_HALF_DOWN = 'ROUND_HALF_DOWN' - ROUND_05UP = 'ROUND_05UP' - -+import string -+ -+def ascii_upper(s): -+ trans_table = string.maketrans(string.ascii_lowercase, string.ascii_uppercase) -+ return s.translate(trans_table) -+ -+ - # Errors - - class DecimalException(ArithmeticError): -@@ -3563,7 +3570,7 @@ - if name.startswith('_round_')] - for name in rounding_functions: - # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value. -- globalname = name[1:].upper() -+ globalname = ascii_upper(name[1:]) - val = globals()[globalname] - Decimal._pick_rounding_function[val] = name - -diff -uNr Python-2.6.1.orig/Lib/email/__init__.py Python-2.6.1/Lib/email/__init__.py ---- Python-2.6.1.orig/Lib/email/__init__.py 2008-12-13 14:30:59.000000000 -0430 -+++ Python-2.6.1/Lib/email/__init__.py 2008-12-13 14:34:13.000000000 -0430 -@@ -109,15 +109,19 @@ - 'Text', - ] - -+import string -+lower_map = string.maketrans(string.ascii_uppercase, string.ascii_lowercase) -+ -+ - for _name in _LOWERNAMES: -- importer = LazyImporter(_name.lower()) -+ importer = LazyImporter(_name.translate(lower_map)) - sys.modules['email.' + _name] = importer - setattr(sys.modules['email'], _name, importer) - - - import email.mime - for _name in _MIMENAMES: -- importer = LazyImporter('mime.' + _name.lower()) -+ importer = LazyImporter('mime.' + _name.translate(lower_map)) - sys.modules['email.MIME' + _name] = importer - setattr(sys.modules['email'], 'MIME' + _name, importer) - setattr(sys.modules['email.mime'], _name, importer) -diff -uNr Python-2.6.1.orig/Lib/locale.py Python-2.6.1/Lib/locale.py ---- Python-2.6.1.orig/Lib/locale.py 2008-12-13 14:30:59.000000000 -0430 -+++ Python-2.6.1/Lib/locale.py 2008-12-13 14:57:18.000000000 -0430 -@@ -294,6 +294,14 @@ - # overridden below) - _setlocale = setlocale - -+# Avoid relying on the locale-dependent .lower() method -+# (see bug #1813). -+_ascii_lower_map = ''.join( -+ chr(x + 32 if x >= ord('A') and x <= ord('Z') else x) -+ for x in range(256) -+) -+ -+ - def normalize(localename): - - """ Returns a normalized locale code for the given locale -@@ -311,7 +319,7 @@ - - """ - # Normalize the locale name and extract the encoding -- fullname = localename.lower() -+ fullname = localename.encode('ascii').translate(_ascii_lower_map) - if ':' in fullname: - # ':' is sometimes used as encoding delimiter. - fullname = fullname.replace(':', '.') -diff -uNr Python-2.6.1.orig/Lib/test/test_codecs.py Python-2.6.1/Lib/test/test_codecs.py ---- Python-2.6.1.orig/Lib/test/test_codecs.py 2008-12-13 14:30:59.000000000 -0430 -+++ Python-2.6.1/Lib/test/test_codecs.py 2008-12-13 14:58:33.000000000 -0430 -@@ -1,5 +1,6 @@ - from test import test_support - import unittest -+import locale - import codecs - import sys, StringIO, _testcapi - -@@ -1078,6 +1079,16 @@ - self.assertRaises(LookupError, codecs.lookup, "__spam__") - self.assertRaises(LookupError, codecs.lookup, " ") - -+ def test_lookup_with_locale(self): -+ # Bug #1813: when normalizing codec name, lowercasing must be locale -+ # agnostic, otherwise the looked up codec name might end up wrong. -+ try: -+ locale.setlocale(locale.LC_CTYPE, 'tr') -+ except locale.Error: -+ # SKIPped test -+ return -+ codecs.lookup('ISO8859_1') -+ - def test_getencoder(self): - self.assertRaises(TypeError, codecs.getencoder) - self.assertRaises(LookupError, codecs.getencoder, "__spam__") -diff -uNr Python-2.6.1.orig/Python/codecs.c Python-2.6.1/Python/codecs.c ---- Python-2.6.1.orig/Python/codecs.c 2008-12-13 14:31:00.000000000 -0430 -+++ Python-2.6.1/Python/codecs.c 2008-12-13 14:59:43.000000000 -0430 -@@ -45,6 +45,12 @@ - return -1; - } - -+/* isupper() forced into the ASCII Locale */ -+#define ascii_isupper(x) (((x) >= 0x41) && ((x) <= 0x5A)) -+/* tolower() forced into the ASCII Locale */ -+#define ascii_tolower(x) (ascii_isupper(x) ? ((x) + 0x20) : (x)) -+ -+ - /* Convert a string to a normalized Python string: all characters are - converted to lower case, spaces are replaced with underscores. */ - -@@ -70,7 +76,7 @@ - if (ch == ' ') - ch = '-'; - else -- ch = tolower(Py_CHARMASK(ch)); -+ ch = ascii_tolower(Py_CHARMASK(ch)); - p[i] = ch; - } - return v; diff --git a/dev-lang/python/files/python-updater b/dev-lang/python/files/python-updater deleted file mode 100644 index 62bc736bc48b..000000000000 --- a/dev-lang/python/files/python-updater +++ /dev/null @@ -1,322 +0,0 @@ -#!/bin/sh -# -# A bit of hackery to update everything that is humanly possible -# that maybe related to an older version of python. This script can -# be run as many times as you like. It will log the results in -# /tmp/python-updater.log -# -# OLD_PY_VER = old python version we are upgrading from -# NEW_PY_VER = new python version we are upgrading to -# PKGS_EXCEPTIONS = packages that should NOT be re-emerged for any reason -# PKGS_MANUAL = packages that should be re-emerged even if they don't -# fit the criteria (eg. ones that have python compiled -# statically) - FIXME -# -# Runtime Variables: -# -# PKGS_TO_REMERGE = list of packages we deem to need re-emerging -# PKGS_OK = list of packages that should be merged without any problems -# PKGS_MISSING = list of packages that are installed, but cannot be merged -# because they have been pruned from portage -# PKGS_MASKED = list of packages that are installed, but masked. -# - -NEW_PY_VER=$(python -V 2>&1 | sed 's:Python ::' | cut -d. -f1-2) - -PKGS_EXCEPTIONS="dev-lang/python sys-apps/portage" -PKGS_MANUAL="app-office/gnumeric app-office/dia x11-libs/vte" -LOGFILE="/var/log/python-updater.log" - -# portage variables -PKG_DBDIR=/var/db/pkg -PORTDIR=`portageq portdir` -PORTDIR_OVERLAYS=`portageq portdir_overlay` - -PRETEND=0 -PKGS_TO_REMERGE="" -PKGS_COUNT_REMERGE=0 -PORTAGE_PYTHON="/usr/bin/python" - -# load the gentoo-style info macros, but hack to get around -# it thinking this is an rc script -EBUILD="1" -source /etc/init.d/functions.sh || exit 1 - - - -for old in 2.4 2.3 2.2 2.1; do - if [ "${old}" != "${NEW_PY_VER}" ]; then - if [ -e /usr/bin/python${old} ] ; then - OLD_PY_VER=${old} - break; - fi - fi -done - - -if [ -z "${OLD_PY_VER}" ] ; then - eerror "Can't determine any previous Python version(s)." - exit 1 -fi - - -# misc helper functions -eloginfo() { - einfo $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} - ${*}" >> ${LOGFILE} -} - -elogecho() { - echo -n " " - echo $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} - ${*}" >> ${LOGFILE} -} - -elogerr() { - eerror $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} ! ${*}" >> ${LOGFILE} -} - -elog() { - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} - ${*}" >> ${LOGFILE} -} - - -usage() { - echo "usage: python-updater [-h|-p|-o X.X|-n X.X]" - echo " -h help" - echo " -p pretend (don't do anything)" - echo " -o X.X set old python version to upgrade from [default: ${OLD_PY_VER}]" - echo " -n X.X set new python version to upgrade to [default: ${NEW_PY_VER}]" -} - -# -# Sanity check -# - -if [ -z "${PORTDIR}" ]; then - eerror "Unable to proceed. Can not find PORTDIR. Make sure the command:" - eerror " " - eerror " portageq portdir" - eerror " " - eerror "returns a value. If it doesn't, make sure you have updated to" - eerror "latest portage version." - eerror " " - eerror "Report bugs to http://bugs.gentoo.org/" - exit 1 -fi - -if [ ! -f ${LOGFILE} ]; then - if ! touch ${LOGFILE} 2>&1 > /dev/null; then - ewarn "Logging disabled due to permissions" - LOGFILE=/dev/null - fi -elif [ ! -w ${LOGFILE} -o ! -L ${LOGFILE} ]; then - ewarn "Logging disabled due to permissions" - LOGFILE=/dev/null -fi - -# -# -# Command Line Parsing -# -# -while [ -n "$1" ]; do - case "$1" in - -h) - usage - exit 0 - ;; - -p) - PRETEND=1 - ;; - -o) - shift - OLD_PY_VER="$1" - ;; - -n) - shift - NEW_PY_VER="$1" - ;; - *) - usage - echo "unrecognised option: $1" - ;; - esac - shift -done - -# -# Test where portage is, in python2.2 or somewhere else? -# -for py in /usr/bin/python /usr/bin/python${OLD_PY_VER} /usr/bin/python${NEW_PY_VER}; do - if ${py} -c "import portage"; then - PORTAGE_PYTHON=${py} - break; - fi -done - -# -# -# Find all packages that have installed something in -# /usr/lib/python${OLD_PY_VER} -# -# -OLD_MODULES_DIRS="/usr/lib/python${OLD_PY_VER} /usr/lib32/python${OLD_PY_VER} /usr/lib64/python${OLD_PY_VER}" -OLD_INCLUDE_DIR=/usr/include/python${OLD_PY_VER} - -eloginfo "Starting Python Updater from ${OLD_PY_VER} to ${NEW_PY_VER} :" -eloginfo "Searching for packages with files in ${OLD_MODULES_DIRS} .." - -# iterate thru all the installed package's contents -for content in `find ${PKG_DBDIR} -name CONTENTS`; do - # extract the category, package name and package version - CATPKGVER=$(echo ${content} | sed "s:${PKG_DBDIR}/\(.*\)/CONTENTS:\1:") - - # exclude packages that are an exception, like portage and python itself. - exception=0 - for exp in ${PKGS_EXCEPTIONS}; do - if [ -n "$(echo ${CATPKGVER} | grep ${exp})" ]; then - exception=1 - break; - fi - done - - if [ ${exception} = 1 ]; then - continue; - fi - - for OLD_MODULES_DIR in ${OLD_MODULES_DIRS}; do - if fgrep "${OLD_MODULES_DIR}" ${content} > /dev/null; then - PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}" - elogecho "Adding to list: ${CATPKGVER}" - elif fgrep "${OLD_INCLUDE_DIR}" ${content} > /dev/null; then - PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}" - fi - done -done - -# now we have to do each emerge seperately because if an installed version -# does not have the corresponding ebuild in portage, then it will bail. - -eloginfo "Calculating Upgrade Package List .." - -PKGS_OK="" -PKGS_MASKED="" -PKGS_MISSING="" - -MASKED_STRING="been masked" -MISSING_STRING="there are no masked or unmasked ebuilds to satisfy" - -for pkg in ${PKGS_TO_REMERGE}; do - emerge_output="$(emerge -p \=$pkg 2>&1)" - if $(echo "${emerge_output}" | grep "${MASKED_STRING}" > /dev/null); then - PKGS_MASKED="${PKGS_MASKED} $pkg" - elogecho "$pkg is masked" - elif $(echo "${emerge_output}" | grep "${MISSING_STRING}" > /dev/null); then - PKGS_MISSING="${PKGS_MISSING} $pkg" - elogecho "$pkg is missing from portage" - else - PKGS_OK="${PKGS_OK} $pkg" - PKGS_COUNT_REMERGE=$((PKGS_COUNT_REMERGE + 1)) - fi -done - -# -# Use my super dumb package reordering algorithm that works most of the time -# - -eloginfo "Re-ordering packages to merge .." - -PKGS_OK_SORTED="$(${PORTAGE_PYTHON} ${PORTDIR}/dev-lang/python/files/depreorder.py ${PKGS_OK} | xargs)" - -eloginfo "Preparing to merge these packages in this order:" -for pkg in $PKGS_OK_SORTED; do - elogecho "$pkg" -done - -# we emerge each package seperately to ensure we know exactly which ones might -# cause an error, and then report it at the end - -COUNT=1 -PKGS_FAILED="" -if [ "${PRETEND}" != "1" ]; then - for pkg in ${PKGS_OK_SORTED}; do - eloginfo "Starting to merge ($COUNT/$PKGS_COUNT_REMERGE) $pkg .." - if ! emerge --oneshot --nodeps =$pkg; then - PKGS_FAILED="${PKGS_FAILED} $pkg" - elogerr "Failed merging $pkg ($COUNT/$PKGS_COUNT_REMERGE)!" - fi - COUNT=$((COUNT+1)) - done -fi - -# final output stuff -OUTPUT_PKGS_MASKED="" -for pkg in ${PKGS_MASKED}; do OUTPUT_PKGS_MASKED="${OUTPUT_PKGS_MASKED} \=$pkg"; done -OUTPUT_PKGS_MISSING="" -for pkg in ${PKGS_MISSING}; do OUTPUT_PKGS_MISSING="${OUTPUT_PKGS_MISSING} $pkg"; done -OUTPUT_PKGS_FAILED="" -for pkg in ${PKGS_FAILED}; do OUTPUT_PKGS_FAILED="${OUTPUT_PKGS_FAILED} \=$pkg"; done - -if [ -n "${PKGS_FAILED}" -o -n "${PKGS_MISSING}" -o -n "${PKGS_MASKED}" ]; then - echo - ewarn "************************************************************" - ewarn "* Packages that still need to be manually emerged : *" - ewarn "************************************************************" - if [ -n "${OUTPUT_PKGS_MASKED}" ]; then - echo - ewarn " Masked Packages:" - ewarn " ----------------" - ewarn " Unmask the following packages (at your own risk) and " - ewarn " emerge them using this command after removing the '-p'" - ewarn " parameter." - echo - ewarn " emerge -p ${OUTPUT_PKGS_MASKED}" - echo - fi - if [ -n "${OUTPUT_PKGS_MISSING}" ]; then - echo - ewarn " Missing Packages:" - ewarn " -----------------" - ewarn " These packages need to be updated because their versions do" - ewarn " not exist in portage anymore." - echo - for x in ${OUTPUT_PKGS_MISSING}; do - echo " ${x}" - done - fi - if [ -n "${OUTPUT_PKGS_FAILED}" ]; then - echo - ewarn " Failed Packaged:" - ewarn " ----------------" - ewarn " These packages have failed and need to be re-emerged again." - ewarn " Alternatively, try re-running this script again to see if it" - ewarn " can be fixed." - echo - ewarn " emerge -p ${OUTPUT_PKGS_FAILED}" - echo - fi - - elog "Python update completed with errors." - elog "Masked Packages:" - for x in ${PKGS_MASKED}; do - elog $x - done - elog "Missing Packages:" - for x in ${PKGS_MISSING}; do - elog $x - done - elog "Failed Packages:" - for x in ${PKGS_FAILED}; do - elog $x - done - elog "Update script completed." -else - eloginfo "Python update completed successfully." -fi - diff --git a/dev-lang/python/files/python-updater-r1 b/dev-lang/python/files/python-updater-r1 deleted file mode 100644 index 09d9321675ba..000000000000 --- a/dev-lang/python/files/python-updater-r1 +++ /dev/null @@ -1,322 +0,0 @@ -#!/bin/sh -# -# A bit of hackery to update everything that is humanly possible -# that maybe related to an older version of python. This script can -# be run as many times as you like. It will log the results in -# /tmp/python-updater.log -# -# OLD_PY_VER = old python version we are upgrading from -# NEW_PY_VER = new python version we are upgrading to -# PKGS_EXCEPTIONS = packages that should NOT be re-emerged for any reason -# PKGS_MANUAL = packages that should be re-emerged even if they don't -# fit the criteria (eg. ones that have python compiled -# statically) - FIXME -# -# Runtime Variables: -# -# PKGS_TO_REMERGE = list of packages we deem to need re-emerging -# PKGS_OK = list of packages that should be merged without any problems -# PKGS_MISSING = list of packages that are installed, but cannot be merged -# because they have been pruned from portage -# PKGS_MASKED = list of packages that are installed, but masked. -# - -NEW_PY_VER=$(python -V 2>&1 | sed 's:Python ::' | cut -d. -f1-2) - -PKGS_EXCEPTIONS="dev-lang/python sys-apps/portage" -PKGS_MANUAL="app-office/gnumeric app-office/dia x11-libs/vte" -LOGFILE="/var/log/python-updater.log" - -# portage variables -PKG_DBDIR=/var/db/pkg -PORTDIR=`portageq portdir` -PORTDIR_OVERLAYS=`portageq portdir_overlay` - -PRETEND=0 -PKGS_TO_REMERGE="" -PKGS_COUNT_REMERGE=0 -PORTAGE_PYTHON="/usr/bin/python" - -# load the gentoo-style info macros, but hack to get around -# it thinking this is an rc script -EBUILD="1" -source /etc/init.d/functions.sh || exit 1 - - - -for old in 2.4 2.3 2.2 2.1; do - if [ "${old}" != "${NEW_PY_VER}" ]; then - if [ -e /usr/bin/python${old} ] ; then - OLD_PY_VER=${old} - break; - fi - fi -done - - -if [ -z "${OLD_PY_VER}" ] ; then - eerror "Can't determine any previous Python version(s)." - exit 1 -fi - - -# misc helper functions -eloginfo() { - einfo $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} - ${*}" >> ${LOGFILE} -} - -elogecho() { - echo -n " " - echo $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} - ${*}" >> ${LOGFILE} -} - -elogerr() { - eerror $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} ! ${*}" >> ${LOGFILE} -} - -elog() { - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - echo "${DATESTRING} - ${*}" >> ${LOGFILE} -} - - -usage() { - echo "usage: python-updater [-h|-p|-o X.X|-n X.X]" - echo " -h help" - echo " -p pretend (don't do anything)" - echo " -o X.X set old python version to upgrade from [default: ${OLD_PY_VER}]" - echo " -n X.X set new python version to upgrade to [default: ${NEW_PY_VER}]" -} - -# -# Sanity check -# - -if [ -z "${PORTDIR}" ]; then - eerror "Unable to proceed. Can not find PORTDIR. Make sure the command:" - eerror " " - eerror " portageq portdir" - eerror " " - eerror "returns a value. If it doesn't, make sure you have updated to" - eerror "latest portage version." - eerror " " - eerror "Report bugs to http://bugs.gentoo.org/" - exit 1 -fi - -if [ ! -f ${LOGFILE} ]; then - if ! touch ${LOGFILE} 2>&1 > /dev/null; then - ewarn "Logging disabled due to permissions" - LOGFILE=/dev/null - fi -elif [ ! -w ${LOGFILE} -o ! -L ${LOGFILE} ]; then - ewarn "Logging disabled due to permissions" - LOGFILE=/dev/null -fi - -# -# -# Command Line Parsing -# -# -while [ -n "$1" ]; do - case "$1" in - -h) - usage - exit 0 - ;; - -p) - PRETEND=1 - ;; - -o) - shift - OLD_PY_VER="$1" - ;; - -n) - shift - NEW_PY_VER="$1" - ;; - *) - usage - echo "unrecognised option: $1" - ;; - esac - shift -done - -# -# Test where portage is, in python2.2 or somewhere else? -# -for py in /usr/bin/python /usr/bin/python${OLD_PY_VER} /usr/bin/python${NEW_PY_VER}; do - if ${py} -c "import portage"; then - PORTAGE_PYTHON=${py} - break; - fi -done - -# -# -# Find all packages that have installed something in -# /usr/lib/python${OLD_PY_VER} -# -# -OLD_MODULES_DIRS="/usr/lib/python${OLD_PY_VER} /usr/lib32/python${OLD_PY_VER} /usr/lib64/python${OLD_PY_VER}" -OLD_INCLUDE_DIR=/usr/include/python${OLD_PY_VER} - -eloginfo "Starting Python Updater from ${OLD_PY_VER} to ${NEW_PY_VER} :" -eloginfo "Searching for packages with files in ${OLD_MODULES_DIRS} .." - -# iterate thru all the installed package's contents -for content in `find ${PKG_DBDIR} -name CONTENTS`; do - # extract the category, package name and package version - CATPKGVER=$(echo ${content} | sed "s:${PKG_DBDIR}/\(.*\)/CONTENTS:\1:") - - # exclude packages that are an exception, like portage and python itself. - exception=0 - for exp in ${PKGS_EXCEPTIONS}; do - if [ -n "$(echo ${CATPKGVER} | grep ${exp})" ]; then - exception=1 - break; - fi - done - - if [ ${exception} = 1 ]; then - continue; - fi - - for OLD_MODULES_DIR in ${OLD_MODULES_DIRS}; do - if fgrep "${OLD_MODULES_DIR}" ${content} > /dev/null; then - PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}" - elogecho "Adding to list: ${CATPKGVER}" - elif fgrep "${OLD_INCLUDE_DIR}" ${content} > /dev/null; then - PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}" - fi - done -done - -# now we have to do each emerge seperately because if an installed version -# does not have the corresponding ebuild in portage, then it will bail. - -eloginfo "Calculating Upgrade Package List .." - -PKGS_OK="" -PKGS_MASKED="" -PKGS_MISSING="" - -MASKED_STRING="been masked" -MISSING_STRING="there are no masked or unmasked ebuilds to satisfy" - -for pkg in ${PKGS_TO_REMERGE}; do - emerge_output="$(emerge -p \=$pkg 2>&1)" - if $(echo "${emerge_output}" | grep "${MASKED_STRING}" > /dev/null); then - PKGS_MASKED="${PKGS_MASKED} $pkg" - elogecho "$pkg is masked" - elif $(echo "${emerge_output}" | grep "${MISSING_STRING}" > /dev/null); then - PKGS_MISSING="${PKGS_MISSING} $pkg" - elogecho "$pkg is missing from portage" - else - PKGS_OK="${PKGS_OK} $pkg" - PKGS_COUNT_REMERGE=$((PKGS_COUNT_REMERGE + 1)) - fi -done - -# -# Use my super dumb package reordering algorithm that works most of the time -# - -eloginfo "Re-ordering packages to merge .." - -PKGS_OK_SORTED="$(${PORTAGE_PYTHON} ${PORTDIR}/dev-lang/python/files/depreorder-topsort.py ${PKGS_OK} | xargs)" - -eloginfo "Preparing to merge these packages in this order:" -for pkg in $PKGS_OK_SORTED; do - elogecho "$pkg" -done - -# we emerge each package seperately to ensure we know exactly which ones might -# cause an error, and then report it at the end - -COUNT=1 -PKGS_FAILED="" -if [ "${PRETEND}" != "1" ]; then - for pkg in ${PKGS_OK_SORTED}; do - eloginfo "Starting to merge ($COUNT/$PKGS_COUNT_REMERGE) $pkg .." - if ! emerge --oneshot --nodeps =$pkg; then - PKGS_FAILED="${PKGS_FAILED} $pkg" - elogerr "Failed merging $pkg ($COUNT/$PKGS_COUNT_REMERGE)!" - fi - COUNT=$((COUNT+1)) - done -fi - -# final output stuff -OUTPUT_PKGS_MASKED="" -for pkg in ${PKGS_MASKED}; do OUTPUT_PKGS_MASKED="${OUTPUT_PKGS_MASKED} \=$pkg"; done -OUTPUT_PKGS_MISSING="" -for pkg in ${PKGS_MISSING}; do OUTPUT_PKGS_MISSING="${OUTPUT_PKGS_MISSING} $pkg"; done -OUTPUT_PKGS_FAILED="" -for pkg in ${PKGS_FAILED}; do OUTPUT_PKGS_FAILED="${OUTPUT_PKGS_FAILED} \=$pkg"; done - -if [ -n "${PKGS_FAILED}" -o -n "${PKGS_MISSING}" -o -n "${PKGS_MASKED}" ]; then - echo - ewarn "************************************************************" - ewarn "* Packages that still need to be manually emerged : *" - ewarn "************************************************************" - if [ -n "${OUTPUT_PKGS_MASKED}" ]; then - echo - ewarn " Masked Packages:" - ewarn " ----------------" - ewarn " Unmask the following packages (at your own risk) and " - ewarn " emerge them using this command after removing the '-p'" - ewarn " parameter." - echo - ewarn " emerge -p ${OUTPUT_PKGS_MASKED}" - echo - fi - if [ -n "${OUTPUT_PKGS_MISSING}" ]; then - echo - ewarn " Missing Packages:" - ewarn " -----------------" - ewarn " These packages need to be updated because their versions do" - ewarn " not exist in portage anymore." - echo - for x in ${OUTPUT_PKGS_MISSING}; do - echo " ${x}" - done - fi - if [ -n "${OUTPUT_PKGS_FAILED}" ]; then - echo - ewarn " Failed Packaged:" - ewarn " ----------------" - ewarn " These packages have failed and need to be re-emerged again." - ewarn " Alternatively, try re-running this script again to see if it" - ewarn " can be fixed." - echo - ewarn " emerge -p ${OUTPUT_PKGS_FAILED}" - echo - fi - - elog "Python update completed with errors." - elog "Masked Packages:" - for x in ${PKGS_MASKED}; do - elog $x - done - elog "Missing Packages:" - for x in ${PKGS_MISSING}; do - elog $x - done - elog "Failed Packages:" - for x in ${PKGS_FAILED}; do - elog $x - done - elog "Update script completed." -else - eloginfo "Python update completed successfully." -fi - |