Re: [PATCH v3] scripts/setlocalversion: fix a bug when LOCALVERSION is empty

From: Mikulas Patocka
Date: Tue Jul 13 2021 - 04:59:37 EST




On Mon, 12 Jul 2021, Nico Schottelius wrote:

>
> Sorry to say, but I am not convinced by the patch.
>
> While yes, we might have changed the behaviour slightly, reading
> something on the line of
>
> if [ -z ... ]
>
> is significantly more simple, elegant and easier to maintain, than
> a rather atypical special case for setting a variable to empty,
> using
>
> if [ "${LOCALVERSION+set}" != "set" ] ..
>
> *and* because it is so atypical, adding a long comment for it, too.
>
> Additonally, -z should be correct if the variable *is* truly empty. I
> assume it actually isn't and contains whitespace, which is not the same
> as being set and empty.
>
> Instead of re-adding complexity, could you consider changing the build
> flow so that LOCALVERSION is either unset or empty?
>
> Nico

I set LOCALVERSION to an empty string (with "export LOCALVERSION="). This
prevented the kernel from adding a "+" sign to the kernel version. Since
the commit 042da426f8eb, it no longer works and the kernel adds a "+" sign
if LOCALVERSION is set and empty.

If you don't like "if [ "${LOCALVERSION+set}" != "set" ]", then please
provide some other way how to test if the variable is set.

Mikulas