| Summary: | find-provides does not correctly extract symbol versions when locale is not english | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Olivier Blin <mageia> |
| Component: | RPM Packages | Assignee: | Mageia Bug Squad <bugsquad> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | CC: | mageia, thierry.vignaud, tmb |
| Version: | Cauldron | Keywords: | NEEDINFO, PATCH |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Source RPM: | rpm-mageia-setup | CVE: | |
| Status comment: | |||
| Attachments: | is that fix enough? | ||
Created attachment 2983 [details]
is that fix enough?
Thierry Vignaud
2012-10-23 14:31:31 CEST
Keywords:
(none) =>
NEEDINFO, PATCH That's enough for my bug, but shouldn't we export LC_ALL=C at top of the file? There may be other issues, like sorting behavior, or localized output of other commands. Same holds for find-requires. Fixed Status:
NEW =>
RESOLVED Thanks dear |
The find-provides script does not correctly extract symbol versions when locale is not english, because the objdump output can be localized. Thus, this will not work as expected with a non-english locale: objdump -p $f 2>/dev/null | awk ' BEGIN { START=0 ; } /Version definitions:/ { START=1; } /^[0-9]/ && (START==1) { print $4; } /^$/ { START=0; } ' For example, when rebuilding gcc with a french locale, the generated libstdc++6 package is missing this kind of provides: libstdc++.so.6(CXXABI_TM_1) libstdc++.so.6(CXXABI_TM_1)(64bit) libstdc++.so.6(GLIBCXX_3.4) libstdc++.so.6(GLIBCXX_3.4)(64bit)