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