On Thursday 31 January 2013 04:41:43 James Hogan wrote: > --- a/Makefile > +++ b/Makefile > > +ifneq ($(patsubst "%",%,$(CONFIG_SYMBOL_PREFIX)),) > + depmod_args = -P $(patsubst "%",%,$(CONFIG_SYMBOL_PREFIX)) > +endif > ... > # Run depmod only if we have System.map and depmod is executable > quiet_cmd_depmod = DEPMOD $(KERNELRELEASE) > cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \ > - $(KERNELRELEASE) > + $(KERNELRELEASE) $(depmod_args) scripts/Makefile.lib just does: ifdef CONFIG_SYMBOL_PREFIX so you should do the same that said, cmd_depmod is just a shell command. and you're running another script helper (depmod.sh). how about passing it unconditionally ? cmd_depmod = ... -P "$(CONFIG_SYMBOL_PREFIX)" since the default will be "no prefix", using -P "" is the same thing. > --- a/scripts/depmod.sh > +++ b/scripts/depmod.sh > > DEPMOD=$1 > -KERNELRELEASE=$2 > +shift > +KERNELRELEASE=$1 > +shift you can do: DEPMOD=$1 KERNELRELEASE=$2 shift 2 > +# older versions of depmod don't support -P <symbol-prefix> > +# support was added in module-init-tools 3.13 > +if test "$1" = "-P"; then > + release=$("$DEPMOD" --version) > + package=$(echo "$release" | cut -d' ' -f 1) > + if test "$package" = "module-init-tools"; then > + version=$(echo "$release" | cut -d' ' -f 2) > + later=$({ echo "$version"; echo "3.13"; } | sort -V | tail -n 1) you could do instead: later=$(printf '%s\n' "$version" "3.13" | sort -V | tail -n 1) > + if test "$later" != "$version"; then > + # module-init-tools < 3.13, drop the next 2 args > + shift > + shift > + fi shift 2 -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.