[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNAS+PefrZnUO1R4v8pa6V7Mh_R92dNAR96Wucz0tf1HEpg@mail.gmail.com>
Date: Fri, 22 Sep 2023 16:27:48 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Alexey Kardashevskiy <aik@....com>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
Nicolas Schier <nicolas@...sle.eu>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nathan Chancellor <nathan@...nel.org>
Subject: Re: [PATCH kernel] kbuild: get rid of unwanted "+" when
CONFIG_LOCALVERSION is set
On Wed, Sep 20, 2023 at 10:30 PM Alexey Kardashevskiy <aik@....com> wrote:
>
>
> On 20/9/23 21:59, Masahiro Yamada wrote:
> > On Wed, Sep 20, 2023 at 10:56 AM Alexey Kardashevskiy <aik@....com> wrote:
> >>
> >> The scripts/setlocalversion script correctly tries not adding "+" when
> >> CONFIG_LOCALVERSION is defined.
> >
> > I am afraid you are misunderstanding the script.
>
> Possibly :) I should have read of "+set"... sorry :-/ Thanks for
> spending time looking at this.
>
> > CONFIG_LOCALVERSION and the "+" sign is unrelated.
>
> How come?
>
> scripts/setlocalversion -> if [ "${LOCALVERSION+set}" != "set" ] ->
> scm_version --short -> echo "+".
>
> Where is that LOCALVERSION supposed to come from, and when? Is not
> LOCALVERSION related to CONFIG_LOCALVERSION?
1) LOCALVERSION is an environment variable.
$ LOCALVERSION=-foo make
or
$ make LOCALVERSION=-foo
2) CONFIG_LOCALVERSION is a CONFIG option
$ make menuconfig
and set the value.
1) and 2) are orthogonal.
If you set both, you can get both of them.
> >> However, instead of grepping for it
> >> (as it is done for CONFIG_LOCALVERSION_AUTO=y), it relies on LOCALVERSION
> >> set in the shell which is not.
> >>
> >> Export LOCALVERSION so scripts/setlocalversion could see it and not add
> >> unwanted "+" at the end of the kernelrelease.
> >>
> >> Signed-off-by: Alexey Kardashevskiy <aik@....com>
> >
> >
> > So, scripts/setlocalversion will always see
> > defined LOCALVERSION.
> >
> > With your patch, LOCALVERSION would be set to an empty value,
> > which would make the following condition always false.
> >
> > elif [ "${LOCALVERSION+set}" != "set" ]; then
> >
> >
> > Your patch is equivalent to deleting
> > line 175-183 of scripts/setlocalversion.
> >
> > Of course, that is wrong and unacceptable.
>
> Ok. What is the right way of getting rid of the "+"? Thanks,
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists