diff options
author | Mike Frysinger <vapier@gentoo.org> | 2016-01-14 10:22:52 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2016-01-14 10:22:52 -0500 |
commit | d1dffc9e207c2fa935520c1f3aadabbc629a0ee2 (patch) | |
tree | 4cebd4647f06a25670bd2279c702bdf6f12df45e | |
parent | gcc: drop 4.9.3 (diff) | |
download | toolchain-d1dffc9e207c2fa935520c1f3aadabbc629a0ee2.tar.gz toolchain-d1dffc9e207c2fa935520c1f3aadabbc629a0ee2.tar.bz2 toolchain-d1dffc9e207c2fa935520c1f3aadabbc629a0ee2.zip |
scripts: update for py3
-rw-r--r-- | scripts/common.py | 13 | ||||
-rwxr-xr-x | scripts/update-gcc | 24 | ||||
-rwxr-xr-x | scripts/update-gdb | 19 |
3 files changed, 32 insertions, 24 deletions
diff --git a/scripts/common.py b/scripts/common.py index 892834c..1ae5955 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -1,4 +1,5 @@ #!/usr/bin/python +# -*- coding:utf-8 -*- """Utility funcs""" @@ -14,7 +15,10 @@ import re import subprocess import sys import time -import urlparse +try: + import urlparse +except ImportError: + import urllib.parse as urlparse dry_run = False @@ -46,7 +50,12 @@ def list_snaps(url, debug=False): return nlst -ver_sort = lambda x: sorted(x, key=lambda v: distutils.version.LooseVersion(v)) +# Newer python distutils modules are crap and crash when you try to compare +# something like "gdb-3.8.1" and "gdb-3.8-r1". Filter out the -r# since we +# don't need them for this code. Even python 2 is crap and returns the wrong +# result. +ver_filter = re.compile(r'(-r[0-9]+)?([.]ebuild)?$') +ver_sort = lambda x: sorted(x, key=lambda v: distutils.version.LooseVersion(ver_filter.sub('', v))) def run(cmd, **kwargs): diff --git a/scripts/update-gcc b/scripts/update-gcc index da82ec6..27f6f06 100755 --- a/scripts/update-gcc +++ b/scripts/update-gcc @@ -1,4 +1,5 @@ #!/usr/bin/python +# -*- coding:utf-8 -*- """Update gcc snapshots""" @@ -21,24 +22,23 @@ URL = 'ftp://gcc.gnu.org/pub/gcc/snapshots/' def main(argv): opts = common_main(argv, CATEGORY, PN) + ver_match = re.compile(r'([0-9.]+)-([0-9.]+)$') - remote_list = ver_sort( - x for x in list_snaps(URL, debug=opts.debug) - if not x.startswith('LATEST-') and '-' in x) + all_snaps = list_snaps(URL, debug=opts.debug) + snaps = [x for x in all_snaps + if not x.startswith('LATEST-') and ver_match.match(x)] + remote_list = ver_sort(snaps) # Create the lists of curr/new versions. old_pkgs = set(glob.glob('%s-*.ebuild' % PN)) new_pkgs = set() for snap in remote_list: - m = re.match(r'([0-9.]+)-([0-9.]+)$', snap) - if m: - # Turn "5" into "5.0.0" and "4.3" into "4.3.0". - dots = '.'.join((m.group(1).split('.') + (['0'] * 3))[0:3]) - ebuild = '%s-%s_alpha%s.ebuild' % (PN, dots, m.group(2)) - new_pkgs.add(ebuild) - logging.debug('found remote %s', ebuild) - else: - logging.warning('skipping reomte %s', snap) + m = ver_match.match(snap) + # Turn "5" into "5.0.0" and "4.3" into "4.3.0". + dots = '.'.join((m.group(1).split('.') + (['0'] * 3))[0:3]) + ebuild = '%s-%s_alpha%s.ebuild' % (PN, dots, m.group(2)) + new_pkgs.add(ebuild) + logging.debug('found remote %s', ebuild) # Create ebuilds for the new versions we found. closest_ver = distutils.version.LooseVersion('0') diff --git a/scripts/update-gdb b/scripts/update-gdb index 5d11637..e5ca9e5 100755 --- a/scripts/update-gdb +++ b/scripts/update-gdb @@ -1,4 +1,5 @@ #!/usr/bin/python +# -*- coding:utf-8 -*- """Update gdb snapshots""" @@ -21,22 +22,20 @@ URL = 'ftp://sourceware.org/pub/gdb/snapshots/current/' def main(argv): opts = common_main(argv, CATEGORY, PN) + ver_match = re.compile(r'%s-weekly-([0-9.]+)\.tar' % PN) - remote_list = ver_sort( - x for x in list_snaps(URL, debug=opts.debug) - if x.startswith('%s-weekly-' % PN) and '.tar' in x) + all_snaps = list_snaps(URL, debug=opts.debug) + snaps = [x for x in all_snaps if ver_match.match(x)] + remote_list = ver_sort(snaps) # Create the lists of curr/new versions. old_pkgs = set(glob.glob('%s-*.ebuild' % PN)) new_pkgs = set() for snap in remote_list: - m = re.match(r'%s-weekly-([0-9.]+)\.tar' % PN, snap) - if m: - ebuild = '%s-%s.ebuild' % (PN, m.group(1)) - new_pkgs.add(ebuild) - logging.debug('found remote %s', ebuild) - else: - logging.warning('skipping reomte %s', snap) + m = ver_match.match(snap) + ebuild = '%s-%s.ebuild' % (PN, m.group(1)) + new_pkgs.add(ebuild) + logging.debug('found remote %s', ebuild) # Create ebuilds for the new versions we found. closest_ver = distutils.version.LooseVersion('0') |