| Summary: | RFE: Add a package for perl's "Locale::Language" | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | David Tonhofer <bughunt> |
| Component: | perl-Locale-Codes | Assignee: | Petr Pisar <ppisar> |
| Status: | CLOSED WORKSFORME | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 24 | CC: | cweyl, emmanuel, iarnell, jplesnik, kasal, perl-devel, ppisar, psabata, rc040203, tcallawa |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-08-29 12:25:41 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
David Tonhofer
2016-08-28 13:05:18 UTC
Locale::Language is a module shipped in the Locale-Codes perl dist and is contained in the perl-Locale-Codes package. I have no issues installing it. dnf install "perl(Locale::Language)" Last metadata expiration check: 1:06:56 ago on Mon Aug 29 12:51:13 2016. Package perl-Locale-Codes-3.39-1.fc24.noarch is already installed, skipping. Dependencies resolved. It's as Emmanuel says. The Locale::Language module is delivered by perl-Locale-Codes package. See <http://search.cpan.org/~sbeck/Locale-Codes/>. Great. Thanks, I missed that one. Sorry about that. But... what is that package syntax with parentheses? dnf install "perl(Locale::Language)" ...where does that come from? It doesn't seem to be described in the dnf manpage "SPECIFYING PACKAGES" part. (In reply to David Tonhofer from comment #3) > But... what is that package syntax with parentheses? > > dnf install "perl(Locale::Language)" This is ordinary shell quoting. It is needed to prevent the shell from interpreting the program argument string (Here: perl(Locale::Language)), when passing the argument down to the program (Here: dnf). It is and isn't. There is:
Failing to match the input argument to an existing package name based
on the patterns above, DNF tries to see if the argument matches an
existing provide.
And the syntax with parentheses falls into "provide" category. But because dnf does not consider syntax of "provide", it's not documented in the dnf manual. From RPM perspective the "provide" does not have any syntax, it's just a string.
There are many "provide" symbols in Fedora packages. Just try "dnf repoquery --provides PACKAGE" for a PACKAGE. It's not only about perl.
The perl syntax is documented in "perl" package description (rpm -qi perl) and in the Perl packaging guide lines (https://fedoraproject.org/wiki/Packaging:Perl#Perl_Requires_and_Provides).
(In reply to David Tonhofer from comment #3) > > But... what is that package syntax with parentheses? RPM generates autoprovides for all perl modules in a package and these look like perl(Foo) (where Foo is the packaged module). So you can ask dnf/yum to install perl(Foo) and it will install the package that contains that module. Because you don't want the shell to interpret the parentheses, you either need to quote the provide or espace the parentheses. dnf install "perl(Locale::Language)" dnf install perl\(Locale::Language\) (In reply to Petr Pisar from comment #5) > It is and isn't. There is: Wrong. Without the quotes, the shell interprets the '()', which cause dnf not to receive the correct arguments: Proof: # cat test.sh #!/bin/sh for x in ${*}; do echo "$x"; done # ./test.sh 1 2 3 1 2 3 # ./test.sh 1 2 3 a(b) bash: syntax error near unexpected token `(' # ./test.sh 1 2 3 'ab(b)' 1 2 3 ab(b) # dnf install perl(foo) bash: syntax error near unexpected token `(' A hearty thanks to everybody. Yes, the part with the quotes is clear, but I missed the idea of specifying a "provide" to "dnf" (It's the first time I see someone do this, truly, and I have installed Red Hat since 1998 I think ... so long ago, time to prepare riding into the sunset) |