Show a cover letter.

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

{
    "id": 62569,
    "url": "http://patchwork.dpdk.org/api/covers/62569/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1573059201.git.anatoly.burakov@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<cover.1573059201.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/cover.1573059201.git.anatoly.burakov@intel.com",
    "date": "2019-11-06T16:54:19",
    "name": "[v6,00/10] Implement the new ABI policy and add helper scripts",
    "submitter": {
        "id": 4,
        "url": "http://patchwork.dpdk.org/api/people/4/?format=api",
        "name": "Anatoly Burakov",
        "email": "anatoly.burakov@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1573059201.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 7299,
            "url": "http://patchwork.dpdk.org/api/series/7299/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=7299",
            "date": "2019-11-06T16:54:19",
            "name": "Implement the new ABI policy and add helper scripts",
            "version": 6,
            "mbox": "http://patchwork.dpdk.org/series/7299/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/62569/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E43E6A04AC;\n\tWed,  6 Nov 2019 17:54:37 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id F318B1D16B;\n\tWed,  6 Nov 2019 17:54:36 +0100 (CET)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by dpdk.org (Postfix) with ESMTP id 31A051D16A\n for <dev@dpdk.org>; Wed,  6 Nov 2019 17:54:33 +0100 (CET)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 06 Nov 2019 08:54:32 -0800",
            "from silpixa00399498.ir.intel.com (HELO\n silpixa00399498.ger.corp.intel.com) ([10.237.223.151])\n by fmsmga008.fm.intel.com with ESMTP; 06 Nov 2019 08:54:29 -0800"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.68,275,1569308400\"; d=\"scan'208\";a=\"200763980\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "john.mcnamara@intel.com, ray.kinsella@intel.com,\n bruce.richardson@intel.com, thomas@monjalon.net, david.marchand@redhat.com",
        "Date": "Wed,  6 Nov 2019 16:54:19 +0000",
        "Message-Id": "<cover.1573059201.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<cover.1571910363.git.anatoly.burakov@intel.com>",
        "References": "<cover.1571910363.git.anatoly.burakov@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v6 00/10] Implement the new ABI policy and add\n\thelper scripts",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This patchset prepares the codebase for the new ABI policy and\nadds a few helper scripts.\n\nThere are two new scripts for managing ABI versions added. The\nfirst one is a Python script that will read in a .map file,\nflatten it and update the ABI version to the ABI version\nspecified on the command-line.\n\nThe second one is a shell script that will run the above mentioned\nPython script recursively over the source tree and set the ABI\nversion to either that which is defined in config/ABI_VERSION, or\na user-specified one.\n\nExample of its usage: buildtools/update-abi.sh 20.0\n\nThis will recurse into lib/ and drivers/ directory and update\nwhatever .map files it can find.\n\nThe other shell script that's added is one that can take in a .so\nfile and ensure that its declared public ABI matches either\ncurrent ABI, next ABI, or EXPERIMENTAL. This was moved to the\nlast commit because it made no sense to have it beforehand.\n\nThe source tree was verified to follow the new ABI policy using\nthe following command (assuming built binaries are in build/):\n\nfind ./build/lib ./build/drivers -name  \\*.so \\\n\t-exec ./buildtools/check-abi-version.sh {} \\; -print\n\nThis returns 0.\n\nChanges since v5:\n- Addressed David's comments regarding libtool error messages\n- Fixed map file generation to not generate empty stable ABI if\n  it wasn't there before\n\nChanges since v4:\n- Fixed shared library build issue for distributor\n\nChanges since v3:\n- Put distributor code back and cleaned it up\n- Rebased on latest master and regenerated commit 9\n\nChanges since v2:\n- Addressed Bruce's review comments\n- Removed single distributor mode as per Dave's suggestion\n\nChanges since v1:\n- Reordered patchset to have removal of old ABI's before introducing\n  the new one to avoid compile breakages between patches\n- Added a new patch fixing missing symbol in octeontx common\n- Split script commits into multiple commits and reordered them\n- Re-generated the ABI bump commit\n- Verified all scripts to work\n\nAnatoly Burakov (2):\n  buildtools: add ABI update shell script\n  drivers/octeontx: add missing public symbol\n\nMarcin Baran (6):\n  config: change ABI versioning to global\n  timer: remove deprecated code\n  lpm: remove deprecated code\n  distributor: remove deprecated code\n  distributor: rename v2.0 ABI to _single suffix\n  buildtools: add ABI versioning check script\n\nPawel Modrak (2):\n  buildtools: add script for updating symbols abi version\n  build: change ABI version to 20.0\n\n buildtools/check-abi-version.sh               |  54 +\n buildtools/meson.build                        |   2 +\n buildtools/update-abi.sh                      |  42 +\n buildtools/update_version_map_abi.py          | 171 +++\n config/ABI_VERSION                            |   1 +\n config/meson.build                            |   4 +-\n .../rte_pmd_bbdev_fpga_lte_fec_version.map    |   8 +-\n .../null/rte_pmd_bbdev_null_version.map       |   2 +-\n .../rte_pmd_bbdev_turbo_sw_version.map        |   2 +-\n drivers/bus/dpaa/rte_bus_dpaa_version.map     | 113 +-\n drivers/bus/fslmc/rte_bus_fslmc_version.map   | 154 ++-\n drivers/bus/ifpga/rte_bus_ifpga_version.map   |  14 +-\n drivers/bus/pci/rte_bus_pci_version.map       |   2 +-\n drivers/bus/vdev/rte_bus_vdev_version.map     |  12 +-\n drivers/bus/vmbus/rte_bus_vmbus_version.map   |  12 +-\n drivers/common/cpt/rte_common_cpt_version.map |   9 +-\n .../common/dpaax/rte_common_dpaax_version.map |  14 +-\n .../common/mvep/rte_common_mvep_version.map   |   6 +-\n .../octeontx/rte_common_octeontx_version.map  |   7 +-\n .../rte_common_octeontx2_version.map          |  16 +-\n .../compress/isal/rte_pmd_isal_version.map    |   2 +-\n .../rte_pmd_octeontx_compress_version.map     |   2 +-\n drivers/compress/qat/rte_pmd_qat_version.map  |   2 +-\n .../compress/zlib/rte_pmd_zlib_version.map    |   2 +-\n .../aesni_gcm/rte_pmd_aesni_gcm_version.map   |   2 +-\n .../aesni_mb/rte_pmd_aesni_mb_version.map     |   2 +-\n .../crypto/armv8/rte_pmd_armv8_version.map    |   2 +-\n .../caam_jr/rte_pmd_caam_jr_version.map       |   3 +-\n drivers/crypto/ccp/rte_pmd_ccp_version.map    |   3 +-\n .../dpaa2_sec/rte_pmd_dpaa2_sec_version.map   |  10 +-\n .../dpaa_sec/rte_pmd_dpaa_sec_version.map     |  10 +-\n .../crypto/kasumi/rte_pmd_kasumi_version.map  |   2 +-\n .../crypto/mvsam/rte_pmd_mvsam_version.map    |   2 +-\n .../crypto/nitrox/rte_pmd_nitrox_version.map  |   2 +-\n .../null/rte_pmd_null_crypto_version.map      |   2 +-\n .../rte_pmd_octeontx_crypto_version.map       |   3 +-\n .../rte_pmd_octeontx2_crypto_version.map      |   3 +-\n .../openssl/rte_pmd_openssl_version.map       |   2 +-\n .../rte_pmd_crypto_scheduler_version.map      |  19 +-\n .../crypto/snow3g/rte_pmd_snow3g_version.map  |   2 +-\n .../virtio/rte_pmd_virtio_crypto_version.map  |   2 +-\n drivers/crypto/zuc/rte_pmd_zuc_version.map    |   2 +-\n .../event/dpaa/rte_pmd_dpaa_event_version.map |   3 +-\n .../dpaa2/rte_pmd_dpaa2_event_version.map     |   2 +-\n .../event/dsw/rte_pmd_dsw_event_version.map   |   2 +-\n .../rte_pmd_octeontx_event_version.map        |   2 +-\n .../rte_pmd_octeontx2_event_version.map       |   3 +-\n .../event/opdl/rte_pmd_opdl_event_version.map |   2 +-\n .../rte_pmd_skeleton_event_version.map        |   3 +-\n drivers/event/sw/rte_pmd_sw_event_version.map |   2 +-\n .../bucket/rte_mempool_bucket_version.map     |   3 +-\n .../mempool/dpaa/rte_mempool_dpaa_version.map |   2 +-\n .../dpaa2/rte_mempool_dpaa2_version.map       |  12 +-\n .../octeontx/rte_mempool_octeontx_version.map |   2 +-\n .../rte_mempool_octeontx2_version.map         |   4 +-\n .../mempool/ring/rte_mempool_ring_version.map |   3 +-\n .../stack/rte_mempool_stack_version.map       |   3 +-\n drivers/meson.build                           |  20 +-\n .../af_packet/rte_pmd_af_packet_version.map   |   3 +-\n drivers/net/af_xdp/rte_pmd_af_xdp_version.map |   2 +-\n drivers/net/ark/rte_pmd_ark_version.map       |   5 +-\n .../net/atlantic/rte_pmd_atlantic_version.map |   6 -\n drivers/net/avp/rte_pmd_avp_version.map       |   2 +-\n drivers/net/axgbe/rte_pmd_axgbe_version.map   |   2 +-\n drivers/net/bnx2x/rte_pmd_bnx2x_version.map   |   3 +-\n drivers/net/bnxt/rte_pmd_bnxt_version.map     |   4 +-\n drivers/net/bonding/rte_pmd_bond_version.map  |  47 +-\n drivers/net/cxgbe/rte_pmd_cxgbe_version.map   |   3 +-\n drivers/net/dpaa/rte_pmd_dpaa_version.map     |  11 +-\n drivers/net/dpaa2/rte_pmd_dpaa2_version.map   |  12 +-\n drivers/net/e1000/rte_pmd_e1000_version.map   |   3 +-\n drivers/net/ena/rte_pmd_ena_version.map       |   3 +-\n drivers/net/enetc/rte_pmd_enetc_version.map   |   3 +-\n drivers/net/enic/rte_pmd_enic_version.map     |   3 +-\n .../net/failsafe/rte_pmd_failsafe_version.map |   3 +-\n drivers/net/fm10k/rte_pmd_fm10k_version.map   |   3 +-\n drivers/net/hinic/rte_pmd_hinic_version.map   |   3 +-\n drivers/net/hns3/rte_pmd_hns3_version.map     |   4 +-\n drivers/net/i40e/rte_pmd_i40e_version.map     |  65 +-\n drivers/net/iavf/rte_pmd_iavf_version.map     |   3 +-\n drivers/net/ice/rte_pmd_ice_version.map       |   3 +-\n drivers/net/ifc/rte_pmd_ifc_version.map       |   3 +-\n drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map |   3 +-\n drivers/net/ixgbe/rte_pmd_ixgbe_version.map   |  62 +-\n drivers/net/kni/rte_pmd_kni_version.map       |   3 +-\n .../net/liquidio/rte_pmd_liquidio_version.map |   3 +-\n drivers/net/memif/rte_pmd_memif_version.map   |   5 +-\n drivers/net/mlx4/rte_pmd_mlx4_version.map     |   3 +-\n drivers/net/mlx5/rte_pmd_mlx5_version.map     |   2 +-\n drivers/net/mvneta/rte_pmd_mvneta_version.map |   2 +-\n drivers/net/mvpp2/rte_pmd_mvpp2_version.map   |   2 +-\n drivers/net/netvsc/rte_pmd_netvsc_version.map |   4 +-\n drivers/net/nfb/rte_pmd_nfb_version.map       |   3 +-\n drivers/net/nfp/rte_pmd_nfp_version.map       |   2 +-\n drivers/net/null/rte_pmd_null_version.map     |   3 +-\n .../net/octeontx/rte_pmd_octeontx_version.map |  10 +-\n .../octeontx2/rte_pmd_octeontx2_version.map   |   3 +-\n drivers/net/pcap/rte_pmd_pcap_version.map     |   3 +-\n drivers/net/pfe/rte_pmd_pfe_version.map       |   3 +-\n drivers/net/qede/rte_pmd_qede_version.map     |   3 +-\n drivers/net/ring/rte_pmd_ring_version.map     |  10 +-\n drivers/net/sfc/rte_pmd_sfc_version.map       |   3 +-\n .../net/softnic/rte_pmd_softnic_version.map   |   2 +-\n .../net/szedata2/rte_pmd_szedata2_version.map |   2 +-\n drivers/net/tap/rte_pmd_tap_version.map       |   3 +-\n .../net/thunderx/rte_pmd_thunderx_version.map |   3 +-\n .../rte_pmd_vdev_netvsc_version.map           |   3 +-\n drivers/net/vhost/rte_pmd_vhost_version.map   |  11 +-\n drivers/net/virtio/rte_pmd_virtio_version.map |   3 +-\n .../net/vmxnet3/rte_pmd_vmxnet3_version.map   |   3 +-\n .../rte_rawdev_dpaa2_cmdif_version.map        |   3 +-\n .../rte_rawdev_dpaa2_qdma_version.map         |   4 +-\n .../raw/ifpga/rte_rawdev_ifpga_version.map    |   3 +-\n drivers/raw/ioat/rte_rawdev_ioat_version.map  |   3 +-\n drivers/raw/ntb/rte_rawdev_ntb_version.map    |   5 +-\n .../rte_rawdev_octeontx2_dma_version.map      |   3 +-\n .../skeleton/rte_rawdev_skeleton_version.map  |   3 +-\n lib/librte_acl/rte_acl_version.map            |   2 +-\n .../rte_bitratestats_version.map              |   2 +-\n lib/librte_cfgfile/rte_cfgfile_version.map    |  34 +-\n lib/librte_cmdline/rte_cmdline_version.map    |  10 +-\n .../rte_cryptodev_version.map                 | 102 +-\n lib/librte_distributor/Makefile               |   2 +-\n lib/librte_distributor/distributor_private.h  |  10 +-\n lib/librte_distributor/meson.build            |   2 +-\n lib/librte_distributor/rte_distributor.c      |  80 +-\n ...ributor_v20.c => rte_distributor_single.c} |  57 +-\n ...ributor_v20.h => rte_distributor_single.h} |  26 +-\n .../rte_distributor_v1705.h                   |  61 --\n .../rte_distributor_version.map               |  16 +-\n lib/librte_eal/rte_eal_version.map            | 324 ++----\n lib/librte_efd/rte_efd_version.map            |   2 +-\n lib/librte_ethdev/rte_ethdev_version.map      | 160 +--\n lib/librte_eventdev/rte_eventdev_version.map  | 130 +--\n lib/librte_gro/rte_gro_version.map            |   2 +-\n lib/librte_gso/rte_gso_version.map            |   2 +-\n lib/librte_hash/rte_hash_version.map          |  43 +-\n lib/librte_ip_frag/rte_ip_frag_version.map    |  10 +-\n lib/librte_jobstats/rte_jobstats_version.map  |  10 +-\n lib/librte_kni/rte_kni_version.map            |   2 +-\n lib/librte_kvargs/rte_kvargs_version.map      |   4 +-\n .../rte_latencystats_version.map              |   2 +-\n lib/librte_lpm/rte_lpm.c                      | 996 +-----------------\n lib/librte_lpm/rte_lpm.h                      |  88 --\n lib/librte_lpm/rte_lpm6.c                     | 132 +--\n lib/librte_lpm/rte_lpm6.h                     |  25 -\n lib/librte_lpm/rte_lpm_version.map            |  39 +-\n lib/librte_mbuf/rte_mbuf_version.map          |  49 +-\n lib/librte_member/rte_member_version.map      |   2 +-\n lib/librte_mempool/rte_mempool_version.map    |  44 +-\n lib/librte_meter/rte_meter_version.map        |  13 +-\n lib/librte_metrics/rte_metrics_version.map    |   2 +-\n lib/librte_net/rte_net_version.map            |  23 +-\n lib/librte_pci/rte_pci_version.map            |   2 +-\n lib/librte_pdump/rte_pdump_version.map        |   2 +-\n lib/librte_pipeline/rte_pipeline_version.map  |  36 +-\n lib/librte_port/rte_port_version.map          |  64 +-\n lib/librte_power/rte_power_version.map        |  24 +-\n lib/librte_rawdev/rte_rawdev_version.map      |   4 +-\n lib/librte_reorder/rte_reorder_version.map    |   8 +-\n lib/librte_ring/rte_ring_version.map          |  10 +-\n lib/librte_sched/rte_sched_version.map        |  14 +-\n lib/librte_security/rte_security_version.map  |   2 +-\n lib/librte_table/rte_table_version.map        |   2 +-\n lib/librte_timer/rte_timer.c                  |  90 +-\n lib/librte_timer/rte_timer.h                  |  15 -\n lib/librte_timer/rte_timer_version.map        |  12 +-\n lib/librte_vhost/rte_vhost_version.map        |  52 +-\n lib/meson.build                               |  18 +-\n meson_options.txt                             |   2 -\n mk/rte.lib.mk                                 |  13 +-\n 171 files changed, 1114 insertions(+), 2943 deletions(-)\n create mode 100755 buildtools/check-abi-version.sh\n create mode 100755 buildtools/update-abi.sh\n create mode 100755 buildtools/update_version_map_abi.py\n create mode 100644 config/ABI_VERSION\n rename lib/librte_distributor/{rte_distributor_v20.c => rte_distributor_single.c} (85%)\n rename lib/librte_distributor/{rte_distributor_v20.h => rte_distributor_single.h} (89%)\n delete mode 100644 lib/librte_distributor/rte_distributor_v1705.h"
}