https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=4d95cbff712f07bf70115b75a8bb0b3d0f5face3 commit 4d95cbff712f07bf70115b75a8bb0b3d0f5face3 Author: Jon Turney Date: Thu Sep 1 21:02:20 2022 +0100 Allow '_windows' pseudo-package to appear in requires: Also add a test for that. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=c7f80012646d51f3120f53e208ed1c78734dc5ac commit c7f80012646d51f3120f53e208ed1c78734dc5ac Author: Jon Turney Date: Thu Sep 1 17:59:02 2022 +0100 Handle a version-constraint appearing in requires: Synthesize depends: from requires: in a way which doesn't mess up any version-constraint present while sorting. Future work: Store the depends: hint decomposed into a list, rather than a string which needs to get split everywhere it's used. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=8e2b79710039094bf941beb4270013895cf5dd6c commit 8e2b79710039094bf941beb4270013895cf5dd6c Author: Jon Turney Date: Fri Sep 2 12:50:01 2022 +0100 Drop internal uses of requires: hint Drop all remaining internal uses of requires: hint, use the (synthesized) depends: hint instead. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=bb49c72fc95712f623c6f224502b1c020d4c1556 commit bb49c72fc95712f623c6f224502b1c020d4c1556 Author: Jon Turney Date: Thu Sep 1 19:35:41 2022 +0100 Drop reading putative 'depends:' hint There's never been anything that generates it, apart from internally from the requires: hint. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=6b43121c139e47641efe32f68333aae7909b9162 commit 6b43121c139e47641efe32f68333aae7909b9162 Author: Jon Turney Date: Thu Sep 1 21:01:54 2022 +0100 Correctly linkify packages with a version-constraint https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=de93bbcc131909111ec43ab5c0bdadf3131b9ab0 commit de93bbcc131909111ec43ab5c0bdadf3131b9ab0 Author: Jon Turney Date: Thu Apr 29 15:11:53 2021 +0100 Drop generating requires: header For setup versions later than 2.885, it's superseded by depends2: Dropping this reduces the size of setup.ini by about 5% Diff: --- calm/hint.py | 9 +-- calm/package.py | 64 +++++++++++++++------- calm/past_mistakes.py | 1 + calm/pkg2html.py | 6 +- .../noarch/release/test-c/test-c-1.0-1.expected | 2 +- .../x86/release/cygwin/cygwin-2.3.0-0.3.expected | 2 +- .../libtextcat-devel-2.2-2.expected | 2 +- test/testdata/htdocs.expected/summary/test-c.html | 2 +- test/testdata/inifile/setup.ini.expected | 12 +--- test/testdata/process_arch/setup.ini.expected | 13 +---- .../noarch/release/test-c/test-c-1.0-1.hint | 2 +- .../x86/release/cygwin/cygwin-2.3.0-0.3.hint | 2 +- test/testdata/uploads/pkglist.expected | 14 +++-- 13 files changed, 67 insertions(+), 64 deletions(-) diff --git a/calm/hint.py b/calm/hint.py index 8990a25..b151317 100755 --- a/calm/hint.py +++ b/calm/hint.py @@ -73,7 +73,6 @@ hintkeys[pvr].update({ 'external-source': 'val', 'requires': 'optval', 'obsoletes': 'optval', - 'depends': 'optval', 'provides': 'val', 'conflicts': 'val', }) @@ -351,18 +350,12 @@ def hint_file_parse(fn, kind, strict=False): warnings.append('sdesc is much longer than ldesc') # sort these hints, as differences in ordering are uninteresting - if 'requires' in hints: - hints['requires'] = split_trim_sort_join(hints['requires'], None, ' ') - if 'build-depends' in hints: if ',' in hints['build-depends']: hints['build-depends'] = split_trim_sort_join(hints['build-depends'], ',') else: hints['build-depends'] = split_trim_sort_join(hints['build-depends'], None, ', ') - if 'depends' in hints: - hints['depends'] = split_trim_sort_join(hints['depends'], ',') - if 'obsoletes' in hints: # obsoletes is specified as comma separated, but cygport writes it space separated at the moment... if ',' in hints['obsoletes']: @@ -429,7 +422,7 @@ def main(args): for fn in args.files: hints = hint_file_parse(fn, spvr if fn.endswith('src.hint') else pvr) - if args.verbose > 1: + if args.verbose >= 1: print(hints) if 'parse-warnings' in hints: diff --git a/calm/package.py b/calm/package.py index dd137fb..2b5bc85 100755 --- a/calm/package.py +++ b/calm/package.py @@ -152,6 +152,41 @@ def sha512_file(fn, block_size=256 * 128): return sha512.hexdigest() +# process a list of package version-constraints +def process_package_constraint_list(pcl): + # split, keeping optional version-relation, trim and sort + deplist = {} + + if ',' in pcl: + # already comma separated is simple + for r in pcl.split(','): + r = r.strip() + item = re.sub(r'(.*)\s+\(.*?\)', r'\1', r) + deplist[item] = r + else: + # otherwise, split into a sequence of package names, version-relation + # constraints and white-space, and group package name with any following + # constraint + item = None + for r in re.split(r'(\(.*?\)|\s+)', pcl): + r = r.strip() + if not r: + continue + if r.startswith('('): + if not item: + logging.warning("constraint '%s' before any package" % (r)) + elif '(' in deplist[item]: + logging.warning("multiple constraints after package %s" % (item)) + else: + deplist[item] = item + ' ' + r + else: + item = r + deplist[item] = item + + # return a sorted list of package names with an optional version constraint. + return sorted(deplist.values()) + + # helper function to read hints def read_hints(p, fn, kind, strict=False): hints = hint.hint_file_parse(fn, kind, strict) @@ -166,12 +201,12 @@ def read_hints(p, fn, kind, strict=False): for l in hints['parse-warnings']: logging.info("package '%s': %s" % (p, l)) - # if we don't have both requires: and depends:, generate the one - # from the other - if ('requires' in hints) and ('depends' not in hints): - hints['depends'] = ', '.join(hints['requires'].split()) - elif ('depends' in hints) and ('requires' not in hints): - hints['requires'] = ' '.join([re.sub(r'(.*)\s+\(.*\)', r'\1', d) for d in hints['depends'].split(',')]) + # generate depends: from requires: + # XXX: store this as a list, rather than splitting it into one everywhere we + # use it + hints['depends'] = ', '.join(process_package_constraint_list(hints.get('requires', ''))) + # erase requires:, to ensure there is nothing using it + hints.pop('requires', None) return hints @@ -524,7 +559,8 @@ def upgrade_oldstyle_obsoletes(packages): if packages[p].tar(vr).is_empty: if '_obsolete' in packages[p].version_hints[vr]['category']: - requires = packages[p].version_hints[vr].get('requires', '').split() + requires = packages[p].version_hints[vr].get('depends', '').split(', ') + requires = [re.sub(r'(.*) +\(.*\)', r'\1', r) for r in requires] if p in past_mistakes.old_style_obsolete_by: o = past_mistakes.old_style_obsolete_by[p] @@ -593,7 +629,6 @@ def validate_packages(args, packages, valid_requires_extra=None, missing_obsolet for (v, hints) in packages[p].version_hints.items(): for (c, okmissing, splitchar) in [ - ('requires', 'missing-required-package', None), ('depends', 'missing-depended-package', ','), ('obsoletes', 'missing-obsoleted-package', ',') ]: @@ -608,7 +643,7 @@ def validate_packages(args, packages, valid_requires_extra=None, missing_obsolet if splitchar: r = re.sub(r'(.*) +\(.*\)', r'\1', r) - if c == 'requires': + if c == 'depends': # don't count cygwin-debuginfo for the purpose of # checking if this package has any requires, as # cygport always makes debuginfo packages require @@ -1071,15 +1106,6 @@ def write_setup_ini(args, packages, arch): category = ' '.join(map(upper_first_character, category.split())) print("category: %s" % category, file=f) - # compute the union of requires for all versions - requires = set() - for hints in po.version_hints.values(): - if 'requires' in hints: - requires = set.union(requires, hints['requires'].split()) - # empty requires are suppressed as setup's parser can't handle that - if requires: - print("requires: %s" % ' '.join(sorted(requires)), file=f) - if 'message' in po.version_hints[bv]: print("message: %s" % po.version_hints[bv]['message'], file=f) @@ -1189,7 +1215,7 @@ def write_setup_ini(args, packages, arch): # also itself emitted. if version in po.versions(): - if hints.get('depends', '') or requires: + if hints.get('depends', ''): print("depends2: %s" % hints.get('depends', ''), file=f) if hints.get('obsoletes', ''): diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py index e4135aa..1403840 100644 --- a/calm/past_mistakes.py +++ b/calm/past_mistakes.py @@ -194,6 +194,7 @@ missing_obsolete = { # provides: which don't exist nonexistent_provides = [ + '_windows', 'perl5_026', 'rdiff-debuginfo', # not in x86 'rxvt-unicode-X-debuginfo', # not in x86_64 diff --git a/calm/pkg2html.py b/calm/pkg2html.py index f6a2ada..4924847 100755 --- a/calm/pkg2html.py +++ b/calm/pkg2html.py @@ -147,10 +147,12 @@ def update_package_listings(args, packages): toremove = glob.glob(os.path.join(summaries, '*')) - def linkify_package(p): + def linkify_package(pkg): + p = re.sub(r'(.*)\s+\(.*\)', r'\1', pkg) if p in package_list: pn = arch_package(packages, p).orig_name - return '%s' % (p, pn) + text = re.sub(re.escape(p), pn, pkg) + return '%s' % (p, text) logging.debug('package linkification failed for %s' % p) return p diff --git a/test/testdata/hints/noarch/release/test-c/test-c-1.0-1.expected b/test/testdata/hints/noarch/release/test-c/test-c-1.0-1.expected index c8024d7..d5a43b4 100644 --- a/test/testdata/hints/noarch/release/test-c/test-c-1.0-1.expected +++ b/test/testdata/hints/noarch/release/test-c/test-c-1.0-1.expected @@ -1,4 +1,4 @@ {'category': 'Devel', 'sdesc': '"test package C"', 'obsoletes': 'obs-a, obs-b', - 'depends': 'test-d (>= 1.0), test-e'} + 'requires': 'test-d (>= 1.0), test-e'} diff --git a/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3.expected b/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3.expected index 4c2d9d7..7d9ea86 100644 --- a/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3.expected +++ b/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3.expected @@ -1,7 +1,7 @@ {'sdesc': '"The UNIX emulation engine"', 'ldesc': '"The UNIX emulation engine"', 'category': 'Base', - 'requires': 'base-cygwin', + 'requires': 'base-cygwin _windows ( >= 6.0 )', 'provides': 'cygwin-api0_291', 'conflicts': 'fruit-juice', 'test': ''} diff --git a/test/testdata/hints/x86/release/libtextcat/libtextcat-devel/libtextcat-devel-2.2-2.expected b/test/testdata/hints/x86/release/libtextcat/libtextcat-devel/libtextcat-devel-2.2-2.expected index aca0db6..f60d34d 100644 --- a/test/testdata/hints/x86/release/libtextcat/libtextcat-devel/libtextcat-devel-2.2-2.expected +++ b/test/testdata/hints/x86/release/libtextcat/libtextcat-devel/libtextcat-devel-2.2-2.expected @@ -7,6 +7,6 @@ 'BSD License.\n' 'http://software.wise-guys.nl/libtextcat/"', 'category': 'Devel Text', - 'requires': 'libtextcat libtextcat0', + 'requires': 'libtextcat0 libtextcat', 'external-source': 'libtextcat', 'parse-errors': ['embedded quote at line 7']} diff --git a/test/testdata/htdocs.expected/summary/test-c.html b/test/testdata/htdocs.expected/summary/test-c.html index 2a0d186..200bd7b 100644 --- a/test/testdata/htdocs.expected/summary/test-c.html +++ b/test/testdata/htdocs.expected/summary/test-c.html @@ -13,7 +13,7 @@ summary: test package C

description: test package C

categories: Devel

-depends: test-d (>= 1.0), test-e

+depends: test-d (>= 1.0), test-e

obsoletes: obs-a, obs-b

source package: test-c

maintainer(s): ORPHANED diff --git a/test/testdata/inifile/setup.ini.expected b/test/testdata/inifile/setup.ini.expected index d3b7f23..aaf6805 100644 --- a/test/testdata/inifile/setup.ini.expected +++ b/test/testdata/inifile/setup.ini.expected @@ -31,7 +31,6 @@ 'sdesc: "Initial base installation helper script"\n' 'ldesc: "Initial base installation helper script."\n' 'category: Base\n' - 'requires: cygwin-api0_291\n' 'version: 3.8-1\n' 'install: x86/release/base-cygwin/base-cygwin-3.8-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -40,7 +39,6 @@ 'version: 3.6-1\n' 'install: x86/release/base-cygwin/base-cygwin-3.6-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' - 'depends2: \n' '\n' '@ corrupt\n' 'sdesc: "A corrupt package"\n' @@ -56,7 +54,6 @@ 'sdesc: "The UNIX emulation engine"\n' 'ldesc: "The UNIX emulation engine"\n' 'category: Base\n' - 'requires: base-cygwin\n' 'version: 2.2.1-1\n' 'install: x86/release/cygwin/cygwin-2.2.1-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -76,7 +73,7 @@ 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' 'source: x86/release/cygwin/cygwin-2.3.0-0.3-src.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' - 'depends2: base-cygwin\n' + 'depends2: _windows ( >= 6.0 ), base-cygwin\n' 'provides: cygwin-api0_291\n' 'conflicts: fruit-juice\n' '\n' @@ -85,7 +82,6 @@ 'ldesc: "This package contains files necessary for debugging the\n' 'cygwin package with gdb."\n' 'category: Debug\n' - 'requires: cygwin-debuginfo\n' 'version: 2.2.1-1\n' 'install: x86/release/cygwin/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -141,7 +137,6 @@ 'ssh-agent, otherwise it loads them, prompting you for a password if\n' 'necessary"\n' 'category: Utils\n' - 'requires: openssh\n' 'version: 2.7.1-1\n' 'install: x86/release/keychain/keychain-2.7.1-1.tar.bz2 32219 ' '0c7b7ad2636b6e23e40e8cb593196b3fabe9c44f7618ea9b2021b89ecdc08720a7f824be0beaa75c9e62dda9a7b5ed7e9c1ed147a1875c582e80866ad09533a2\n' @@ -162,7 +157,6 @@ 'automatic discovery of computers, devices, and services on IP networks using\n' 'industry standard IP protocols."\n' 'category: Net\n' - 'requires: libdns_sd1\n' 'version: 379.32.1-1\n' 'install: x86/release/mDNSResponder/libdns_sd-devel/libdns_sd-devel-379.32.1-1.tar.bz2 195 ' 'aff488008bee3486e25b539fe6ccd1397bd3c5c0ba2ee2cf34af279554baa195af7493ee51d6f8510735c9a2ea54436d776a71e768165716762aec286abbbf83\n' @@ -188,7 +182,6 @@ 'automatic discovery of computers, devices, and services on IP networks using\n' 'industry standard IP protocols."\n' 'category: Net\n' - 'requires: libdns_sd1\n' 'message: mDNSResponder "The Cygwin mDNSResponder package contains only clients.\n' "If you do not already have the 'Bonjour Service' installed (it comes with\n" 'a number of popular Windows programs), then you can download it at\n' @@ -234,7 +227,6 @@ 'sdesc: "Per-version hint test package"\n' 'ldesc: "Per-version hint test package"\n' 'category: Base\n' - 'requires: base-cygwin cygwin\n' 'version: 4.8-1\n' 'install: x86/release/per-version/per-version-4.8-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -253,7 +245,6 @@ 'sdesc: "Per-version hint test package"\n' 'ldesc: "Per-version hint test package"\n' 'category: Base\n' - 'requires: cygwin\n' 'version: 1.0-1\n' 'install: x86/release/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -340,7 +331,6 @@ '@ test-c\n' 'sdesc: "test package C"\n' 'category: Devel Unmaintained\n' - 'requires: test-d test-e\n' 'version: 1.0-1\n' 'install: noarch/release/test-c/test-c-1.0-1.tar.xz 256 ' 'ef15790d8dc8163ed15dfca37565558203ed8b7569d586e0bc949f25282f44a1c059a60a7502863312b41cda649e3a9e2516d354eec9d54829e3ac1a3547097c\n' diff --git a/test/testdata/process_arch/setup.ini.expected b/test/testdata/process_arch/setup.ini.expected index d620250..288ff40 100644 --- a/test/testdata/process_arch/setup.ini.expected +++ b/test/testdata/process_arch/setup.ini.expected @@ -31,7 +31,6 @@ 'sdesc: "Initial base installation helper script"\n' 'ldesc: "Initial base installation helper script."\n' 'category: Base\n' - 'requires: cygwin-api0_291\n' 'version: 3.8-1\n' 'install: x86/release/base-cygwin/base-cygwin-3.8-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -40,7 +39,6 @@ 'version: 3.6-1\n' 'install: x86/release/base-cygwin/base-cygwin-3.6-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' - 'depends2: \n' '\n' '@ corrupt\n' 'sdesc: "A corrupt package"\n' @@ -56,7 +54,6 @@ 'sdesc: "The UNIX emulation engine"\n' 'ldesc: "The UNIX emulation engine"\n' 'category: Base\n' - 'requires: base-cygwin\n' 'version: 2.2.1-1\n' 'install: x86/release/cygwin/cygwin-2.2.1-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -76,7 +73,7 @@ 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' 'source: x86/release/cygwin/cygwin-2.3.0-0.3-src.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' - 'depends2: base-cygwin\n' + 'depends2: _windows ( >= 6.0 ), base-cygwin\n' 'provides: cygwin-api0_291\n' 'conflicts: fruit-juice\n' '\n' @@ -85,7 +82,6 @@ 'ldesc: "This package contains files necessary for debugging the\n' 'cygwin package with gdb."\n' 'category: Debug\n' - 'requires: cygwin-debuginfo\n' 'version: 2.2.1-1\n' 'install: x86/release/cygwin/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -141,7 +137,6 @@ 'ssh-agent, otherwise it loads them, prompting you for a password if\n' 'necessary"\n' 'category: Utils\n' - 'requires: openssh\n' 'version: 2.7.1-1\n' 'install: x86/release/keychain/keychain-2.7.1-1.tar.bz2 32219 ' '0c7b7ad2636b6e23e40e8cb593196b3fabe9c44f7618ea9b2021b89ecdc08720a7f824be0beaa75c9e62dda9a7b5ed7e9c1ed147a1875c582e80866ad09533a2\n' @@ -162,7 +157,6 @@ 'automatic discovery of computers, devices, and services on IP networks using\n' 'industry standard IP protocols."\n' 'category: Net\n' - 'requires: libdns_sd1\n' 'version: 379.32.1-1\n' 'install: x86/release/mDNSResponder/libdns_sd-devel/libdns_sd-devel-379.32.1-1.tar.bz2 195 ' 'aff488008bee3486e25b539fe6ccd1397bd3c5c0ba2ee2cf34af279554baa195af7493ee51d6f8510735c9a2ea54436d776a71e768165716762aec286abbbf83\n' @@ -188,7 +182,6 @@ 'automatic discovery of computers, devices, and services on IP networks using\n' 'industry standard IP protocols."\n' 'category: Net\n' - 'requires: libdns_sd1\n' 'message: mDNSResponder "The Cygwin mDNSResponder package contains only clients.\n' "If you do not already have the 'Bonjour Service' installed (it comes with\n" 'a number of popular Windows programs), then you can download it at\n' @@ -234,7 +227,6 @@ 'sdesc: "Per-version hint test package"\n' 'ldesc: "Per-version hint test package"\n' 'category: Base\n' - 'requires: base-cygwin cygwin\n' 'version: 4.8-1\n' 'install: x86/release/per-version/per-version-4.8-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -260,7 +252,6 @@ 'sdesc: "Replacement per-version hint test package - updated"\n' 'ldesc: "Replacement per-version hint test package - updated"\n' 'category: Base\n' - 'requires: base-cygwin per-version\n' 'version: 1.0-1\n' 'install: x86/release/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1.tar.xz 228 ' 'e675b0ac4bc2c3e1c4971bc56d77b0cd53a9bdf5632873a235d7582e29dfd3e8a7bb04b28f6cdee3e6b3d14c25ed39392538e3f628a9bfda6c905646ebc3c225\n' @@ -329,7 +320,6 @@ '@ test-c\n' 'sdesc: "test package C"\n' 'category: Devel Unmaintained\n' - 'requires: test-d test-e\n' 'version: 1.0-1\n' 'install: noarch/release/test-c/test-c-1.0-1.tar.xz 256 ' 'ef15790d8dc8163ed15dfca37565558203ed8b7569d586e0bc949f25282f44a1c059a60a7502863312b41cda649e3a9e2516d354eec9d54829e3ac1a3547097c\n' @@ -363,7 +353,6 @@ "It's description might contains some unicode junk\n" 'Like it’s you’re Markup Language™ Nokogiri’s tool―that Bézier."\n' 'category: Devel\n' - 'requires: cygwin\n' 'version: 1.0-1\n' 'install: x86/release/testpackage/testpackage-1.0-1.tar.bz2 195 ' 'aff488008bee3486e25b539fe6ccd1397bd3c5c0ba2ee2cf34af279554baa195af7493ee51d6f8510735c9a2ea54436d776a71e768165716762aec286abbbf83\n' diff --git a/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1.hint b/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1.hint index 4610d7a..5ab7f54 100755 --- a/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1.hint +++ b/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1.hint @@ -1,4 +1,4 @@ category: Devel sdesc: "test package C" obsoletes: obs-a obs-b -depends: test-d (>= 1.0), test-e +requires: test-d (>= 1.0), test-e diff --git a/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3.hint b/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3.hint index 9e3e36e..842197e 100644 --- a/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3.hint +++ b/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3.hint @@ -1,7 +1,7 @@ sdesc: "The UNIX emulation engine" ldesc: "The UNIX emulation engine" category: Base -requires: base-cygwin +requires: base-cygwin _windows ( >= 6.0 ) provides: cygwin-api0_291 conflicts: fruit-juice test: diff --git a/test/testdata/uploads/pkglist.expected b/test/testdata/uploads/pkglist.expected index ae70bb4..538f40f 100644 --- a/test/testdata/uploads/pkglist.expected +++ b/test/testdata/uploads/pkglist.expected @@ -4,7 +4,6 @@ 'Like it’s you’re Markup Language™ Nokogiri’s tool―that ' 'Bézier."', 'category': 'Devel', - 'requires': 'cygwin', 'depends': 'cygwin'}}, {}, False), 'testpackage-src': Package('testpackage', {'1.0-1': Tar('testpackage-1.0-1-src.tar.bz2', 'x86/release/testpackage', 'acfd77df3347e6432ccf29c12989964bc680a158d574f85dfa7ef222759f411006c7bd2773e37c5abdee628bea769b2da9aae213db615cd91402fd385373933d', 266, False)}, {'1.0-1': {'sdesc': '"A test package"', 'ldesc': '"A test package\n' @@ -13,13 +12,14 @@ 'Bézier."', 'category': 'Devel', 'homepage': 'http://homepage.url', - 'parse-warnings': ["key 'license' missing"]}}, {}, False), + 'parse-warnings': ["key 'license' missing"], + 'depends': ''}}, {}, False), 'testpackage-subpackage': Package('testpackage/testpackage-subpackage', {'1.0-1': Tar('testpackage-subpackage-1.0-1.tar.bz2', 'x86/release/testpackage/testpackage-subpackage', 'aff488008bee3486e25b539fe6ccd1397bd3c5c0ba2ee2cf34af279554baa195af7493ee51d6f8510735c9a2ea54436d776a71e768165716762aec286abbbf83', 195, False)}, {'1.0-1': {'sdesc': '"A test subpackage"', 'ldesc': '"A test subpackage"', 'category': 'Devel', - 'external-source': 'testpackage-src'}}, {}, False), + 'external-source': 'testpackage-src', + 'depends': ''}}, {}, False), 'testpackage-zstd': Package('testpackage-zstd', {'1.0-1': Tar('testpackage-zstd-1.0-1.tar.zst', 'x86/release/testpackage-zstd', '044066c54c036190f9b0496ccf31f74748d209cce961352e19631876d5abd79ef6d2b34edfb955b8d1a7a781294ee0636bb1305afe410b34562367a2cb77988d', 98, False)}, {'1.0-1': {'category': 'Base', - 'requires': '', 'sdesc': '"test package (zstd compressed)"', 'ldesc': '"test package (zstd compressed)"', 'depends': ''}}, {}, False), @@ -29,7 +29,9 @@ 'ldesc': '"test package (zstd compressed)"', 'homepage': 'http://zstd.testpkg.invalid', 'skip': '', - 'parse-warnings': ["key 'license' missing"]}}, {}, False), + 'parse-warnings': ["key 'license' missing"], + 'depends': ''}}, {}, False), 'testpackage2-subpackage': Package('testpackage2/testpackage2-subpackage', {'1.0-1': Tar('testpackage2-subpackage-1.0-1.tar.bz2', 'x86/release/testpackage2/testpackage2-subpackage', 'c4bf8e28d71b532e2b741e2931906dec0f0a70d4d051c0503476f864a5228f43765ae3342aafcebfd5a1738073537726b2bfbbd89c6da939a5f46d95aca3feaf', 46, True)}, {'1.0-1': {'sdesc': '"A test subpackage 2"', 'ldesc': '"A test subpackage 2"', - 'category': 'Devel'}}, {}, False)} + 'category': 'Devel', + 'depends': ''}}, {}, False)}