perl5 modules: problems with livecheck versions
After switching to livecheck from metacpan in r149129 I'm experiencing problems with figuring out the latest version number at least for the following modules (but there may be more):
- p5-business-issn seems to have been updated (port version: 1.001, new version: 0.91)
- p5-class-dbi-pg seems to have been updated (port version: 0.09, new version: 0.08)
- p5-config-simple seems to have been updated (port version: 4.59, new version: 4.58)
- p5-list-uniq seems to have been updated (port version: v0.21.0, new version: 0.20)
- p5-net-senderbase seems to have been updated (port version: 1.02, new version: 1.01)
- p5-svg-graph seems to have been updated (port version: 0.04, new version: 0.02)
- p5-sys-meminfo seems to have been updated (port version: 0.98, new version: 0.91)
This needs two-fold handling:
- the code should probably throw an error (see also r127797)
- we should identify the reason behind the problem for each individual module and report it upstream, as is the case for Config::Simple
See also #51535.
Change History (7)
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Cc: |
devans@… jmr@… added
|
Owner: |
changed from devans@… to macports-tickets@…
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Resolution: |
→ fixed
|
Status: |
new →
closed
|
I've made some changes to the perl5 port group to help with this. The thing to realize is that search.cpan.org and api.metacpan.org are two different search engines but they both operate on the same CPAN repository. metacpan has some advantages over the traditional search.cpan.org but is not perfect and it is acknowledged that there are cases where search.cpan.org works better but its hard to tell why because, while the source for metacpan is open, the source for search.cpan.org is not.
After getting all the perl modules up to date after my vacation, I found 3 categories of problems to address of which the subject of this ticket is one.
Category 1 & 2 address ports that are better served by search.cpan.org than metacpan.org. Category 3 is where metacpan.org works better.
To address these issues, I've made two changes to the perl5 port group:
In r150080, I changed the default homepage to use metacpan.org to match livecheck. This fixed the problem associated with Category 3 where previously the metacpan livecheck (which was the correct latest version) disagreed with the search.cpan.org homepage as to module version.
In r150321, I added an additional boolean option (perl5.use_search_cpan_org) to perl5.setup that allows one to specify that search.cpan.org be used instead of metacpan.org. The default here is false, use metacpan.org, which works best for the vast majority on ports. But for the few ports in Category 1 & 2, setting this option to yes in the Portfile fixes the problem by using search.cpan.org for livecheck and also for the homepage so that again homepage and livecheck agree on latest version.
This is an empirical approach, not an analytical one but seems to fix the problems at hand.
From what I can tell, many of these ports are older ones that may not provide all the metadata that metacpan is looking for and I suspect have been special cased in search.cpan.org but I haven't done the work to be able to see exactly what is missing or what specifically metacpan is looking for. As you say, getting the upstream author to fix any deficiencies so that the offending ports are correctly indexed by metacpan would be the best solution.
After applying these changes to the portgroup and adjusting the various problem ports, the only livecheck failure is p5-mecab which is a different issue altogether (#47338).
For now, calling this fixed.