[PATCH] build: Add optional RTEMS_VERSION_VC_KEY
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Jul 26 06:54:28 UTC 2023
On 26.07.23 08:20, Chris Johns wrote:
> 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. 😄
In the v2 patch you just have to do this for a release archive:
sed -i "s/ value: git/ value: ''/"
spec/build/cpukit/optversioncontrolkey.yml
>
> We have an established method in other repos of adding a VERSION file to the
> source tarball. Why not follow that method?
This is certainly possible, however, this would add another
configuration source to the build system.
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list