[Bug 255018] New: /usr/lib/rpm/perl.prov is broken by design (true story)
https://bugzilla.novell.com/show_bug.cgi?id=255018 Summary: /usr/lib/rpm/perl.prov is broken by design (true story) Product: openSUSE 10.2 Version: Final Platform: All OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Development AssignedTo: pth@novell.com ReportedBy: opensuse@augensalat.de QAContact: qa@suse.de /usr/lib/rpm/perl.prov is completely broken, because it reports Perl version numbers unchanged to RPM, even though Perl and RPM treat version numbers differently: Perl treats the form 0.01 as a float whereas RPM thinks of it as "a 0 and a 1". Please see http://search.cpan.org/dist/version/lib/version.pod and http://fedoraproject.org/wiki/Tools/RPM/VersionComparison This means that in Perl 0.10 < 0.101 < 0.11 is true while in RPM the same is false, because RPM regards it as 10 < 101 < 11 To work correctly /usr/lib/rpm/perl.prov must use (the logic of) version.pm (see doc link above) and create version numbers with method normal() of this package: $rpm_module_version = version->new($perl_module_version)->normal; examples: version->new("0.10")->normal -> "v0.100.0" version->new("0.101")->normal -> "v0.101.0" version->new("0.11")->normal -> "v0.110.0" -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=255018 mls@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #1 from mls@novell.com 2007-03-15 11:23 MST ------- Yeah, this is one of the reasons we don't run 'perl.req'. The provides are basically just there so that packages of other distributions that require them can work. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=255018 ------- Comment #2 from opensuse@augensalat.de 2007-03-15 14:52 MST ------- (In reply to comment #1)
Yeah, this is one of the reasons we don't run 'perl.req'. The provides are basically just there so that packages of other distributions that require them can work.
I hope this is not meant as the solution to this bug report - not using RPM's Requires means to abandon a key feature of RPM or any other packet manager. Fixing the bug is not impossible, but it would require to rebuild all perl packages, so the best time would be with the next SuSE release 10.3. BTW: I filed another Report about the same script - which fixes a nasty bug that could and should be fixed immediately: https://bugzilla.novell.com/show_bug.cgi?id=255009 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=255018 ------- Comment #3 from mls@novell.com 2007-03-16 06:28 MST ------- Well, the perl folks themself say that the provides/requires.perl script is the wrong way to go. And I won't do a openSUSE only fix that makes it incompatible to other linux vendors. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=255018 ------- Comment #4 from opensuse@augensalat.de 2007-03-16 09:09 MST ------- (In reply to comment #3)
Well, the perl folks themself say that the provides/requires.perl script is the wrong way to go. And I won't do a openSUSE only fix that makes it incompatible to other linux vendors.
Who do you mean with "the perl folks"? Do you have any pointers where to find their statements? I'm interested what they say exactly. And where is the problem with breaking compatibility if you don't have a work system after all? I mean - what do you expect to break if you don't use requirements anyway? Does your statement mean to keep the current status forever, which means not to use RPM for Perl modules, because sooner or later it will give a lot of headache? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=255018 ------- Comment #5 from mls@novell.com 2007-03-16 09:17 MST ------- I remember a discussion in p5p about automatic dependency extraction, and it was considered a bad thing. The proposed way was to add dependency information to the perl modules. I'm not saying that I want to keep the current status, my argument was that I don't want something different from fedora/mandriva/debian... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=255018 ------- Comment #6 from opensuse@augensalat.de 2007-03-16 10:10 MST ------- (In reply to comment #5)
I remember a discussion in p5p about automatic dependency extraction, and it was considered a bad thing. The proposed way was to add dependency information to the perl modules.
Was this about RPM and maybe DEB or more generally? Because CPAN et.al. do this automatic dependency extraction as well. Of course there is META.yml for this, but hardly any distribution puts their (complete) provides in it. LBNL META.yml is usually auto-generated by parsing the files of the distribution, which in fact is automatic dependency extraction.
I'm not saying that I want to keep the current status, my argument was that I don't want something different from fedora/mandriva/debian...
OK. So what would be the way to go then? BTW. I don't think SuSE has to worry about RPM compatibility towards Debian. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com