diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2017-10-31 15:43:54 +0300 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2017-11-09 18:19:41 +0300 |
commit | 828b91be6190a1707b8e89a157487419e36bcac7 (patch) | |
tree | ae8ce20efad66e7ba29ebba0c931955b3bf64dff | |
parent | 558c8d958f4b64d99f39bc4bcf3f3ba12b5495f1 (diff) |
Try to rename setup.hint to pvr.hint at upload
Update tests
-rw-r--r-- | calm/uploads.py | 34 | ||||
-rw-r--r-- | test/testdata/process_arch/rel_area.expected | 10 | ||||
-rw-r--r-- | test/testdata/uploads/move.expected | 8 | ||||
-rw-r--r-- | test/testdata/uploads/pkglist.expected | 6 |
4 files changed, 46 insertions, 12 deletions
diff --git a/calm/uploads.py b/calm/uploads.py index 4b4725d..dc95d48 100644 --- a/calm/uploads.py +++ b/calm/uploads.py @@ -116,6 +116,36 @@ def scan(m, all_packages, arch, args): logging.warning("package '%s' is not in the package list for maintainer %s" % (dirpath, m.name)) continue + # see if we can fix-up any setup.hint files + pvr = None + ambiguous = False + seen = False + + for f in sorted(files): + # warn about legacy setup.hint uploads + if f == 'setup.hint': + logging.warning("'%s' seen, please update to cygport >= 0.23.0" % f) + seen = True + + match = re.match(r'^([^-].*?)(-src|)\.tar\.(bz2|gz|lzma|xz)$', f) + if match: + if (pvr is not None) and (pvr != match.group(1)): + ambiguous = True + + pvr = match.group(1) + + if seen: + if ambiguous or (pvr is None): + error = True + logging.error("'setup.hint' seen in %s, and couldn't determine what version it applies to", dirpath) + else: + old = "setup.hint" + new = pvr + ".hint" + logging.warning("renaming '%s' to '%s'" % (old, new)) + os.rename(os.path.join(dirpath, old), os.path.join(dirpath, new)) + files.remove(old) + files.append(new) + # filter out files we don't need to consider for f in sorted(files): fn = os.path.join(dirpath, f) @@ -171,10 +201,6 @@ def scan(m, all_packages, arch, args): files.remove(f) continue - # warn about legacy setup.hint uploads - if f == 'setup.hint': - logging.warning("'%s' seen, please update to cygport >= 0.23.0" % fn) - # verify compressed archive files are valid if re.search(r'\.tar\.(bz2|gz|lzma|xz)$', f): valid = True diff --git a/test/testdata/process_arch/rel_area.expected b/test/testdata/process_arch/rel_area.expected index 51f4a24..58deba0 100644 --- a/test/testdata/process_arch/rel_area.expected +++ b/test/testdata/process_arch/rel_area.expected @@ -4,6 +4,7 @@ 'noarch/release/perl-Net-SMTP-SSL': ['perl-Net-SMTP-SSL-1.03-1-src.tar.xz', 'perl-Net-SMTP-SSL-1.03-1.tar.xz', 'perl-Net-SMTP-SSL-1.03-2-src.tar.xz', + 'perl-Net-SMTP-SSL-1.03-2.hint', 'perl-Net-SMTP-SSL-1.03-2.tar.xz', 'setup.hint', 'sha512.sum'], @@ -93,5 +94,10 @@ 'staleversion-250-0.tar.xz', 'staleversion-260-0-src.tar.xz', 'staleversion-260-0.tar.xz'], - 'x86/release/testpackage': ['setup.hint', 'sha512.sum', 'testpackage-1.0-1-src.tar.bz2', 'testpackage-1.0-1.tar.bz2'], - 'x86/release/testpackage/testpackage-subpackage': ['setup.hint', 'testpackage-subpackage-1.0-1.tar.bz2']} + 'x86/release/testpackage': ['setup.hint', + 'sha512.sum', + 'testpackage-1.0-1-src.tar.bz2', + 'testpackage-1.0-1.hint', + 'testpackage-1.0-1.tar.bz2'], + 'x86/release/testpackage/testpackage-subpackage': ['testpackage-subpackage-1.0-1.hint', + 'testpackage-subpackage-1.0-1.tar.bz2']} diff --git a/test/testdata/uploads/move.expected b/test/testdata/uploads/move.expected index 47cb0af..fda6084 100644 --- a/test/testdata/uploads/move.expected +++ b/test/testdata/uploads/move.expected @@ -1,3 +1,5 @@ -{'x86/release/testpackage': ['setup.hint', 'testpackage-1.0-1-src.tar.bz2', 'testpackage-1.0-1.tar.bz2'], - 'x86/release/testpackage/testpackage-subpackage': ['setup.hint', 'testpackage-subpackage-1.0-1.tar.bz2'], - 'x86/release/testpackage2/testpackage2-subpackage': ['setup.hint', 'testpackage2-subpackage-1.0-1.tar.bz2']} +{'x86/release/testpackage': ['testpackage-1.0-1-src.tar.bz2', 'testpackage-1.0-1.hint', 'testpackage-1.0-1.tar.bz2'], + 'x86/release/testpackage/testpackage-subpackage': ['testpackage-subpackage-1.0-1.hint', + 'testpackage-subpackage-1.0-1.tar.bz2'], + 'x86/release/testpackage2/testpackage2-subpackage': ['testpackage2-subpackage-1.0-1.hint', + 'testpackage2-subpackage-1.0-1.tar.bz2']} diff --git a/test/testdata/uploads/pkglist.expected b/test/testdata/uploads/pkglist.expected index 0e4c587..f36b2a4 100644 --- a/test/testdata/uploads/pkglist.expected +++ b/test/testdata/uploads/pkglist.expected @@ -6,11 +6,11 @@ 'Like it’s you’re Markup Language™ Nokogiri’s tool―that ' 'Bézier."', 'category': 'Devel', - 'requires': 'cygwin'}}, {'curr': None, 'prev': None, 'test': None}, False), + 'requires': 'cygwin'}}, {}, False), 'testpackage-subpackage': Package('x86/release/testpackage/testpackage-subpackage', {'testpackage-subpackage-1.0-1.tar.bz2': Tar('aff488008bee3486e25b539fe6ccd1397bd3c5c0ba2ee2cf34af279554baa195af7493ee51d6f8510735c9a2ea54436d776a71e768165716762aec286abbbf83', 195, False)}, {'1.0-1': {'sdesc': '"A test subpackage"', 'ldesc': '"A test subpackage"', 'category': 'Devel', - 'external-source': 'testpackage'}}, {'curr': None, 'prev': None, 'test': None}, False), + 'external-source': 'testpackage'}}, {}, False), 'testpackage2-subpackage': Package('x86/release/testpackage2/testpackage2-subpackage', {'testpackage2-subpackage-1.0-1.tar.bz2': Tar('6de201dfed1d45412509c65deb34690dc2d09c6aafccfe491fd2f440f92842b9c755b61dc7bcdd4cc0c9f18cf46c2b3a1241e99c4c2a33fff5555e7b2f0b6348', 14, True)}, {'1.0-1': {'sdesc': '"A test subpackage 2"', 'ldesc': '"A test subpackage 2"', - 'category': 'Devel'}}, {'curr': None, 'prev': None, 'test': None}, False)} + 'category': 'Devel'}}, {}, False)} |