Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/81803/?format=api
http://patches.dpdk.org/api/patches/81803/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201022145944.470054-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": "<20201022145944.470054-2-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20201022145944.470054-2-bruce.richardson@intel.com", "date": "2020-10-22T14:59:42", "name": "[RFC,1/3] build: add a dpdk-specific meson log file", "commit_ref": null, "pull_url": null, "state": "rejected", "archived": true, "hash": "2692f19be6161be3e8761e9419270a393464ece6", "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/20201022145944.470054-2-bruce.richardson@intel.com/mbox/", "series": [ { "id": 13218, "url": "http://patches.dpdk.org/api/series/13218/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13218", "date": "2020-10-22T14:59:42", "name": "add custom logging to DPDK meson runs", "version": 1, "mbox": "http://patches.dpdk.org/series/13218/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/81803/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/81803/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 22B86A04DD;\n\tThu, 22 Oct 2020 17:00:06 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5B465AA08;\n\tThu, 22 Oct 2020 17:00:03 +0200 (CEST)", "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by dpdk.org (Postfix) with ESMTP id 9B12FAA05\n for <dev@dpdk.org>; Thu, 22 Oct 2020 17:00:00 +0200 (CEST)", "from orsmga005.jf.intel.com ([10.7.209.41])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 22 Oct 2020 07:59:56 -0700", "from silpixa00399126.ir.intel.com ([10.237.222.4])\n by orsmga005.jf.intel.com with ESMTP; 22 Oct 2020 07:59:55 -0700" ], "IronPort-SDR": [ "\n CWvq7YT2ppv8sRIb6GJFjXIyQVaisNviVeeTgu+hW7s5+4RLX3Rw1X3pFsu5zFPFyflR9W2XTL\n 4O/kZdZv8WiQ==", "\n nrC5wM7IuSiPUkQB78QWzf4NEdt0cSIUNJ7MyrxdtySKqA5/LpivKQvFprdB9YLvbmf+/S/B04\n x49+J1+GOaFQ==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9781\"; a=\"185218988\"", "E=Sophos;i=\"5.77,404,1596524400\"; d=\"scan'208\";a=\"185218988\"", "E=Sophos;i=\"5.77,404,1596524400\"; d=\"scan'208\";a=\"533997464\"" ], "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": "Bruce Richardson <bruce.richardson@intel.com>", "Date": "Thu, 22 Oct 2020 15:59:42 +0100", "Message-Id": "<20201022145944.470054-2-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20201022145944.470054-1-bruce.richardson@intel.com>", "References": "<20201022145944.470054-1-bruce.richardson@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [RFC PATCH 1/3] build: add a dpdk-specific meson log file", "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": "While meson itself writes a log file of all the tests it runs and the\noutput of those, to help debug any build problems and provide more\ndeveloper information it can be helpful to have a logfile created and\ncontrolled by the dpdk meson.build files themselves.\n\nSince meson doesn't directly support this we need to use run_command to\nimplement it manually. Using a python script to do the writing of the log\nmakes things cross-platform, and as initial log entries we can add in the\nmessages about the defined internal dependencies, since these are of\ndeveloper interest only.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n buildtools/meson.build | 1 +\n buildtools/write-log-entry.py | 23 +++++++++++++++++++++++\n drivers/meson.build | 2 +-\n lib/meson.build | 2 +-\n meson.build | 8 ++++++--\n 5 files changed, 32 insertions(+), 4 deletions(-)\n create mode 100644 buildtools/write-log-entry.py", "diff": "diff --git a/buildtools/meson.build b/buildtools/meson.build\nindex 04808dabc..35a8f4290 100644\n--- a/buildtools/meson.build\n+++ b/buildtools/meson.build\n@@ -17,3 +17,4 @@ else\n endif\n map_to_win_cmd = py3 + files('map_to_win.py')\n sphinx_wrapper = py3 + files('call-sphinx-build.py')\n+log = py3 + [files('write-log-entry.py'), 'dpdk-meson.log']\ndiff --git a/buildtools/write-log-entry.py b/buildtools/write-log-entry.py\nnew file mode 100644\nindex 000000000..6ec748a4f\n--- /dev/null\n+++ b/buildtools/write-log-entry.py\n@@ -0,0 +1,23 @@\n+#!/usr/bin/env python3\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2020 Intel Corporation\n+\n+from sys import argv, exit\n+from time import strftime\n+from os import environ\n+from os.path import join as path_join\n+\n+if len(argv) < 2: # error if no filename\n+ exit(1)\n+if len(argv) < 3: # do nothing if no contents to log\n+ exit(0)\n+\n+build_dir = environ.get('MESON_BUILD_ROOT', '.')\n+filename = path_join(build_dir, argv[1])\n+\n+# append dates to headings\n+if argv[2].startswith('===='):\n+ argv.append(strftime('@@ %Y-%m-%d %X'))\n+\n+with open(filename, 'a') as log:\n+ print(\" \".join(argv[2:]), file=log)\ndiff --git a/drivers/meson.build b/drivers/meson.build\nindex a5a6fed06..c008abd4a 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -228,7 +228,7 @@ foreach subpath:subdirs\n \t\t\tset_variable('shared_@0@'.format(lib_name), shared_dep)\n \t\t\tset_variable('static_@0@'.format(lib_name), static_dep)\n \t\t\tdependency_name = ''.join(lib_name.split('rte_'))\n-\t\t\tmessage('drivers/@0@: Defining dependency \"@1@\"'.format(\n+\t\t\trun_command(log, 'drivers/@0@: Defining dependency \"@1@\"'.format(\n \t\t\t\t\tdrv_path, dependency_name))\n \t\tendif # build\n \tendforeach\ndiff --git a/lib/meson.build b/lib/meson.build\nindex dd55b5cb5..2715c0f66 100644\n--- a/lib/meson.build\n+++ b/lib/meson.build\n@@ -200,7 +200,7 @@ foreach l:libraries\n \n \t\tset_variable('shared_rte_' + name, shared_dep)\n \t\tset_variable('static_rte_' + name, static_dep)\n-\t\tmessage('lib/@0@: Defining dependency \"@1@\"'.format(\n+\t\trun_command(log, 'lib/@0@: Defining dependency \"@1@\"'.format(\n \t\t\t\tdir_name, name))\n \tendif # if build\n endforeach\ndiff --git a/meson.build b/meson.build\nindex 61d9a4f5f..ab950a2ce 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -11,6 +11,11 @@ project('DPDK', 'C',\n \tmeson_version: '>= 0.47.1'\n )\n \n+# get tool paths and scripts\n+subdir('buildtools')\n+\n+run_command(log, '======= Starting meson =======')\n+\n # set up some global vars for compiler, platform, configuration, etc.\n cc = meson.get_compiler('c')\n dpdk_conf = configuration_data()\n@@ -40,8 +45,7 @@ global_inc = include_directories('.', 'config',\n \t'lib/librte_eal/@0@/include'.format(arch_subdir),\n )\n \n-# do configuration and get tool paths\n-subdir('buildtools')\n+# do main build config\n subdir('config')\n \n # build libs and drivers\n", "prefixes": [ "RFC", "1/3" ] }{ "id": 81803, "url": "