On 10/20/21 8:43 AM, Tanska, Kinga wrote:
Hi,
recently we diagnosed few issues with 'mdadm -version' output.
Main problem is that end output varies on few conditions. We come with
simplified proposal. First let's describe current schema:
mdadm - version - date - extraversion
(example: mdadm - v4.2-rc2 - 2021-08-02 - extraversion)
or
mdadm - version - date
(example: mdadm - v4.2-rc2 - 2021-08-02).
VERSION could be taken from code (see ReadMe.c:31), but when git is
installed and .git directory is available in mdadm workspace, version
is replaced with output from # git describe HEAD command. It is assumed
that git command should return last tag from repo, which should contain
information about last release. This might not be true, especially if user
uses tags to mark internal milestones or custom mdadm spins.
The second problem is DATE, which corresponds to date of last release.
When few patches are picked onto HEAD date is not reliable. In my opinion
DATE is not needed. Usually, packages do not contain this element, e.g.
- # git --version
git version 2.27.0
- # gcc --version
gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)
- # yum --version
4.2.23
To make it const and reliable, I propose removing DATE and always
use VERSION from code. VERSION shall keep general release information.
I would like to move the changeable elements into EXTRAVERSION. This
field will respect following conditions:
- user definition first
(by respecting EXTRAVERSION=xxx during compilation)
- if not defined by user, result of # git describe HEAD
- else empty.
Example output:
mdadm - version - extraversion (example: mdadm - v4.2-rc2 - extraversion).
Thanks for any opinion about this proposition.
Hi Kinga,
I am not against changing the format, however I worry that doing so may
break scripts and tools in the field that nobody is maintaining or have
thought of. If we are to change the output, I suggest making a new flag
that provides the details you want and we can deprecate the old one, but
leave it in place.
Thoughts?
Jes
Thanks for your response.
I'm wondering if this change will be used if not will be set as default.
I suggest providing a new flag with old, deprecated version, for any of
uses where it couldn't be changed. I can add a description which clarify
the change and describe flag, for anybody who will meet errors with
scripts after this change.
Regards,
Kinga Tanska