[Bug locale/32437] New: glibc makes it too hard to distribute a reasonable subset of the iconv converters

bruno at clisp dot org sourceware-bugzilla@sourceware.org
Mon Dec 9 22:29:19 GMT 2024


https://sourceware.org/bugzilla/show_bug.cgi?id=32437

            Bug ID: 32437
           Summary: glibc makes it too hard to distribute a reasonable
                    subset of the iconv converters
           Product: glibc
           Version: 2.40
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: locale
          Assignee: unassigned at sourceware dot org
          Reporter: bruno at clisp dot org
  Target Milestone: ---

glibc has a large number of iconv converters that can be dynamically loaded,
and the way glibc installs them under $libdir/gconv/ makes it tempting for
distros to
  1) put all these dynamically loadable converter modules in a single package,
  2) since this package is 8 MB large, not install it by default.

This has been observed with openSUSE Leap 16.0 [1] and Tiny Core Linux [2].

The problem is that real applications do need some (a small set of) dynamically
loadable iconv converters. Not all of them.

Namely,
  * GNU coreutils needs iconv in order to convert from Unicode to a locale's
encoding (via an internal function 'unicode_to_mb'). Glibc supports the
ja_JP.EUC-JP locale, so for coreutils to work right, iconv ought to support the
EUC-JP encoding.
  * GNU gettext needs iconv in order to convert message catalogs (PO files)
produced by translators in the last 10 years, and some Japanese message
catalogs are in EUC-JP encoding.

EUC-JP is not unique; a "reasonable" set of iconv encodings to support are the
locale encodings [3]. So, this "reasonable" set of dynamically loadable iconv
converters consists of
   ISO-8859-1
   ISO-8859-2
   ISO-8859-3
   ISO-8859-5
   ISO-8859-6
   ISO-8859-7
   ISO-8859-8
   ISO-8859-9
   ISO-8859-13
   ISO-8859-14
   ISO-8859-15
   KOI8-R
   KOI8-U
   KOI8-T
   CP1251
   CP1255
   GB2312 = EUC-CN
   EUC-JP
   EUC-KR
   EUC-TW
   BIG5
   BIG5-HKSCS
   GBK
   GB18030
   TIS-620
   ARMSCII-8
   GEORGIAN-PS
   PT154

I would suggest that glibc makes it easy for distributors to install this
particular set of dynamically loadable iconv converters. Its total size is 1.8
MB, that is, less than 25% of whole set of dynamically loadable iconv
converters.

Then there would be less incentive for distros to install *no* dynamically
loadable iconv converter *at all* (and thus break packages like coreutils and
gettext).

[1] https://debbugs.gnu.org/74428
[2] https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00034.html
[3]
https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/localcharset.h

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list