[PATCH] build: Add optional RTEMS_VERSION_VC_KEY
Chris Johns
chrisj at rtems.org
Wed Jul 26 06:20:10 UTC 2023
On 26/7/2023 3:44 pm, Sebastian Huber wrote:
> On 26.07.23 06:58, Sebastian Huber wrote:
>> On 26.07.23 00:08, Chris Johns wrote:
>>> On 26/7/2023 4:27 am, Joel Sherrill wrote:
>>>> On Tue, Jul 25, 2023 at 12:15 PM Sebastian Huber
>>>> <sebastian.huber at embedded-brains.de
>>>> <mailto:sebastian.huber at embedded-brains.de>>
>>>> wrote:
>>>>
>>>> On 25.07.23 19:09, Joel Sherrill wrote:
>>>> >
>>>> > On Tue, Jul 25, 2023 at 10:12 AM Sebastian Huber
>>>> > <sebastian.huber at embedded-brains.de
>>>> <mailto:sebastian.huber at embedded-brains.de>
>>>> > <mailto:sebastian.huber at embedded-brains.de
>>>> <mailto:sebastian.huber at embedded-brains.de>>> wrote:
>>>> >
>>>> > Allow the user to set the version control key.
>>>> > ---
>>>> > spec/build/cpukit/grp.yml | 2 ++
>>>> > spec/build/cpukit/optversionvckey.yml | 20 ++++++++++++++
>>>> > wscript | 38
>>>> ++++++++++++++++-----------
>>>> > 3 files changed, 44 insertions(+), 16 deletions(-)
>>>> > create mode 100644 spec/build/cpukit/optversionvckey.yml
>>>> >
>>>> > diff --git a/spec/build/cpukit/grp.yml b/spec/build/cpukit/grp.yml
>>>> > index e07e975d7d..fbeab45b5c 100644
>>>> > --- a/spec/build/cpukit/grp.yml
>>>> > +++ b/spec/build/cpukit/grp.yml
>>>> > @@ -18,6 +18,8 @@ links:
>>>> > uid: cpuopts
>>>> > - role: build-dependency
>>>> > uid: cfghdr
>>>> > +- role: build-dependency
>>>> > + uid: optversionvckey
>>>> > - role: build-dependency
>>>> > uid: libdebugger
>>>> > - role: build-dependency
>>>> > diff --git a/spec/build/cpukit/optversionvckey.yml
>>>> > b/spec/build/cpukit/optversionvckey.yml
>>>> > new file mode 100644
>>>> > index 0000000000..7197381342
>>>> > --- /dev/null
>>>> > +++ b/spec/build/cpukit/optversionvckey.yml
>>>> > @@ -0,0 +1,20 @@
>>>> > +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
>>>> > +actions:
>>>> > +- get-string: null
>>>> > +- env-assign: null
>>>> > +build-type: option
>>>> > +copyrights:
>>>> > +- Copyright (C) 2022, 2023 embedded brains GmbH & Co. KG
>>>> > +default:
>>>> > +- enabled-by: true
>>>> > + value: ''
>>>> > +description: |
>>>> > + If defined to a non-empty value, then the value will be used for
>>>> > the version
>>>> > + control key returned by rtems_version() and
>>>> > rtems_version_control_key(),
>>>> > + otherwise the value will be determined by the Git repository
>>>> > containing the
>>>> > + waf top directory.
>>>> >
>>>> >
>>>> > And would this change for a release tarball?
>>>>
>>>> Which RTEMS_VERSION_VC_KEY has a release tarball? What happens if you
>>>> unpack an release archive in an external Git repository?
>>>>
>>>>
>>>> I don't know but think we should discuss it.
>>>>
>>>> Chris should speak up since the release scripts are his and this
>>>> might be used by the distribution packaging he has made available.
>>> I am not sure what the purpose of this change is. It would be good to understand
>>> what it is for. The RTEMS_VERSION_VC_KEY could mean a number of things such as a
>>> means to set the git hash in sources not in a git repo but that is guess.
>>
>> Yes, this is helpful if you have the RTEMS sources not in a Git repository or
>> the Git repository has the wrong commit (git subtree for example).
>>
>> It could be also useful for the release archive. We could use this scheme:
>>
>> * If the value is "git", then get the value from git.
>>
>> * If the value is "", then we use no version key.
>>
>> * Otherwise we set the key to the value.
>>
>> For the release archive we would set the default value of the option from
>> "git" to "".
>
> I sent a patch with this approach:
>
> https://lists.rtems.org/pipermail/devel/2023-July/075989.html
Can you please just explain the mechanics of how this gets used? While I could
try and guess but I would rather not. :)
We have an established method in other repos of adding a VERSION file to the
source tarball. Why not follow that method?
Chris
More information about the devel
mailing list