Re: [PATCH 3/8] kbuild: move depmod rule to scripts/Makefile.modinst

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 24, 2023 at 8:30 AM Nicolas Schier <nicolas@xxxxxxxxx> wrote:
>
> On Wed 23 Aug 2023 20:50:43 GMT, Masahiro Yamada wrote:
> > depmod is a part of the module installation.
> >
> > scripts/Makefile.modinst is a better place to run it.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > ---
> >
> >  Makefile                 |  8 --------
> >  scripts/Makefile.modinst |  9 +++++++++
> >  scripts/depmod.sh        | 10 ++++++----
> >  3 files changed, 15 insertions(+), 12 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index e2dfa3b994f7..c9c8019e4720 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -509,7 +509,6 @@ LEX               = flex
> >  YACC         = bison
> >  AWK          = awk
> >  INSTALLKERNEL  := installkernel
> > -DEPMOD               = depmod
> >  PERL         = perl
> >  PYTHON3              = python3
> >  CHECK                = sparse
> > @@ -1871,15 +1870,8 @@ PHONY += modules_check
> >  modules_check: $(MODORDER)
> >       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
> >
> > -quiet_cmd_depmod = DEPMOD  $(MODLIB)
> > -      cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
> > -                   $(KERNELRELEASE)
> > -
> >  modules_install:
> >       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
> > -ifndef modules_sign_only
> > -     $(call cmd,depmod)
> > -endif
> >
> >  else # CONFIG_MODULES
> >
> > diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
> > index ab0c5bd1a60f..7a64ece9b826 100644
> > --- a/scripts/Makefile.modinst
> > +++ b/scripts/Makefile.modinst
> > @@ -86,6 +86,15 @@ $(dst)/%.ko: $(extmod_prefix)%.ko FORCE
> >       $(call cmd,strip)
> >       $(call cmd,sign)
> >
> > +__modinst: depmod
> > +
> > +PHONY += depmod
> > +depmod: $(modules)
> > +     $(call cmd,depmod)
> > +
> > +quiet_cmd_depmod = DEPMOD  $(MODLIB)
> > +      cmd_depmod = $(srctree)/scripts/depmod.sh $(KERNELRELEASE)
>
> Did you remove the $(CONFIG_SHELL) by intention?


Yes.
I do not know why $(CONFIG_SHELL) is needed.

I remove $(CONFIG_SHELL) when I have a chance to touch the line.


> > +
> >  else
> >
> >  $(dst)/%.ko: FORCE
> > diff --git a/scripts/depmod.sh b/scripts/depmod.sh
> > index fca689ba4f21..ee771ccb1f9c 100755
> > --- a/scripts/depmod.sh
> > +++ b/scripts/depmod.sh
> > @@ -3,12 +3,14 @@
> >  #
> >  # A depmod wrapper used by the toplevel Makefile
>
> toplevel Makefile -> scripts/Makefile.modinst


Good catch.
I will fix it.


> >
> > -if test $# -ne 2; then
> > -     echo "Usage: $0 /sbin/depmod <kernelrelease>" >&2
> > +if test $# -ne 1; then
> > +     echo "Usage: $0 <kernelrelease>" >&2
> >       exit 1
> >  fi
> > -DEPMOD=$1
> > -KERNELRELEASE=$2
> > +
> > +KERNELRELEASE=$1
> > +
> > +: ${DEPMOD:=depmod}
> >
> >  if ! test -r System.map ; then
> >       echo "Warning: modules_install: missing 'System.map' file. Skipping depmod." >&2
> > --
> > 2.39.2
>
> A minor observation: with this patch, the "quiet_cmd_*" examples in
> Makefile and in Documentation/kbuild/makefiles.rst become out-dated.


I was opposed to eb38f37c3cee08a0197bdc7bbb9b4e02e40e2300

The section "Script invocation" is not what I ack'ed.

That is what Kees Cook and Andrew Morton did.









>
> But technically, it looks good to me, thus:
> Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>



--
Best Regards
Masahiro Yamada




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux