Description of problem:
With the split of this package from base perl, the LSB perl distribution tests fail a number of Locale::* tests. After installation of perl-Locale-Codes, some of the tests pass, although the system still seems to lack support for Locale::Constants.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. install rawhide
2. install the LSB distribution test suite
3. run the perl tests
several tests fail
all tests should pass
Can you provide lsb-test-perl package here or somewhere?
This should be a fairly recent build, while the LF servers are down:
Looks that needs some package lsb-tet3-lite. Also, how can I test perl against system installed perl? I see lsb-test-perl installs own perl modules and run test against it. Please kindly provide details here to reproduce above problem and identify what dependencies to be added.
Sorry I just untarrred tet3-lite in the same directory. (The snapshots tarball has most of the test suite). The test is designed to test the system perl. It provides only the test harness and some additional needed files. To run the test after install:
To run a single failed test with more verbose output:
factory-32:/opt/lsb/test/perl # ./single_test
usage: ./single_test <some_test>
(some_test something like ../lib/integer.t or io/fs.t)
Note for single test you do not use the path from /opt/lsb/test/perl, but the same path as reported in the failure output.
redhat-lsb-4.0-7.fc16 has been submitted as an update for Fedora 16.
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing redhat-lsb-4.0-7.fc16'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
redhat-lsb-4.0-7.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
While the requires may have been adjusted, the perl build doesn't pass constants.t or languages.t:
[root@rawhide-32 perl]# ./single_test ../lib/Locale/Codes/t/constants.t
../lib/Locale/Codes/t/constants....Can't locate Locale/Constants.pm in @INC (@INC contains: /opt/lsb/test/perl/5.10.0/tlib /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 . './' /opt/lsb/test/perl/lib /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at ../lib/Locale/Codes/t/constants.t line 6.
BEGIN failed--compilation aborted at ../lib/Locale/Codes/t/constants.t line 6.
Test returned status 2 (wstat 512, 0x200)
FAILED--1 test script could be run, alas--no output ever seen
[root@rawhide-32 perl]# ./single_test ../lib/Locale/Codes/t/languages.t
not ok 23
FAILED test 23
Failed 1/53 tests, 98.11% okay
Failed Test Stat Wstat Total Fail List of Failed
../lib/Locale/Codes/t/languages.t 53 1 23
Failed 1/1 test scripts. 1/53 subtests failed.
Files=1, Tests=53, 0 wallclock secs ( 0.15 cusr + 0.04 csys = 0.19 CPU)
Failed 1/1 test programs. 1/53 subtests failed.
not ok 131 - use Locale::Constants;
# Failed test 'use Locale::Constants;'
# at all/tst_perlModPresent.pl line 147.
# Tried to use 'Locale::Constants'.
# Error: Can't locate Locale/Constants.pm in @INC (@INC contains: /opt/lsb/test/perl/5.10.0/t/blib/arch /opt/lsb/test/perl/5.10.0/t/blib/lib /opt/lsb/test/perl/5.10.0/tlib /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 /opt/lsb/test/perl/5.10.0/t /opt/lsb/test/perl/5.10.0/t/'./' /opt/lsb/test/perl/lib) at (eval 175) line 2, <DATA> line 1662.
# BEGIN failed--compilation aborted at (eval 175) line 2, <DATA> line 1662.
[root@rawhide-32 perl]# rpm -q perl
[root@rawhide-32 perl]# rpm -q redhat-lsb
how can I help here? In rawhide perl-Locale-Codes provides
perl(Locale::Codes::Constants) = 3.20
Also, better open a new bug.
Yes, but Locale::Constants is the missing piece. Nothing seems to provide this now in the Red Hat build. If you look at our bug in comment 1, I was able to build upstream and have this support, it seems to be something "special" in your build that drops it.
as far as I can tell Locale::Codes::Constants != Locale::Constants
Can you explain what you mean by "I was able to build upstream" ? which upstream? perl-Locale-Codes? What is dropped by redhat-lsb build?
I wonder if no package is providing Locale::Constants in Fedora then how can I fix your problem?
upstream perl, from the perl-5.14.1 tarball
Well, I was kind of hoping you Fedora guys talked to one another and between you and the perl maintainer could make something provide what LSB requires :)
Can you please help me here? Reporter want to run the perl test for Locale::Constants which is now not present in Fedora. Should upstream test suite drop the test for Locale::Constants?
See above comments for more description of reported problem.
(In reply to comment #13)
> Hi Marcela,
> Can you please help me here? Reporter want to run the perl test for
> Locale::Constants which is now not present in Fedora. Should upstream test
> suite drop the test for Locale::Constants?
> See above comments for more description of reported problem.
we are providing perl(Locale::Constants) in sub-package from perl upstream tarball. The sub-package is called perl-Locale-Codes. Do you need to add it into some collection? You can easily find it by yum whatprovides 'perl(Locale::Constants)'.
Thanks Marcela. Looks like its a dual-lived module. When I searched for perl(Locale::Constants) in rawhide, I get
repoquery --whatprovides 'perl(Locale::Constants)' --repoid=rawhide
How can I make this package to be required by redhat-lsb? The other CPAN Locale-Codes module does not provide perl(Locale::Constants).
How can have both the packages(one from perl and one its own) installed on my f16/rawhide machine?
Which brings me back to the original comments:
[root@rawhide-32 ~]# yum whatprovides 'perl(Locale::Constants)'
Loaded plugins: refresh-packagekit
perl-Locale-Codes-3.16-205.fc17.noarch : Distribution of modules to handle
: locale codes
Repo : rawhide
Other : perl(Locale::Constants)
[root@rawhide-32 ~]# rpm -q perl-Locale-Codes
[root@rawhide-32 ~]# perl -e "use Locale::Constants"
Can't locate Locale/Constants.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
So while it seems to be provided, it doesn't seem to be usable as such.
With new version of Locale::Codes was code reorganized.
Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to
allow for cleaner future additions. The original four modules (Locale::Language,
Locale::Currency, Locale::Country, Locale::Script) will continue to work, but
all new sets of codes will be added in the Locale::Codes namespace.
For whole set of changes, please see upstream:
So, yum will install the latest version of Locale::Codes, which already contains this change.
You should correctly depends on perl(Locale::Codes::Constants) since F-16 instead of perl(Locale::Constants).
Yes, but the whole point to this bug is LSB requires Locale::Constants. And it won't go away for a while per the LSB deprecation policy. At this point, Fedora is the only leading-edge. distribution not providing this module.
Yes, but I guess that new Perl will contain updated package. It will be released in the spring, so since than it will be changed anyway.
In yum is not possible to specify, which version of module should be installed, so I don't see any solution.
I think there will be no way to solve the reported issue then. We can't go
backwards. We want to provide the current upstream modules in Fedora. I see
this bug as a WONTFIX.
Thanks for the explanation.
For losing Locale::Constants. How about to add /usr/share/perl5/vendor_perl/Locale/Constants.pm in redhat-lsb package. The module file contents as follows:
*main::Locale::Constants:: = *main::Locale::Codes::Constants::;
What about this solution?
LSB 4.1 also need Pod::Plainer, I didn't find this module in f16.
LSB should be fixed. Pod::Plainer was obsoleted by the Perl upstream:
I already sent you reply on devel mailing list.
In the case of Pod::Plainer, LSB is as "fixed" as possible, as can be seen here:
That is, it was introduced (on the advice of Perl upstream at the time, it should be noted) in LSB 3.2, deprecated in 4.1 to match upstream's deprecation. Deprecation is not removal, even the release note referenced has verbiage on that ("you should carefully consider the repercussions of core module deprecations")
As lsb tests want the same old path, is it ok redhat-lsb-4.1 to add wrapper script Constants.pm in comment#21 ?
I don't know how is lsb working. If it's okay for you as a maintainer of lsb, then I won't be complaining about a wrapper.
I'm not interested in packaging Pod::Plainer, because it's not used anyway - Pod::Plainer - Perl extension for converting Pod to old-style Pod. If anyone else is willing to package it, it's fine with me.
Thanks Marcela for your reply. As both the modules are requirement for lsb 4.1 standard I will use the wrapper and will ask xning to get the package review done.
xning is preparing lsb 4.1 update in Fedora.