FS#18049 - [perl] update provides array
Attached to Project:
Arch Linux
Opened by Xyne (Xyne) - Thursday, 28 January 2010, 11:20 GMT
Last edited by Kevin Piche (kpiche) - Saturday, 07 August 2010, 19:48 GMT
Opened by Xyne (Xyne) - Thursday, 28 January 2010, 11:20 GMT
Last edited by Kevin Piche (kpiche) - Saturday, 07 August 2010, 19:48 GMT
|
Details
The provides array is incomplete. Please see the following
thread for a complete provides array and a discussion about
possible changes to the Perl packaging guidelines:
http://bbs.archlinux.org/viewtopic.php?id=89752 |
This task depends upon
Closed by Kevin Piche (kpiche)
Saturday, 07 August 2010, 19:48 GMT
Reason for closing: Won't implement
Saturday, 07 August 2010, 19:48 GMT
Reason for closing: Won't implement
Then again, if clicking a link is too annoying then I have little hope for getting any support for this.
Anyway, I've attached the provides array.
I will commit this if there's no action or objection by March 2010 bug day.
Kevin?
The array has been produced by directly checking and loading module files owned by Perl against CPAN modules which are mapped to the Perl package on CPAN. The modules are thus valid and recognized, and the versions are those reported by the installed modules themselves, so they are also perfectly accurate.
@paul
This request is indeed just to fix the current provides array. I only mentioned the other discussion because it would directly affect all Perl packages on Arch.
This is a question of changing Arch perl packaging policy so it is not as simple as you imply.
They way I see this is that we currently grab a tarball from CPAN and make a single package from that. That tarball may contain one or more modules. You want the provides array to contain the list of all modules in the tarball. That may well be better but are there any edge cases that you have not considered?
e.g. is there _any_ distributions on CPAN which contains more than one module but has a module with the same name as the distribution? That would result in a package "perl-foo-bar" that provides "perl-foo-bar" and "perl-foo-baz" which would be bad.
Also note that this takes the provides array for perl from 112 "packages" to 445 "modules".
It seems to me like the existing package is listing some of its provides and not others, without any apparent reasoning as to which are included and which are not.
This proposes listing all the modules provided by the perl package. While that is most likely better, doing so is a change in Arch packaging policy for perl packages and has wider ramifications that just the provides array in perl. That is why I am advocating slightly more care be taken when deciding to implement this.
I'll quickly reply to this though:
> e.g. is there _any_ distributions on CPAN which contains more than one module but has a module with the same name as the distribution? That would result in a package "perl-foo-bar" that provides "perl-foo-bar" and "perl-foo-baz" which would be bad.
pacpan removes a name from the provides array if it is the same as the pkgname. I also map all modules to a unique distribution (both modules and distributions are represented by keys in hashes). Run pacpan yourself and then inspect the /tmp/bauerbill/pacpan/CPAN_database. Each line follows the format:
<distribution name> <version> <source path> [<module> <version>]
If you find any edge cases that could be problematic for some reason, let me know and I'll address it.