[aur-general] Standardized CPAN Package Versions

Xyne xyne at archlinux.ca
Sun Feb 6 17:16:44 EST 2011


Hi,

I have CC'd this to aur-general as this concerns all CPAN packagers on Arch.

CPAN package versions are a mess on Arch Linux. It seems that many if not most
CPAN packagers on Arch are unaware of how CPAN deals with versions and thus
they do not correctly translate the CPAN version. Most of the time a naive
translation is used instead, and this prevents Pacman from working correctly.

To give an example, CPAN considers "1.15" to be a later version than "1.23.0",
whereas Pacman will consider the latter version the newer version. This is
because "1.15" is short for "1.150" on CPAN, whereas "1.23.0" is short for
"1.023.0". This can be confirmed using the "version" module[1].

I have written a simple Perl script[2] that addresses this issue.* It accepts
CPAN versions as command-line arguments and prints out standardized Pacman
package versions. The package versions enable Pacman to correctly compare CPAN
packages, e.g. when resolving minimal dependencies.

I propose that the script be packaged and made an official tool for Perl
package developers.** It should also be included on the Perl Package Guidelines
wiki page[3].

I hope that this will be seriously considered as it addresses a real issue.
Tools that generate CPAN packages for Pacman (e.g. Bauerbill) cannot work
properly when there is no consistency in how Arch packages are versioned.

Please note as well that this is completely separate from my previous (and
continued) contention regarding the "provides" array of CPAN packages.

Regards,
Xyne


[1]: http://search.cpan.org/~jpeacock/version-0.88/
[2]: http://xyne.archlinux.ca/scripts/pacman/ver_cpan2pacman
[3]: https://wiki.archlinux.org/index.php/Perl_Package_Guidelines

* The script only depends on Perl. The name and license are preliminary. I will
  gladly change both to something more suitable.

* I would be willing to maintain it, but an official tool should probably be
  included in [core] or [extra], not [community]. 


More information about the aur-general mailing list