From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2201) id AF5BC3858438; Fri, 28 Apr 2023 18:46:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AF5BC3858438 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1682707591; bh=mCQDCYE0Ij7IywNfDYnPFjJM3HLXcMrUW43B2DPjbDw=; h=To:Subject:Date:From:From; b=Zg0L8W/T68nVA+AnVAjluNWgn3Z1id6Mw4Usxq7Tkm9aUghTbmxC23ARxKI2JomMh GqqyYoJMe2M3fseYTmpb/zV2AV4HRhHhnijerjfVhDCVesH1OoApUGSfjlSBn4coKB bSaf5LFvid3HXCHuV1EsRzp3AwswajYgOzp2icjU= To: cygwin-apps-cvs@sourceware.org Subject: [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20230209-24-g1b1dcdc X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: a5e479bfd14a8c9ec783efd79319c19d29a8de4e X-Git-Newrev: 1b1dcdc3905defa775445f53d906c0ff31da2078 Message-Id: <20230428184631.AF5BC3858438@sourceware.org> Date: Fri, 28 Apr 2023 18:46:31 +0000 (GMT) From: Jon Turney List-Id: https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=1b1dcdc3905defa775445f53d906c0ff31da2078 commit 1b1dcdc3905defa775445f53d906c0ff31da2078 Author: Jon Turney Date: Thu Apr 27 20:11:52 2023 +0100 Add a ruby rebuilds report Generalize the perl rebuild report logic to work for any version provide: https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=dac66d35228054ed93df79c8e97d17620eb3b355 commit dac66d35228054ed93df79c8e97d17620eb3b355 Author: Jon Turney Date: Mon Apr 24 14:37:09 2023 +0100 Add a tool for fixing requires by linkage https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=2e43c60ad1c72bfac6daea9653a6174e3c1b5925 commit 2e43c60ad1c72bfac6daea9653a6174e3c1b5925 Author: Jon Turney Date: Sun Apr 23 15:06:59 2023 +0100 Enhance fix-requires-by-path to match paths against a regex https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=5caba5cdb6d9f2c17c552ea9e711dbda6ebe0779 commit 5caba5cdb6d9f2c17c552ea9e711dbda6ebe0779 Author: Jon Turney Date: Sun Apr 23 14:01:56 2023 +0100 Add some historic ruby provides, prior to expiring them Diff: --- calm/past_mistakes.py | 1 + calm/reports.py | 31 +++++++++++++++++-------------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py index 17c23fd..e1b90e1 100644 --- a/calm/past_mistakes.py +++ b/calm/past_mistakes.py @@ -162,6 +162,7 @@ nonexistent_provides = [ 'python3-dbus-debuginfo', 'tl_2023', 'tl_basic_2023', + 'ruby_23', 'ruby_22', 'ruby_20', ] diff --git a/calm/reports.py b/calm/reports.py index 20a167c..f5405ae 100644 --- a/calm/reports.py +++ b/calm/reports.py @@ -188,20 +188,22 @@ def deprecated(args, packages, reportsdir): template('Deprecated shared library packages', body.getvalue(), f) -# produce a report of packages which need rebuilding for latest perl major version +# produce a report of packages which need rebuilding for the latest major +# version version provides # -def perlrebuild(args, packages, reportsdir): +def provides_rebuild(args, packages, reportfile, provide_package): pr_list = [] arch = 'x86_64' # XXX: look into how we can change this, after x86 is dropped - perl_package = packages[arch].get('perl_base', None) - perl_provide = None + pp_package = packages[arch].get(provide_package, None) + pp_provide = None - if perl_package: - perl_bv = perl_package.best_version - perl_provide = perl_package.version_hints[perl_bv]['provides'] + if pp_package: + pp_bv = pp_package.best_version + pp_provide = pp_package.version_hints[pp_bv]['provides'] + pp_provide_base = re.sub(r'\d+$', '', pp_provide) for p in packages[arch]: po = packages[arch][p] @@ -211,13 +213,13 @@ def perlrebuild(args, packages, reportsdir): depends = [re.sub(r'(.*) +\(.*\)', r'\1', r) for r in depends] for d in depends: - if not re.match(r'perl\d+_\d+', d): + if not d.startswith(pp_provide_base): continue - if d == perl_provide: + if d == pp_provide: continue - # requires an old perl provide + # requires an old provide pr = types.SimpleNamespace() pr.pn = p pr.po = po @@ -230,7 +232,7 @@ def perlrebuild(args, packages, reportsdir): break body = io.StringIO() - print('

Packages whose latest version depends on a perl version provides: other than %s.

' % perl_provide, file=body) + print('

Packages whose latest version depends on a version provides: other than %s.

' % pp_provide, file=body) print('', file=body) print('', file=body) @@ -241,8 +243,7 @@ def perlrebuild(args, packages, reportsdir): print('
packagesrcpackageversiondepends
', file=body) - r = os.path.join(reportsdir, 'perl_rebuilds.html') - with utils.open_amifc(r) as f: + with utils.open_amifc(reportfile) as f: template('Packages needing rebuilds for latest perl', body.getvalue(), f) @@ -256,4 +257,6 @@ def do_reports(args, packages): unmaintained(args, packages, reportsdir) deprecated(args, packages, reportsdir) - perlrebuild(args, packages, reportsdir) + + provides_rebuild(args, packages, os.path.join(reportsdir, 'perl_rebuilds.html'), 'perl_base') + provides_rebuild(args, packages, os.path.join(reportsdir, 'ruby_rebuilds.html'), 'ruby')