[PATCH v14 0/9] Support translated option names in getopt and argp
Vivien Kraus
vivien@planete-kraus.eu
Thu Oct 16 20:06:36 GMT 2025
Dear glibc developers,
I have submitted the copyright form by mail, and am now waiting for an
answer. In the mean time, here is a rebase of the series so that it
applies cleanly.
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 | 83 ++++++++
posix/tst-getopt_long_collision.po | 22 ++
posix/tstgetoptl.c | 144 +++++++++++++
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, 1460 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: 850d93f514ebc3c8b62603e70586edd38a18f46b
--
2.34.1
More information about the Libc-alpha
mailing list