Skip to content

Normalize perl module versions - #48

Draft
perlpunk wants to merge 70 commits into
openSUSE:masterfrom
perlpunk:normalize-versions
Draft

perlpunk wants to merge 70 commits into
openSUSE:masterfrom
perlpunk:normalize-versions

Conversation

@perlpunk

Copy link
Copy Markdown
Collaborator

See #47

Still a few problems to fix, stay tuned...

@perlpunk
perlpunk force-pushed the normalize-versions branch from 55595eb to 7f79321 Compare March 7, 2024 18:29
@perlpunk
perlpunk force-pushed the normalize-versions branch from 0df65e8 to 998a2b8 Compare May 14, 2024 17:50
@perlpunk
perlpunk force-pushed the normalize-versions branch 2 times, most recently from 457603a to 2b38bca Compare July 14, 2024 21:44
@perlpunk
perlpunk force-pushed the normalize-versions branch from 1a17186 to 1ca8ab6 Compare July 21, 2024 19:07
@perlpunk
perlpunk force-pushed the normalize-versions branch 4 times, most recently from 2228382 to 16a9af1 Compare January 24, 2025 18:57
@perlpunk
perlpunk force-pushed the normalize-versions branch from 48c07b9 to 1aa3782 Compare April 12, 2025 14:44
@perlpunk
perlpunk force-pushed the normalize-versions branch from 5e1dd4a to d26aaa3 Compare June 3, 2025 12:04
perlpunk added 19 commits June 3, 2025 14:07
Somehow it didn't get reported for 5.38
Using /bin/true resulted in sporadic Broken Pipe errors

Issue: https://progress.opensuse.org/issues/155458
devel:languages:perl only, modules with 4 or more digits, without reverse
dependencies

perl-App-XML-DocBook-Builder
perl-App-ZofCMS
perl-CMS-MediaWiki
perl-Catalyst-DispatchType-Regex
perl-Class-Light
perl-Class-Null
perl-Config-JSON
perl-Convert-UU
perl-DBIx-Class-Candy
perl-DBIx-Class-EncodedColumn
perl-Daemon-Control
perl-Daemon-Daemonize
perl-Dancer-Plugin-Email
perl-Data-Diver
perl-Data-Inherited
perl-Devel-ptkdb
perl-Dist-Zilla-App-Command-cover
perl-Dist-Zilla-Plugin-AutoVersion-Relative
perl-Dist-Zilla-Plugin-Bootstrap-lib
perl-Dist-Zilla-Plugin-CopyFilesFromBuild
perl-Dist-Zilla-Plugin-FatPacker
perl-Dist-Zilla-Plugin-HasVersionTests
perl-Dist-Zilla-Plugin-InstallGuide
perl-Dist-Zilla-Plugin-MetaResourcesFromGit
perl-Dist-Zilla-Plugin-ReadmeMarkdownFromPod
perl-Dist-Zilla-Plugin-ReportVersions
perl-Dist-Zilla-Plugin-Signature
perl-Dist-Zilla-Plugin-TaskWeaver
perl-Dist-Zilla-Plugin-Test-MinimumVersion
perl-Dist-Zilla-Plugin-Test-PodSpelling
perl-Dist-Zilla-Plugin-Test-Portability
perl-Dist-Zilla-Plugin-Test-Synopsis
perl-Dist-Zilla-Role-Tempdir
perl-Dist-Zilla-Util-ConfigDumper
perl-Dist-Zilla-Util-EmulatePhase
perl-Dist-Zilla-Util-Test-KENTNL
perl-Encode-Base32-Crockford
perl-Exception-Warning
perl-File-ShareDir-PathClass
perl-HTML-Template-Pro
perl-HTTP-XSCookies
perl-ICal-Format-Natural
perl-IPC-Exe
perl-Linux-Systemd
perl-Log-Any-Adapter-TAP
perl-Log-Dispatch-Configurator-Any
perl-Mail-Milter-Authentication
perl-Math-BigInt-FastCalc
perl-Math-BigInt-Pari
perl-Math-BigRat
perl-MediaWiki-Bot-Plugin-Admin
perl-MooseX-Storage-Format-JSONpm
perl-Net-MQTT
perl-Number-Phone-JP
perl-Ouch
perl-PERLANCAR-Module-List
perl-POE-Component-Generic
perl-POE-Component-IRC-Plugin-BaseWrap
perl-Perl6-Export-Attrs
perl-Perl6-Slurp
perl-Plack-Middleware-LogWarn
perl-Pod-Elemental-Transformer-List
perl-Pod-Weaver-PluginBundle-MARCEL
perl-Regexp-Debugger
perl-String-Copyright
perl-Sys-Info-Base
perl-Tatsumaki
perl-Term-EditorEdit
perl-Term-ReadLine-Perl
perl-Test-Subroutines
perl-Test-Weaken
perl-Test-mysqld
perl-Test2-Harness
perl-Text-MultiMarkdown
perl-Text-NeatTemplate
perl-Transmission-Client
perl-Version-Requirements
perl-WWW-Curl-Simple
perl-XML-RSS-LibXML
perl-constant-lexical
perl-PlRPC
perlpunk added 6 commits June 3, 2025 14:07
No other d:l:p modules depend on it, so likely not causing
much trouble
This makes it less problematic for the case when the Provides still has
    0.034
and Requires would have
    0.34.0

This would be unresolvable because 0.034 (or 0.34) is smaller than 0.34.0.
@perlpunk
perlpunk force-pushed the normalize-versions branch from d26aaa3 to 5a651ad Compare June 3, 2025 12:07
@perlpunk
perlpunk force-pushed the normalize-versions branch from c80451f to b841483 Compare June 3, 2025 16:21
perlpunk added 10 commits June 11, 2025 22:25
Should be used if a new version is smaller then the old
remove some modules not in d:l:p anymore
The file itself should also be generated, if it's not yet there.
Will work on that.
Ideally we would do what the CPAN indexer does ( needs research), but
overriding in cpanspec.yml for the rare exceptions is good enough for now.
@perlpunk
perlpunk force-pushed the normalize-versions branch from 0582862 to 9250947 Compare April 9, 2026 11:37
perlpunk added 10 commits June 7, 2026 17:24
Dynamic generation might repoprt additional modules
Refactor diff_changes along the way.

Sometimes the diff can't be generated because there are unexpected
modifications:

https://metacpan.org/release/YVES/Sereal-6.003/diff/YVES/Sereal-5.010#Changes
https://metacpan.org/release/ETHER/B-Utils-0.28/diff/ETHER/B-Utils-0.27
https://metacpan.org/release/DANKOGAI/Encode-3.25/diff/DANKOGAI/Encode-3.24

In some modules we have two changes files, ChangeLog and Changes, and
cpanspec is guessing the wrong one:
https://metacpan.org/dist/Error/source
One of them is simply the older one with historical entries.

Rather than leaving the dff empty, add the raw `diff` output and let a human
(or an AI) create the correct diff from there.

In times of many security issues we really don't want to miss any important
changelog entries.

Print an informal message preceded with "CHECK:".

Also if the changelo contains a possible security issue, print a "CHECK:"
line.

These hints can be consumed by autoupdate and added to the pull request
description.
For example some modules have a 'ChangeLog' file with older entries and a newer
'Changes' with the recent entries. In that case we can configure it instead of
letting cpanspec guess the wrong one.
Some files are called 'Changes' without a .pod suffix but still
contain pod
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant