On Sun, Jan 22, 2023 at 11:14:21PM +0900, Masahiro Yamada wrote: > .scmversion is used by (src)rpm-pkg and deb-pkg to carry KERNELRELEASE. > > In fact, deb-pkg does not rely on it any more because the generated > debian/rules specifies KERNELRELEASE from the command line. > > Do likwise for (src)rpm-pkg, and remove this feature. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > scripts/Makefile.package | 6 ++---- > scripts/package/mkspec | 6 +++--- > scripts/setlocalversion | 19 +------------------ > 3 files changed, 6 insertions(+), 25 deletions(-) Hi Masahiro, I've been observing some strange behaviour when doing incremental builds on recent linux-next versions. What happens is that the kernel version doesn't get updated as I switch branches. For instance I was rebuilding in a kernel tree which I hadn't touched in a very long while and rebased on a recent linux-next. The kernel version then stayed at the prior version rather than being updated to reflect the actual state of the working tree. Reverting all of the seven patches in this series fixes the issue, but I don't really have a clue where exactly it fails. Do you have any ideas how to fix this? Thanks, Thierry > > diff --git a/scripts/Makefile.package b/scripts/Makefile.package > index 525a2820976f..e84c4e8ceb8e 100644 > --- a/scripts/Makefile.package > +++ b/scripts/Makefile.package > @@ -32,7 +32,7 @@ export KDEB_SOURCENAME > TAR_CONTENT := Documentation LICENSES arch block certs crypto drivers fs \ > include init io_uring ipc kernel lib mm net rust \ > samples scripts security sound tools usr virt \ > - .config .scmversion Makefile \ > + .config Makefile \ > Kbuild Kconfig COPYING $(wildcard localversion*) > MKSPEC := $(srctree)/scripts/package/mkspec > > @@ -47,10 +47,8 @@ if test "$(objtree)" != "$(srctree)"; then \ > echo >&2; \ > false; \ > fi ; \ > -$(srctree)/scripts/setlocalversion --save-scmversion; \ > tar -I $(KGZIP) -c $(RCS_TAR_IGNORE) -f $(2).tar.gz \ > - --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3); \ > -rm -f $(objtree)/.scmversion > + --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3) > > # rpm-pkg > # --------------------------------------------------------------------------- > diff --git a/scripts/package/mkspec b/scripts/package/mkspec > index adab28fa7f89..d3c6701b7769 100755 > --- a/scripts/package/mkspec > +++ b/scripts/package/mkspec > @@ -90,7 +90,7 @@ $S rm -f scripts/basic/fixdep scripts/kconfig/conf > $S rm -f tools/objtool/{fixdep,objtool} > $S > $S %build > -$S $MAKE %{?_smp_mflags} KBUILD_BUILD_VERSION=%{release} > +$S $MAKE %{?_smp_mflags} KERNELRELEASE=%{version} KBUILD_BUILD_VERSION=%{release} > $S > %install > mkdir -p %{buildroot}/boot > @@ -101,8 +101,8 @@ $S > %else > cp \$($MAKE -s image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE > %endif > -$M $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install > - $MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install > +$M $MAKE %{?_smp_mflags} KERNELRELEASE=%{version} INSTALL_MOD_PATH=%{buildroot} modules_install > + $MAKE %{?_smp_mflags} KERNELRELEASE=%{version} INSTALL_HDR_PATH=%{buildroot}/usr headers_install > cp System.map %{buildroot}/boot/System.map-$KERNELRELEASE > cp .config %{buildroot}/boot/config-$KERNELRELEASE > $S$M rm -f %{buildroot}/lib/modules/$KERNELRELEASE/build > diff --git a/scripts/setlocalversion b/scripts/setlocalversion > index af4754a35e66..3b31702b4a4a 100755 > --- a/scripts/setlocalversion > +++ b/scripts/setlocalversion > @@ -11,16 +11,11 @@ > # > > usage() { > - echo "Usage: $0 [--save-scmversion] [srctree]" >&2 > + echo "Usage: $0 [srctree]" >&2 > exit 1 > } > > -scm_only=false > srctree=. > -if test "$1" = "--save-scmversion"; then > - scm_only=true > - shift > -fi > if test $# -gt 0; then > srctree=$1 > shift > @@ -35,10 +30,6 @@ scm_version() > short=false > > cd "$srctree" > - if test -e .scmversion; then > - cat .scmversion > - return > - fi > if test "$1" = "--short"; then > short=true > fi > @@ -103,14 +94,6 @@ collect_files() > echo "$res" > } > > -if $scm_only; then > - if test ! -e .scmversion; then > - res=$(scm_version) > - echo "$res" >.scmversion > - fi > - exit > -fi > - > if ! test -e include/config/auto.conf; then > echo "Error: kernelrelease not valid - run 'make prepare' to update it" >&2 > exit 1 > -- > 2.34.1 >
Attachment:
signature.asc
Description: PGP signature