Bug 1221250

Summary: glibc-locale-base missing locale() provides
Product: [openSUSE] openSUSE Tumbleweed Reporter: Georg Pfuetzenreuter <georg.pfuetzenreuter>
Component: BasesystemAssignee: Ludwig Nussel <lnussel>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Georg Pfuetzenreuter 2024-03-11 21:35:04 UTC
Hi,

the glibc-locale package ships with "Provide"s for the different locales it ships:

```
$ rpm -q --provides glibc-locale|head
glibc-locale = 2.38-6.1
glibc-locale(x86-64) = 2.38-6.1
locale(glibc:aa_DJ)
locale(glibc:aa_DJ.utf8)
locale(glibc:aa_ER)
locale(glibc:aa_ER@saaho)
locale(glibc:aa_ET)
locale(glibc:af_ZA)
locale(glibc:af_ZA.utf8)
locale(glibc:agr_PE)
```

There are two locales which are shipped in glibc-locale-base - en_US.utf8 and C.utf8.

Upon packaging something which requires one of them, I noticed that glibc-locale-base is not shipping any `locale()` "Provide"s.

```
$ rpm -q --provides glibc-locale-base
glibc-locale-base = 2.38-6.1
glibc-locale-base(x86-64) = 2.38-6.1
libCNS.so()(64bit)
libGB.so()(64bit)
libISOIR165.so()(64bit)
libJIS.so()(64bit)
libJISX0213.so()(64bit)
libKSC.so()(64bit)
```

I would expect glibc-locale-base to Provide `locale(glibc:C.utf8)` and `locale(glibc:en_US.utf8)` - both to have providers for all locales in the distribution and to make packaging easier.

Unfortunately I could not figure out how the "Provide"s in glibc.spec are generated myself, hence I am opening this report instead.

Cheers,
Georg
Comment 1 Andreas Schwab 2024-03-21 08:00:20 UTC
The provides are generated by rpm.
Comment 2 Michael Schröder 2024-04-29 14:15:45 UTC
Actually the generator is in rpm-config-SUSE.

It doesn't generate the provides because the package name does not end in "-lang" or "-locale". Seems like it needs special casing for glibc-locale-base.

I think Ludwig implemented the locale code. Could you please open a pull request?
Comment 3 Ludwig Nussel 2024-05-15 14:22:49 UTC
https://github.com/openSUSE/rpm-config-SUSE/pull/75