Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/84026/?format=api
http://patches.dpdk.org/api/patches/84026/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201111155647.1720787-2-bruce.richardson@intel.com/", "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": "<20201111155647.1720787-2-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20201111155647.1720787-2-bruce.richardson@intel.com", "date": "2020-11-11T15:56:47", "name": "[v2,2/2] examples: skip installing unbuildable examples", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "4bca411f7260a4041f2482000be0a4cfd0b3d67a", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20201111155647.1720787-2-bruce.richardson@intel.com/mbox/", "series": [ { "id": 13815, "url": "http://patches.dpdk.org/api/series/13815/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13815", "date": "2020-11-11T15:56:46", "name": "[v2,1/2] examples: fix flattening directory layout on install", "version": 2, "mbox": "http://patches.dpdk.org/series/13815/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/84026/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/84026/checks/", "tags": {}, "related": [], "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 8E5BFA09D9;\n\tWed, 11 Nov 2020 16:57:33 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 87F545A51;\n\tWed, 11 Nov 2020 16:57:05 +0100 (CET)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by dpdk.org (Postfix) with ESMTP id 1937E5958\n for <dev@dpdk.org>; Wed, 11 Nov 2020 16:57:03 +0100 (CET)", "from fmsmga005.fm.intel.com ([10.253.24.32])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 11 Nov 2020 07:57:02 -0800", "from silpixa00399126.ir.intel.com ([10.237.222.4])\n by fmsmga005.fm.intel.com with ESMTP; 11 Nov 2020 07:57:00 -0800" ], "IronPort-SDR": [ "\n Wv1G2fp8ZDSK65ENlnMzjRBLjpn19HiLbdrg8b8WnQvsEQb/1zALMNrAm2eqXnfqA6oniW04LN\n PsuqcLGLry2w==", "\n QgojeY2DuDqsCUN7tSPfPnZ8in+vk5HThu//BjVCaVW2SIAWSkHWRepwFyCSBVxmG2LzLzNpOn\n X0iu23f0+GXQ==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9801\"; a=\"170275481\"", "E=Sophos;i=\"5.77,469,1596524400\"; d=\"scan'208\";a=\"170275481\"", "E=Sophos;i=\"5.77,469,1596524400\"; d=\"scan'208\";a=\"531745905\"" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "david.marchand@redhat.com,\n\tBruce Richardson <bruce.richardson@intel.com>", "Date": "Wed, 11 Nov 2020 15:56:47 +0000", "Message-Id": "<20201111155647.1720787-2-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20201111155647.1720787-1-bruce.richardson@intel.com>", "References": "<20201110170809.1309043-1-bruce.richardson@intel.com>\n <20201111155647.1720787-1-bruce.richardson@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v2 2/2] examples: skip installing unbuildable\n\texamples", "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": "Rather than just installing all examples, we can use the build checks to\nfilter out any examples that are missing dependencies or are otherwise\nunbuildable on the current system.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n examples/meson.build | 54 +++++++++++++++++++++++++++-----------------\n meson.build | 2 ++\n 2 files changed, 35 insertions(+), 21 deletions(-)", "diff": "diff --git a/examples/meson.build b/examples/meson.build\nindex 46ec80919e..9d268c9786 100644\n--- a/examples/meson.build\n+++ b/examples/meson.build\n@@ -48,15 +48,11 @@ all_examples = [\n \t'vmdq', 'vmdq_dcb',\n ]\n \n-if get_option('examples') == ''\n-\tsubdir_done()\n-endif\n-\n if get_option('examples').to_lower() == 'all'\n-\texamples = all_examples\n+\trequested_examples = all_examples\n \tallow_skips = true # don't flag an error if we can't build an app\n else\n-\texamples = get_option('examples').split(',')\n+\trequested_examples = get_option('examples').split(',')\n \tallow_skips = false # error out if we can't build a requested app\n endif\n default_cflags = machine_args\n@@ -64,7 +60,9 @@ if cc.has_argument('-Wno-format-truncation')\n \tdefault_cflags += '-Wno-format-truncation'\n endif\n \n-foreach example: examples\n+# iterate through all examples to see what we need to install\n+# only actually build requested ones\n+foreach example: all_examples\n \tname = example.split('/')[-1]\n \tbuild = true\n \tsources = []\n@@ -81,22 +79,36 @@ foreach example: examples\n \t\tforeach d:deps\n \t\t\tvar_name = get_option('default_library') + '_rte_' + d\n \t\t\tif not is_variable(var_name)\n-\t\t\t\terror('Missing dependency \"@0@\" for example \"@1@\"'.format(d, name))\n+\t\t\t\tmessage('Missing dependency \"@0@\" for example \"@1@\"'.format(d, name))\n+\t\t\t\tbuild = false\n+\t\t\telse\n+\t\t\t\tdep_objs += [get_variable(var_name)]\n \t\t\tendif\n-\t\t\tdep_objs += [get_variable(var_name)]\n \t\tendforeach\n-\t\tif allow_experimental_apis\n-\t\t\tcflags += '-DALLOW_EXPERIMENTAL_API'\n+\tendif # build\n+\n+\tif not build\n+\t\t# exclude based on top-level directory only\n+\t\tdir = example.split('/')[0]\n+\t\tdpdk_examples_exclude += dir\n+\t\tmessage('Excluding example directory \"@0@\" from install'.format(dir))\n+\tendif\n+\n+\tif requested_examples.contains(example)\n+\t\tif build\n+\t\t\tif allow_experimental_apis\n+\t\t\t\tcflags += '-DALLOW_EXPERIMENTAL_API'\n+\t\t\tendif\n+\t\t\texecutable('dpdk-' + name, sources,\n+\t\t\t\tinclude_directories: includes,\n+\t\t\t\tlink_whole: link_whole_libs,\n+\t\t\t\tlink_args: dpdk_extra_ldflags,\n+\t\t\t\tc_args: cflags,\n+\t\t\t\tdependencies: dep_objs)\n+\t\telif not allow_skips\n+\t\t\terror('Cannot build requested example \"' + name + '\"')\n+\t\telse\n+\t\t\tmessage('Skipping example \"' + name + '\"')\n \t\tendif\n-\t\texecutable('dpdk-' + name, sources,\n-\t\t\tinclude_directories: includes,\n-\t\t\tlink_whole: link_whole_libs,\n-\t\t\tlink_args: dpdk_extra_ldflags,\n-\t\t\tc_args: cflags,\n-\t\t\tdependencies: dep_objs)\n-\telif not allow_skips\n-\t\terror('Cannot build requested example \"' + name + '\"')\n-\telse\n-\t\tmessage('Skipping example \"' + name + '\"')\n \tendif\n endforeach\ndiff --git a/meson.build b/meson.build\nindex 45d974cd2c..559a9d2f1b 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -58,9 +58,11 @@ subdir('doc')\n \n # build any examples explicitly requested - useful for developers - and\n # install any example code into the appropriate install path\n+dpdk_examples_exclude = []\n subdir('examples')\n install_subdir('examples',\n \tinstall_dir: get_option('datadir') + '/dpdk',\n+\texclude_directories: dpdk_examples_exclude,\n \texclude_files: 'meson.build')\n \n # build kernel modules if enabled\n", "prefixes": [ "v2", "2/2" ] }{ "id": 84026, "url": "