[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNARRtmLBiU+-+O4-jzCz+1YamRwVgBXkBA=v5Vo5djRPpA@mail.gmail.com>
Date: Wed, 12 Mar 2025 16:30:55 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: HONG Yifan <elsk@...gle.com>
Cc: Rasmus Villemoes <linux@...musvillemoes.dk>, kernel-team@...roid.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] setlocalversion: use ${objtree}/include/config/auto.conf
On Wed, Mar 12, 2025 at 11:12 AM HONG Yifan <elsk@...gle.com> wrote:
>
> setlocalversion reads include/config/auto.conf, which is located below
> $(objtree) with commit 214c0eea43b2 ("kbuild: add $(objtree)/ prefix to
> some in-kernel build artifacts").
>
> Hence, the setlocalversion script needs to use
> $(objtree)/include/config/auto.conf as well.
>
> Note that $(objtree) is not necessarily `.` when O (aka KBUILD_OUTPUT)
> is set, because of commit 13b25489b6f8 ("kbuild: change working
> directory to external module directory with M=").
Is this a real issue?
If so, please attach some commands to reproduce an issue.
setlocalversion is invoked only at line 1238 of the top-level Makefile,
within the check "ifeq ($(KBUILD_EXTMOD),)"
So, it is never called with external module builds.
> Signed-off-by: HONG Yifan <elsk@...gle.com>
> ---
> Implementation note: Should I test -z ${objtree} before using it? Otherwise it
> looks at /include/config/auto.conf which is wrong.
> Or should I fall back to `.` if objtree is not found in the environment
> variables?
> I could also `exit 1` if $objtree is not set. Please let me know what you think.
>
> scripts/setlocalversion | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/setlocalversion b/scripts/setlocalversion
> index 28169d7e143b..88f54eb5a7c2 100755
> --- a/scripts/setlocalversion
> +++ b/scripts/setlocalversion
> @@ -186,7 +186,7 @@ if ${no_local}; then
> exit 0
> fi
>
> -if ! test -e include/config/auto.conf; then
> +if ! test -e ${objtree}/include/config/auto.conf; then
> echo "Error: kernelrelease not valid - run 'make prepare' to update it" >&2
> exit 1
> fi
> --
> 2.49.0.rc0.332.g42c0ae87b1-goog
>
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists