Show a cover letter.

GET /api/1.1/covers/2227397/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
}