public inbox for cygwin-apps-cvs@sourceware.org help / color / mirror / Atom feed
From: Jon Turney <jturney@sourceware.org> To: cygwin-apps-cvs@sourceware.org Subject: [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20230209-24-g1b1dcdc Date: Fri, 28 Apr 2023 18:46:31 +0000 (GMT) [thread overview] Message-ID: <20230428184631.AF5BC3858438@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=1b1dcdc3905defa775445f53d906c0ff31da2078 commit 1b1dcdc3905defa775445f53d906c0ff31da2078 Author: Jon Turney <jon.turney@dronecode.org.uk> 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 <jon.turney@dronecode.org.uk> 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 <jon.turney@dronecode.org.uk> 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 <jon.turney@dronecode.org.uk> 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(' <p>Packages whose latest version depends on a perl version provides: other than %s.</p>' % perl_provide, file=body) + print(' <p>Packages whose latest version depends on a version provides: other than %s.</p>' % pp_provide, file=body) print('<table class="grid">', file=body) print('<tr><th>package</th><th>srcpackage</th><th>version</th><th>depends</th></tr>', file=body) @@ -241,8 +243,7 @@ def perlrebuild(args, packages, reportsdir): print('</table>', 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')
reply other threads:[~2023-04-28 18:46 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230428184631.AF5BC3858438@sourceware.org \ --to=jturney@sourceware.org \ --cc=cygwin-apps-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).