Show a cover letter.

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

{
    "id": 571,
    "url": "http://patches.dpdk.org/api/covers/571/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20240122120047.16447-1-juraj.linkes@pantheon.tech/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20240122120047.16447-1-juraj.linkes@pantheon.tech>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240122120047.16447-1-juraj.linkes@pantheon.tech",
    "date": "2024-01-22T12:00:44",
    "name": "[v2,0/3] dts: API docs generation",
    "submitter": {
        "id": 1626,
        "url": "http://patches.dpdk.org/api/people/1626/?format=api",
        "name": "Juraj Linkeš",
        "email": "juraj.linkes@pantheon.tech"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20240122120047.16447-1-juraj.linkes@pantheon.tech/mbox/",
    "series": [
        {
            "id": 30874,
            "url": "http://patches.dpdk.org/api/series/30874/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=30874",
            "date": "2024-01-22T12:00:44",
            "name": "dts: API docs generation",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/30874/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/571/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id AA96443928;\n\tMon, 22 Jan 2024 13:00:51 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 4F3544028B;\n\tMon, 22 Jan 2024 13:00:51 +0100 (CET)",
            "from mail-ej1-f46.google.com (mail-ej1-f46.google.com\n [209.85.218.46]) by mails.dpdk.org (Postfix) with ESMTP id DC5594025D\n for <dev@dpdk.org>; Mon, 22 Jan 2024 13:00:49 +0100 (CET)",
            "by mail-ej1-f46.google.com with SMTP id\n a640c23a62f3a-a28a6cef709so298497466b.1\n for <dev@dpdk.org>; Mon, 22 Jan 2024 04:00:49 -0800 (PST)",
            "from localhost.localdomain ([84.245.120.159])\n by smtp.gmail.com with ESMTPSA id\n x15-20020a170906298f00b00a27e4d34455sm13191550eje.183.2024.01.22.04.00.48\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 22 Jan 2024 04:00:49 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=pantheon.tech; s=google; t=1705924849; x=1706529649; darn=dpdk.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=4COLTi7LHlVolzrx9hliiOf9K5FRE97oXkuSkC5m9JY=;\n b=MiSV6fUb/woFF6F9OjwUiZYpCCetHZbg7U/NQ8UdkwN7f06ktKFVMoBunJPvh2kXwl\n SQSGtYsUBg4dLDIh6Z7A1R4Mm3sKerIG3hv5lFi5FfVqMa3miJaeTaJLXwexf1tl7hwj\n UAZjVnLG+Z2ocwsV0yaGDrwEKjobnAH/hh/6BrFl9xIBWBbaxYskywzY7T+PDeQfZnPD\n bIvBI1FsgqnOi5/DHXqGgKofOfE5eLT28L5sIQkpy8JBiQMqLsaGEtk2ZABFpgLVawGo\n h0gIf7Ua5tfpAtvESYcx41+4CePRNf1G1oxIKVsYKrO04NKLC33xxKmYv24cTk2LF//a\n ooFQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1705924849; x=1706529649;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=4COLTi7LHlVolzrx9hliiOf9K5FRE97oXkuSkC5m9JY=;\n b=uiGEVfANTlMqJ59+LemZ67iy3vX/A18rY5RtfEBLUYgXGohCknXvm2/kLdrXwx8FKe\n 48FPi5mHQHMjDKPXrcCMYHTBZ9kbTI4obGenhOGkr9R81I1NcWSL8rwRLnVqP7wyplfF\n s1GQotd/FN0IFIFfEam0HbaGIvmMLyCZmHqmhCi2/BtDvbS1cFKWx9hHSAFHdP2YpjeW\n wMFUkExYdFs04ifHeAp1515Bc7YXA1iO/nF3IlqB8PuOux+TI8jRb5d0JXYPzDmVjB3+\n Tu71/nLRmPVuVj6HdJR8uokJ+HPB4d6wCF4aHNleTl/kqgpuv1jKvaWwTs2iy45BE5TL\n 1Z8A==",
        "X-Gm-Message-State": "AOJu0YzjfSrWfW+/cUUNp4zOJh5Gryq+c6g+7+0gQij8THELkfScOf5l\n 4Bx912EqLF+ikhzZJ6ysFYYdlrBjPqJ66OKBXJjQCKvtZ89aTcXGkwZz/ttBN8yD9UJw4GQjBUZ\n Ox1Q=",
        "X-Google-Smtp-Source": "\n AGHT+IFdphlKityHCpGTlcNtYU1YVgNHO+CxG1y5g7w51L5TWqpcmbcvSNl/yxgBoz0+k+WarWcVXA==",
        "X-Received": "by 2002:a17:906:6a27:b0:a2e:acd2:1fe1 with SMTP id\n qw39-20020a1709066a2700b00a2eacd21fe1mr2462806ejc.73.1705924849495;\n Mon, 22 Jan 2024 04:00:49 -0800 (PST)",
        "From": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "To": "thomas@monjalon.net, Honnappa.Nagarahalli@arm.com,\n bruce.richardson@intel.com, jspewock@iol.unh.edu, probb@iol.unh.edu,\n paul.szczepanek@arm.com, yoan.picchi@foss.arm.com, Luca.Vizzarro@arm.com",
        "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "Subject": "[PATCH v2 0/3] dts: API docs generation",
        "Date": "Mon, 22 Jan 2024 13:00:44 +0100",
        "Message-Id": "<20240122120047.16447-1-juraj.linkes@pantheon.tech>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20231115133606.42081-1-juraj.linkes@pantheon.tech>",
        "References": "<20231115133606.42081-1-juraj.linkes@pantheon.tech>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "The generation is done with Sphinx, which DPDK already uses, with\nslightly modified configuration of the sidebar present in an if block.\n\nDependencies are installed using Poetry from the dts directory:\n\npoetry install --with docs\n\nAfter installing, enter the Poetry shell:\n\npoetry shell\n\nAnd then run the build:\nninja -C <meson_build_dir> dts-doc\n\nThe patchset contains the .rst sources which Sphinx uses to generate the\nhtml pages. These were first generated with the sphinx-apidoc utility\nand modified to provide a better look. The documentation just doesn't\nlook that good without the modifications and there isn't enough\nconfiguration options to achieve that without manual changes to the .rst\nfiles. This introduces extra maintenance which involves adding new .rst\nfiles when a new Python module is added or changing the .rst structure\nif the Python directory/file structure is changed (moved, renamed\nfiles). This small maintenance burden is outweighed by the flexibility\nafforded by the ability to make manual changes to the .rst files.\n\nv2:\nRemoved the use of sphinx-apidoc from meson in favor of adding the files\ngenerated by it directly to the repository (and modifying them).\n\nJuraj Linkeš (3):\n  dts: add doc generation dependencies\n  dts: add API doc sources\n  dts: add API doc generation\n\n buildtools/call-sphinx-build.py               |  33 +-\n doc/api/doxy-api-index.md                     |   3 +\n doc/api/doxy-api.conf.in                      |   2 +\n doc/api/meson.build                           |  11 +-\n doc/guides/conf.py                            |  39 +-\n doc/guides/meson.build                        |   1 +\n doc/guides/tools/dts.rst                      |  34 +-\n dts/doc/conf_yaml_schema.json                 |   1 +\n dts/doc/framework.config.rst                  |  12 +\n dts/doc/framework.config.types.rst            |   6 +\n dts/doc/framework.dts.rst                     |   6 +\n dts/doc/framework.exception.rst               |   6 +\n dts/doc/framework.logger.rst                  |   6 +\n ...ote_session.interactive_remote_session.rst |   6 +\n ...ework.remote_session.interactive_shell.rst |   6 +\n .../framework.remote_session.python_shell.rst |   6 +\n ...ramework.remote_session.remote_session.rst |   6 +\n dts/doc/framework.remote_session.rst          |  17 +\n .../framework.remote_session.ssh_session.rst  |   6 +\n ...framework.remote_session.testpmd_shell.rst |   6 +\n dts/doc/framework.rst                         |  30 ++\n dts/doc/framework.settings.rst                |   6 +\n dts/doc/framework.test_result.rst             |   6 +\n dts/doc/framework.test_suite.rst              |   6 +\n dts/doc/framework.testbed_model.cpu.rst       |   6 +\n .../framework.testbed_model.linux_session.rst |   6 +\n dts/doc/framework.testbed_model.node.rst      |   6 +\n .../framework.testbed_model.os_session.rst    |   6 +\n dts/doc/framework.testbed_model.port.rst      |   6 +\n .../framework.testbed_model.posix_session.rst |   6 +\n dts/doc/framework.testbed_model.rst           |  26 +\n dts/doc/framework.testbed_model.sut_node.rst  |   6 +\n dts/doc/framework.testbed_model.tg_node.rst   |   6 +\n ..._generator.capturing_traffic_generator.rst |   6 +\n ...mework.testbed_model.traffic_generator.rst |  14 +\n ....testbed_model.traffic_generator.scapy.rst |   6 +\n ...el.traffic_generator.traffic_generator.rst |   6 +\n ...framework.testbed_model.virtual_device.rst |   6 +\n dts/doc/framework.utils.rst                   |   6 +\n dts/doc/index.rst                             |  41 ++\n dts/doc/meson.build                           |  27 +\n dts/meson.build                               |  16 +\n dts/poetry.lock                               | 499 +++++++++++++++++-\n dts/pyproject.toml                            |   7 +\n meson.build                                   |   1 +\n 45 files changed, 950 insertions(+), 20 deletions(-)\n create mode 120000 dts/doc/conf_yaml_schema.json\n create mode 100644 dts/doc/framework.config.rst\n create mode 100644 dts/doc/framework.config.types.rst\n create mode 100644 dts/doc/framework.dts.rst\n create mode 100644 dts/doc/framework.exception.rst\n create mode 100644 dts/doc/framework.logger.rst\n create mode 100644 dts/doc/framework.remote_session.interactive_remote_session.rst\n create mode 100644 dts/doc/framework.remote_session.interactive_shell.rst\n create mode 100644 dts/doc/framework.remote_session.python_shell.rst\n create mode 100644 dts/doc/framework.remote_session.remote_session.rst\n create mode 100644 dts/doc/framework.remote_session.rst\n create mode 100644 dts/doc/framework.remote_session.ssh_session.rst\n create mode 100644 dts/doc/framework.remote_session.testpmd_shell.rst\n create mode 100644 dts/doc/framework.rst\n create mode 100644 dts/doc/framework.settings.rst\n create mode 100644 dts/doc/framework.test_result.rst\n create mode 100644 dts/doc/framework.test_suite.rst\n create mode 100644 dts/doc/framework.testbed_model.cpu.rst\n create mode 100644 dts/doc/framework.testbed_model.linux_session.rst\n create mode 100644 dts/doc/framework.testbed_model.node.rst\n create mode 100644 dts/doc/framework.testbed_model.os_session.rst\n create mode 100644 dts/doc/framework.testbed_model.port.rst\n create mode 100644 dts/doc/framework.testbed_model.posix_session.rst\n create mode 100644 dts/doc/framework.testbed_model.rst\n create mode 100644 dts/doc/framework.testbed_model.sut_node.rst\n create mode 100644 dts/doc/framework.testbed_model.tg_node.rst\n create mode 100644 dts/doc/framework.testbed_model.traffic_generator.capturing_traffic_generator.rst\n create mode 100644 dts/doc/framework.testbed_model.traffic_generator.rst\n create mode 100644 dts/doc/framework.testbed_model.traffic_generator.scapy.rst\n create mode 100644 dts/doc/framework.testbed_model.traffic_generator.traffic_generator.rst\n create mode 100644 dts/doc/framework.testbed_model.virtual_device.rst\n create mode 100644 dts/doc/framework.utils.rst\n create mode 100644 dts/doc/index.rst\n create mode 100644 dts/doc/meson.build\n create mode 100644 dts/meson.build"
}