https://bugzilla.redhat.com/show_bug.cgi?id=1629345
Bug ID: 1629345 Summary: Incorrect "Provides" Versions Product: Fedora Version: rawhide Component: perl-Encode Severity: high Assignee: ppisar@redhat.com Reporter: william.braswell@autoparallel.com QA Contact: extras-qa@fedoraproject.org CC: perl-devel@lists.fedoraproject.org, ppisar@redhat.com
Description of problem: Many of the "Provides:" entries of the perl-Encode package include version numbers which do not actually exist. This is caused by incorrectly trimming leading zeros.
Version-Release number of selected component (if applicable): All versions & releases of perl-Encode in Fedora/CentOS/RedHat (I think)
How reproducible: Easily
Steps to Reproduce: 1. Visit https://fedora.pkgs.org/28/fedora-x86_64/perl-Encode-2.97-3.fc28.x86_64.rpm.... 2. Scroll down to "Provides" section, "perl(Encode::Byte) = 2.4" 3. Visit https://metacpan.org/pod/Encode::Byte 4. Left side of page, "Module version: 2.04"
Actual results: 2.4
Expected results: 2.04
Additional info:
The same problem applies to most or all of the other Provides modules after Encode::Byte which have a leading 0 after the decimal, such as Encode::CJKConstants & Encode::Config & Encode::EBCDIC etc etc.
Modules which do not have a leading 0 do not seem to be affected, such as Encode::CN::HZ 2.10 & MIME::Header 2.28 etc.
Looking at the perl-Encode specfile, I am not exactly sure how to fix this, because the "Provides:" entries seem to be auto-generated... https://src.fedoraproject.org/rpms/perl-Encode/blob/master/f/perl-Encode.spe...
It is incorrect to trim leading zeros, because it does not allow for the proper conversion of numeric Perl version "2.40" which can easily be rounded to "2.4" by Perl's numeric processing. This also breaks automatic versioning and packaging systems.
The Fedora Versioning Guidelines clearly states: "Don't trim leading zeroes." https://fedoraproject.org/wiki/Packaging:Versioning