Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/2227397/?format=api
{ "id": 2227397, "url": "http://patchwork.ozlabs.org/api/1.1/covers/2227397/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/cover/cover.1776957777.git.vivien@planete-kraus.eu/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/1.1/projects/41/?format=api", "name": "GNU C Library", "link_name": "glibc", "list_id": "libc-alpha.sourceware.org", "list_email": "libc-alpha@sourceware.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<cover.1776957777.git.vivien@planete-kraus.eu>", "date": "2026-04-23T16:03:58", "name": "[v22,0/9] Support translated long option names in getopt and argp", "submitter": { "id": 90948, "url": "http://patchwork.ozlabs.org/api/1.1/people/90948/?format=api", "name": "Vivien Kraus", "email": "vivien@planete-kraus.eu" }, "mbox": "http://patchwork.ozlabs.org/project/glibc/cover/cover.1776957777.git.vivien@planete-kraus.eu/mbox/", "series": [ { "id": 501215, "url": "http://patchwork.ozlabs.org/api/1.1/series/501215/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=501215", "date": "2026-04-23T16:03:58", "name": "Support translated long option names in getopt and argp", "version": 22, "mbox": "http://patchwork.ozlabs.org/series/501215/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2227397/comments/", "headers": { "Return-Path": "<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "libc-alpha@sourceware.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "libc-alpha@sourceware.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=planete-kraus.eu header.i=@planete-kraus.eu\n header.a=rsa-sha1 header.s=albinoniA header.b=OCLU4rBA;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n secure) header.d=planete-kraus.eu header.i=@planete-kraus.eu\n header.a=rsa-sha1 header.s=albinoniA header.b=OCLU4rBA", "sourceware.org; dmarc=pass (p=reject dis=none)\n header.from=planete-kraus.eu", "sourceware.org;\n spf=pass smtp.mailfrom=planete-kraus.eu", "server2.sourceware.org;\n arc=none smtp.remote-ip=2a00:5881:4008:2810::309" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g1gsZ1JQhz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 02:05:06 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 275E94BAD163\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 16:05:04 +0000 (GMT)", "from planete-kraus.eu (planete-kraus.eu\n [IPv6:2a00:5881:4008:2810::309])\n by sourceware.org (Postfix) with ESMTPS id 522954BA23CC\n for <libc-alpha@sourceware.org>; Thu, 23 Apr 2026 16:04:42 +0000 (GMT)", "from planete-kraus.eu (localhost [127.0.0.1])\n by planete-kraus.eu (OpenSMTPD) with ESMTP id 7ba4c486;\n Thu, 23 Apr 2026 16:04:39 +0000 (UTC)", "by planete-kraus.eu (OpenSMTPD) with ESMTPSA id 64e80ced\n (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO);\n Thu, 23 Apr 2026 16:04:35 +0000 (UTC)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 275E94BAD163", "OpenDKIM Filter v2.11.0 sourceware.org 522954BA23CC" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 522954BA23CC", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 522954BA23CC", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776960282; cv=none;\n b=qpvWbn8efN0BulQBPxFxG1CH/wRmbBmsBRxi1H4ziOEaFwUkLdfGBJo0K7k0xzyOzasRXpHBlRPam0AXcRAvMbBDNJMRyS6nfjV7Q7ak/xrqcN6BQIoB95JOefpMXX5FhqgcuGR+tRyGNlTOKFP1z9qsGb0clqXtnOajj5dXZSI=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776960282; c=relaxed/simple;\n bh=v/2LX1TNNwYqcFtRQYuihxWo9KxcS+sI4JXa1Tx6B84=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=IVg/oOqZjjGlUEN4JJNZroidi+jH2D0XObdSjjsXE0jvcmdHXaEmgoiarkSucQCRb7R0cFk9UYTQNNhMiTWmAUcZJN9AYZh1wsMuabn3DIL9ERUrWW1axbvhGPWNZGl3XV/DpkgI9z1cNAbhskIBxqhVexJG9fLgtK7W8EAt6lw=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed; d=planete-kraus.eu; h=from\n :to:cc:subject:date:message-id:mime-version:content-type\n :content-transfer-encoding; s=albinoniA; bh=VZH9AZfFUwa7zvdhoQyn\n C5R9VPo=; b=OCLU4rBAL2f1Ayg6eP3NdlQ7890G68YANqNDyDH+ijgX8Srmabko\n +OkeEc6ymCYPBOg1GjbKsyKd9yOGoBc7M9dHTmSma+OoIGurtMmGxy7SzLHFo6tu\n CaTYZr6yorYeZ1hKyrwHHZ9JPvLw/K2J2Rrfn7zAzSNneohljUXIN+9SSybt/EVj\n dOC4zBSSQiKbE6/rvmIibF1wICCGV24nCEVYgqr1vFT2w9Yy/FLfcdzjv49VlS+B\n /ZHuy7lgocsoGsHU18SioPK7t1Z8KOsuTy+fFQYCCAmGWligsGHUrDFjl5Qyyivs\n rrqUotLB8ZHYX7ZrUxLjRnLc8reu7gFbsg==", "From": "Vivien Kraus <vivien@planete-kraus.eu>", "To": "adhemerval.zanella@linaro.org,\n\tlibc-alpha@sourceware.org", "Cc": "Vivien Kraus <vivien@planete-kraus.eu>", "Subject": "[PATCH v22 0/9] Support translated long option names in getopt and\n argp", "Date": "Thu, 23 Apr 2026 18:03:58 +0200", "Message-ID": "<cover.1776957777.git.vivien@planete-kraus.eu>", "X-Mailer": "git-send-email 2.52.0", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libc-alpha@sourceware.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Libc-alpha mailing list <libc-alpha.sourceware.org>", "List-Unsubscribe": "<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>", "List-Archive": "<https://sourceware.org/pipermail/libc-alpha/>", "List-Post": "<mailto:libc-alpha@sourceware.org>", "List-Help": "<mailto:libc-alpha-request@sourceware.org?subject=help>", "List-Subscribe": "<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>", "Errors-To": "libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org" }, "content": "Dear glibc developers,\n\nSince there is a new libc.abilist, here is an updated series.\n\nBest regards,\n\nVivien\n\nVivien Kraus (9):\n posix: allow getopt_long to match translated option names\n posix: let the getopt caller set the translation context\n argp: document translated names in --help and --usage\n posix: let the getopt caller choose the textdomain for translation\n posix: do not allow option name translations for secure programs\n argp: do not display option name translations if __libc_enable_secure\n posix: check for collisions in getopt_long\n posix: Add a script for static validation of getopt_long PO files\n posix, argp: Support multiple long option name translations\n\n NEWS | 10 +\n argp/Makefile | 19 ++\n argp/argp-help.c | 142 +++++++-\n argp/argp-parse.c | 1 +\n argp/tst-argphelp-localized.c | 141 ++++++++\n argp/tst-argphelp-localized.po | 26 ++\n argp/tst-argpusage-localized.c | 82 +++++\n manual/argp.texi | 25 +-\n manual/getopt.texi | 80 ++++-\n manual/install.texi | 7 +-\n posix/Makefile | 52 ++-\n posix/Versions | 4 +\n posix/bits/getopt_ext.h | 4 +\n posix/check-getopt-translations.pl | 199 +++++++++++\n posix/getopt.c | 323 +++++++++++++++++-\n posix/getopt1.c | 114 ++++++-\n posix/getopt_int.h | 22 +-\n .../standalone-multiple-getopt-collisions.po | 45 +++\n posix/tst-check-getopt-translations.sh | 61 ++++\n posix/tst-getopt_long_collision.c | 130 +++++++\n posix/tst-getopt_long_collision.po | 32 ++\n posix/tstgetoptl.c | 183 ++++++++++\n posix/tstgetoptl.po | 26 ++\n sysdeps/mach/hurd/i386/libc.abilist | 2 +\n sysdeps/mach/hurd/x86_64/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/arc/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/csky/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/i386/libc.abilist | 2 +\n .../sysv/linux/loongarch/ilp32/libc.abilist | 2 +\n .../sysv/linux/loongarch/lp64/libc.abilist | 2 +\n .../sysv/linux/m68k/coldfire/libc.abilist | 2 +\n .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 +\n .../sysv/linux/microblaze/be/libc.abilist | 2 +\n .../sysv/linux/microblaze/le/libc.abilist | 2 +\n .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 +\n .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 +\n .../sysv/linux/mips/mips64/n32/libc.abilist | 2 +\n .../sysv/linux/mips/mips64/n64/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/or1k/libc.abilist | 2 +\n .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 +\n .../powerpc/powerpc32/nofpu/libc.abilist | 2 +\n .../linux/powerpc/powerpc64/be/libc.abilist | 2 +\n .../linux/powerpc/powerpc64/le/libc.abilist | 2 +\n .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 +\n .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/s390/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 +\n sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 +\n .../sysv/linux/sparc/sparc32/libc.abilist | 2 +\n .../sysv/linux/sparc/sparc64/libc.abilist | 2 +\n .../unix/sysv/linux/x86_64/64/libc.abilist | 2 +\n .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 +\n 57 files changed, 1744 insertions(+), 52 deletions(-)\n create mode 100644 argp/tst-argphelp-localized.c\n create mode 100644 argp/tst-argphelp-localized.po\n create mode 100644 argp/tst-argpusage-localized.c\n create mode 100644 posix/check-getopt-translations.pl\n create mode 100644 posix/standalone-multiple-getopt-collisions.po\n create mode 100644 posix/tst-check-getopt-translations.sh\n create mode 100644 posix/tst-getopt_long_collision.c\n create mode 100644 posix/tst-getopt_long_collision.po\n create mode 100644 posix/tstgetoptl.c\n create mode 100644 posix/tstgetoptl.po\n\n\nbase-commit: 5880459251e74f2471a5a45c90aa6494756ac4bf" }