DPDK patches and discussions
 help / color / mirror / Atom feed
From: Luca Boccassi <bluca@debian.org>
To: Bruce Richardson <bruce.richardson@intel.com>, dev@dpdk.org
Subject: Re: [dpdk-dev] [RFC PATCH 0/4] One versionfile to rule them all...
Date: Thu, 07 Mar 2019 12:09:44 +0000	[thread overview]
Message-ID: <caf34cf9dcdb634441926653aca2e799e4329cb8.camel@debian.org> (raw)
In-Reply-To: <20190307115448.54041-1-bruce.richardson@intel.com>

On Thu, 2019-03-07 at 11:54 +0000, Bruce Richardson wrote:
> Right now with DPDK we have two sources of version information - the
> rte_version.h header file containing macros for C use, and the
> project
> version number in the project definition in meson.build. This is not
> optimal, so this patchset aims to provide a single source for the
> DPDK
> version. The options considered are:
> 
> * Keep version info in rte_version.h only. The two reasons this was
> not
>   chosen were:
>   1) parsing the version number from the header is awkward, as seen
> in the
>      rte.sdkconfig.mk file, and a script to do so would be needed to
>      integrate that into the meson build project definition.
>   2) rte_version.h is not in an obvious location inside the project
> when
>      a user clones from git. It's hidden away in the
>      "lib/librte_eal/common/include" folder. Ideally the version
> number
>      should be evident at the top level of the DPDK tree.
> 
> * Keep version info in meson.build file only. This seemed a better
> option
>   than keeping the info in rte_version.h, but it still had
> disadvantages:
>   1) For make, using grep on meson.build to extract the version
> seemed a
>      bit awkward, though doable. Splitting the version was tricky
> too, but
>      managable with a small amount of scripting.
>   2) There was no easy way to have users access the version number
> when
>      "make showversion" was deprecated with the make build system.
> 
> * Store the version number in a new version file at the root level of
> the
>   repo.
>   * This did have the advantage of being easily discoverable on clone
>   * Still had the disadvantage of needing some parsing to generate
> the
>     defines from rte_version.h
> 
> Since the last option seemed best, that is what is implemented in
> this set.
> The file DPDK_VERSION is added to store the version number, and make
> and
> meson both use that as their source of version info. For C code, the
> rte_version.h header remains, except that the basic definitions of
> the
> release YEAR, MONTH, MINOR etc. are moved to be automatically
> generated as
> part of rte_config.h. For make builds, this is done via using the
> preprocessor to insert the values when it generates the config. For
> meson
> builds, this is done by just adding the values to the dpdk_conf
> configuration object.
> 
> Bruce Richardson (4):
>   build: add single source of DPDK version number
>   build: use version number from config file
>   build: move meson version handling to config directory
>   eal: remove unneeded version logic
> 
>  DPDK_VERSION                                |  1 +
>  config/common_base                          | 14 ++++++++
>  config/meson.build                          | 26 +++++++++++++++
>  config/rte_config.h                         |  5 +++
>  lib/librte_eal/common/include/rte_version.h | 36 +----------------
> ----
>  meson.build                                 | 14 +-------
>  mk/rte.sdkconfig.mk                         | 18 +++--------
>  7 files changed, 52 insertions(+), 62 deletions(-)
>  create mode 100644 DPDK_VERSION

Series-acked-by: Luca Boccassi <bluca@debian.org>

This is a good change, thanks for that. Too bad there's not yet a meson
--project-version option - it's been discussed but not implemented:

https://github.com/mesonbuild/meson/issues/3535

-- 
Kind regards,
Luca Boccassi

  parent reply	other threads:[~2019-03-07 12:09 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-07 11:54 Bruce Richardson
2019-03-07 11:54 ` [dpdk-dev] [PATCH 1/4] build: add single source of DPDK version number Bruce Richardson
2019-03-07 12:33   ` David Marchand
2019-03-07 11:54 ` [dpdk-dev] [PATCH 2/4] build: use version number from config file Bruce Richardson
2019-03-07 12:37   ` David Marchand
2019-03-07 12:42     ` David Marchand
2019-03-07 13:12       ` Bruce Richardson
2019-03-07 13:01     ` Bruce Richardson
2019-03-07 11:54 ` [dpdk-dev] [PATCH 3/4] build: move meson version handling to config directory Bruce Richardson
2019-03-07 11:54 ` [dpdk-dev] [PATCH 4/4] eal: remove unneeded version logic Bruce Richardson
2019-03-07 12:09 ` Luca Boccassi [this message]
2019-03-07 12:14   ` [dpdk-dev] [RFC PATCH 0/4] One versionfile to rule them all Bruce Richardson
2019-03-07 13:34 ` [dpdk-dev] [PATCH v2 " Bruce Richardson
2019-03-07 13:34   ` [dpdk-dev] [PATCH v2 1/4] build: add single source of DPDK version number Bruce Richardson
2019-03-13 11:06     ` Thomas Monjalon
2019-03-13 11:17       ` Bruce Richardson
2019-03-13 11:23         ` Thomas Monjalon
2019-03-13 11:27           ` Bruce Richardson
2019-03-07 13:35   ` [dpdk-dev] [PATCH v2 2/4] build: use version number from config file Bruce Richardson
2019-03-13 11:13     ` Thomas Monjalon
2019-03-13 11:20       ` Bruce Richardson
2019-03-13 11:24         ` Thomas Monjalon
2019-03-07 13:35   ` [dpdk-dev] [PATCH v2 3/4] build: move meson version handling to config directory Bruce Richardson
2019-03-07 13:35   ` [dpdk-dev] [PATCH v2 4/4] eal: remove unneeded version logic Bruce Richardson
2019-03-15 18:20 ` [dpdk-dev] [PATCH v3 0/4] One versionfile to rule them all Bruce Richardson
2019-03-15 18:20   ` Bruce Richardson
2019-03-15 18:20   ` [dpdk-dev] [PATCH v3 1/4] build: add single source of DPDK version number Bruce Richardson
2019-03-15 18:20     ` Bruce Richardson
2019-03-16 18:01     ` Rami Rosen
2019-03-16 18:01       ` Rami Rosen
2019-03-15 18:20   ` [dpdk-dev] [PATCH v3 2/4] build: move meson version handling to config directory Bruce Richardson
2019-03-15 18:20     ` Bruce Richardson
2019-03-15 18:20   ` [dpdk-dev] [PATCH v3 3/4] build: use version number from config file Bruce Richardson
2019-03-15 18:20     ` Bruce Richardson
2019-03-27  0:27     ` Thomas Monjalon
2019-03-27  0:27       ` Thomas Monjalon
2019-03-15 18:20   ` [dpdk-dev] [PATCH v3 4/4] eal: remove unneeded version logic Bruce Richardson
2019-03-15 18:20     ` Bruce Richardson
2019-03-27  0:34   ` [dpdk-dev] [PATCH v3 0/4] One versionfile to rule them all Thomas Monjalon
2019-03-27  0:34     ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=caf34cf9dcdb634441926653aca2e799e4329cb8.camel@debian.org \
    --to=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).