[PATCH v18 00/11] Support translated long option names in getopt and argp
Vivien Kraus
vivien@planete-kraus.eu
Sun Nov 23 17:07:27 GMT 2025
Dear glibc developers,
Thank you Adhemerval Zanella Netto for your feedback and help. Some
of the issues you pointed out span across the whole series, so please
continue your review with this version, which should have the
modernized versions for all C tests, TAB indentation, and double space
at end of sentence.
Best regards,
Vivien
Vivien Kraus (11):
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
Add NEWS entry for getopt_long translated option names
support: Document the correct macro name for (CMDLINE_OPTIONS)
NEWS | 2 +
argp/Makefile | 14 ++
argp/argp-help.c | 76 ++++++-
argp/argp-parse.c | 1 +
argp/tst-argphelp-localized.c | 140 ++++++++++++
argp/tst-argphelp-localized.po | 23 ++
argp/tst-argpusage-localized.c | 80 +++++++
manual/argp.texi | 25 ++-
manual/getopt.texi | 81 ++++++-
posix/Makefile | 39 ++++
posix/Versions | 3 +
posix/bits/getopt_ext.h | 17 ++
posix/check-getopt-translations.pl | 199 ++++++++++++++++++
posix/getopt.c | 164 +++++++++++++--
posix/getopt1.c | 105 ++++++++-
posix/getopt_int.h | 14 +-
.../standalone-multiple-getopt-collisions.po | 45 ++++
posix/tst-check-getopt-translations.sh | 59 ++++++
posix/tst-getopt_long_collision.c | 69 ++++++
posix/tst-getopt_long_collision.po | 22 ++
posix/tstgetoptl.c | 151 +++++++++++++
posix/tstgetoptl.po | 27 +++
support/test-driver.c | 2 +-
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 +
57 files changed, 1423 insertions(+), 37 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: 0f7b73f2ed70e783cd02ab77503645b03ee1d332
--
2.34.1
More information about the Libc-alpha
mailing list