This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug localedata/24006] New: Cyclic dependencies via copy in locales
- From: "pander at users dot sourceforge.net" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 19 Dec 2018 09:53:11 +0000
- Subject: [Bug localedata/24006] New: Cyclic dependencies via copy in locales
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=24006
Bug ID: 24006
Summary: Cyclic dependencies via copy in locales
Product: glibc
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: localedata
Assignee: unassigned at sourceware dot org
Reporter: pander at users dot sourceforge.net
CC: libc-locales at sourceware dot org
Target Milestone: ---
Via 'copy', a locale can reuse definitions from another locale. This is very
practical as it reduces the file size of a locale and eases maintenance.
Some locales copy parts from each other in both directions, however, resulting
in cyclic dependencies. This prevents only using a one of these locales in a
minimized setup, as both locales are always required.
Additionally, a cyclic dependency also increases the complexity or maintaining
copied parts.
For these reasons it is better to untangle cyclic dependencies by interchanging
definitions and reuse so that one of these locales is no longer depending on
the other locale.
In most of these cases, a new local reuses a lot from an existing locale, but
also adds definitions which were not present in the existing locale. When some
of these new definitions apply for both locales, the older locale (in which
these definitions were originally missing) starts using these via a copy. This
can be very simple definitions such as paper size, but it creates a cyclic
dependency, where it was better to move these definitions to the older locale
and reuse them in the newer locale (which already does a lot of reuse of the
older locale).
An overview of cyclic dependencies can be shown with the script
https://github.com/PanderMusubi/locale-en-nl/blob/master/analysis/3-cyclic-dependencies.py
At the moment, the result is:
- Cyclic dependencies via copy found between locales en_US and en_GB
- Cyclic dependencies via copy found between locales om_ET and om_KE
- Cyclic dependencies via copy found between locales am_ET and ti_ET
- Cyclic dependencies via copy found between locales en_PH and tl_PH
- Cyclic dependencies via copy found between locales tl_PH and fil_PH
- Cyclic dependencies via copy found between locales ber_DZ and kab_DZ
I would like to propose that regarding only these cyclic dependencies (not
other dependencies) are solved by eventually:
- en_GB depends on en_US
- om_ET depends on om_KE
- am_ET depends on ti_ET
- en_PH and tl_PH depend on fil_PH and en_US
- kab_DZ depends on ber_DZ
If desired by the maintainers of glibc, I can contribute patches for this,
starting with the more simple cases, such as DZ and PH.
--
You are receiving this mail because:
You are on the CC list for the bug.