[PATCH v12 0/9] Support translated names in getopt and argp
Vivien Kraus
vivien@planete-kraus.eu
Sun Oct 5 16:34:23 GMT 2025
Dear glibc developers,
With the abilist updates, a new version is mandated so that it can be
applied.
The static validation script now comes with its unit test running as
part of make check.
Best regards,
Vivien
Vivien Kraus (9):
posix: allow getopt_long to match translated option names
posix: let the getopt caller set the translation context
argp: document translated names in --help and --usage
posix: let the getopt caller choose the textdomain for translation
posix: do not allow option name translations for secure programs
posix, argp: Support deprecation of long option name translations
argp: do not display option name translations if __libc_enable_secure
posix: Add getopt_long_collision
posix: Add a script for static validation of getopt_long PO files
argp/Makefile | 14 ++
argp/argp-help.c | 83 +++++++-
argp/argp-parse.c | 1 +
argp/tst-argphelp-localized.c | 169 +++++++++++++++
argp/tst-argphelp-localized.po | 23 ++
argp/tst-argpusage-localized.c | 82 ++++++++
manual/argp.texi | 25 ++-
manual/getopt.texi | 81 ++++++-
posix/Makefile | 40 ++++
posix/Versions | 3 +
posix/bits/getopt_ext.h | 17 ++
posix/check-getopt-translations.pl | 199 ++++++++++++++++++
posix/getopt.c | 168 +++++++++++++--
posix/getopt1.c | 102 ++++++++-
posix/getopt_int.h | 14 +-
.../standalone-multiple-getopt-collisions.po | 45 ++++
posix/tst-check-getopt-translations.sh | 59 ++++++
posix/tst-getopt_long_collision.c | 66 ++++++
posix/tst-getopt_long_collision.po | 22 ++
posix/tstgetoptl.c | 127 +++++++++++
posix/tstgetoptl.po | 27 +++
sysdeps/mach/hurd/i386/libc.abilist | 3 +
sysdeps/mach/hurd/x86_64/libc.abilist | 3 +
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 3 +
sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 +
sysdeps/unix/sysv/linux/arc/libc.abilist | 3 +
sysdeps/unix/sysv/linux/arm/be/libc.abilist | 3 +
sysdeps/unix/sysv/linux/arm/le/libc.abilist | 3 +
sysdeps/unix/sysv/linux/csky/libc.abilist | 3 +
sysdeps/unix/sysv/linux/hppa/libc.abilist | 3 +
sysdeps/unix/sysv/linux/i386/libc.abilist | 3 +
.../sysv/linux/loongarch/lp64/libc.abilist | 3 +
.../sysv/linux/m68k/coldfire/libc.abilist | 3 +
.../unix/sysv/linux/m68k/m680x0/libc.abilist | 3 +
.../sysv/linux/microblaze/be/libc.abilist | 3 +
.../sysv/linux/microblaze/le/libc.abilist | 3 +
.../sysv/linux/mips/mips32/fpu/libc.abilist | 3 +
.../sysv/linux/mips/mips32/nofpu/libc.abilist | 3 +
.../sysv/linux/mips/mips64/n32/libc.abilist | 3 +
.../sysv/linux/mips/mips64/n64/libc.abilist | 3 +
sysdeps/unix/sysv/linux/or1k/libc.abilist | 3 +
.../linux/powerpc/powerpc32/fpu/libc.abilist | 3 +
.../powerpc/powerpc32/nofpu/libc.abilist | 3 +
.../linux/powerpc/powerpc64/be/libc.abilist | 3 +
.../linux/powerpc/powerpc64/le/libc.abilist | 3 +
.../unix/sysv/linux/riscv/rv32/libc.abilist | 3 +
.../unix/sysv/linux/riscv/rv64/libc.abilist | 3 +
.../unix/sysv/linux/s390/s390-32/libc.abilist | 3 +
.../unix/sysv/linux/s390/s390-64/libc.abilist | 3 +
sysdeps/unix/sysv/linux/sh/be/libc.abilist | 3 +
sysdeps/unix/sysv/linux/sh/le/libc.abilist | 3 +
.../sysv/linux/sparc/sparc32/libc.abilist | 3 +
.../sysv/linux/sparc/sparc64/libc.abilist | 3 +
.../unix/sysv/linux/x86_64/64/libc.abilist | 3 +
.../unix/sysv/linux/x86_64/x32/libc.abilist | 3 +
55 files changed, 1426 insertions(+), 43 deletions(-)
create mode 100644 argp/tst-argphelp-localized.c
create mode 100644 argp/tst-argphelp-localized.po
create mode 100644 argp/tst-argpusage-localized.c
create mode 100644 posix/check-getopt-translations.pl
create mode 100644 posix/standalone-multiple-getopt-collisions.po
create mode 100644 posix/tst-check-getopt-translations.sh
create mode 100644 posix/tst-getopt_long_collision.c
create mode 100644 posix/tst-getopt_long_collision.po
create mode 100644 posix/tstgetoptl.c
create mode 100644 posix/tstgetoptl.po
base-commit: e6cbc38bfbf143099600bd53d62eeea22280341f
--
2.34.1
More information about the Libc-alpha
mailing list