diff mbox series

[v3] modules_install: make missing $DEPMOD a warning instead of an error

Message ID 4449cd91-fae5-caf1-a917-82e0c5f0aba8@infradead.org (mailing list archive)
State New, archived
Headers show
Series [v3] modules_install: make missing $DEPMOD a warning instead of an error | expand

Commit Message

Randy Dunlap Aug. 23, 2018, 6:13 p.m. UTC
From: Randy Dunlap <rdunlap@infradead.org>

When $DEPMOD is not found, only print a warning instead of exiting
with an error message and error status.

Warning: 'make modules_install' requires /sbin/depmod. Please install it.
This is probably in the kmod package.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Fixes: 934193a654c1 ("kbuild: verify that $DEPMOD is installed")
Cc: stable@vger.kernel.org
Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: Jessica Yu <jeyu@kernel.org>
Cc: Chih-Wei Huang <cwhuang@linux.org.tw>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
---
v2: add missing "exit 0" and update the commit message (no Error).
v3: add Fixes: and Cc: stable

 scripts/depmod.sh |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

H. Nikolaus Schaller Aug. 23, 2018, 7:38 p.m. UTC | #1
Hi Randy,

> Am 23.08.2018 um 20:13 schrieb Randy Dunlap <rdunlap@infradead.org>:
> 
> From: Randy Dunlap <rdunlap@infradead.org>
> 
> When $DEPMOD is not found, only print a warning instead of exiting
> with an error message and error status.
> 
> Warning: 'make modules_install' requires /sbin/depmod. Please install it.
> This is probably in the kmod package.
> 
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Fixes: 934193a654c1 ("kbuild: verify that $DEPMOD is installed")
> Cc: stable@vger.kernel.org
> Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
> Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>
> Cc: Michal Marek <michal.lkml@markovi.net>
> Cc: Jessica Yu <jeyu@kernel.org>
> Cc: Chih-Wei Huang <cwhuang@linux.org.tw>
> Cc: H. Nikolaus Schaller <hns@goldelico.com>
> ---
> v2: add missing "exit 0" and update the commit message (no Error).
> v3: add Fixes: and Cc: stable
> 
> scripts/depmod.sh |    4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> --- lnx-418.orig/scripts/depmod.sh
> +++ lnx-418/scripts/depmod.sh
> @@ -15,9 +15,9 @@ if ! test -r System.map ; then
> fi
> 
> if [ -z $(command -v $DEPMOD) ]; then
> -	echo "'make modules_install' requires $DEPMOD. Please install it." >&2
> +	echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2
> 	echo "This is probably in the kmod package." >&2
> -	exit 1
> +	exit 0
> fi
> 
> # older versions of depmod require the version string to start with three
> 

works for me.

  INSTALL sound/usb/snd-usb-audio.ko - due to target is PHONY
  INSTALL sound/usb/snd-usbmidi-lib.ko - due to target is PHONY
  DEPMOD  4.18.4-letux+ - due to target is PHONY
Warning: 'make modules_install' requires /sbin/depmod. Please install it.
This is probably in the kmod package.

and returns success status.

BR and thanks,
Nikolaus Schaller
Masahiro Yamada Aug. 24, 2018, 4:20 a.m. UTC | #2
Hi Randy,


2018-08-24 3:13 GMT+09:00 Randy Dunlap <rdunlap@infradead.org>:
> From: Randy Dunlap <rdunlap@infradead.org>
>
> When $DEPMOD is not found, only print a warning instead of exiting
> with an error message and error status.


Could you add the motivation of this change
(as Nikolaus reported) ?

Without the reason recorded in git-log,
somebody may wonder why this commit is useful.





> Warning: 'make modules_install' requires /sbin/depmod. Please install it.
> This is probably in the kmod package.
>
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Fixes: 934193a654c1 ("kbuild: verify that $DEPMOD is installed")
> Cc: stable@vger.kernel.org
> Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
> Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>
> Cc: Michal Marek <michal.lkml@markovi.net>
> Cc: Jessica Yu <jeyu@kernel.org>
> Cc: Chih-Wei Huang <cwhuang@linux.org.tw>
> Cc: H. Nikolaus Schaller <hns@goldelico.com>

Reported-by: H. Nikolaus Schaller <hns@goldelico.com>




> ---
> v2: add missing "exit 0" and update the commit message (no Error).
> v3: add Fixes: and Cc: stable
>
>  scripts/depmod.sh |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> --- lnx-418.orig/scripts/depmod.sh
> +++ lnx-418/scripts/depmod.sh
> @@ -15,9 +15,9 @@ if ! test -r System.map ; then
>  fi
>
>  if [ -z $(command -v $DEPMOD) ]; then
> -       echo "'make modules_install' requires $DEPMOD. Please install it." >&2
> +       echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2
>         echo "This is probably in the kmod package." >&2
> -       exit 1
> +       exit 0
>  fi
>
>  # older versions of depmod require the version string to start with three



BTW, if System.map is missing, depmod is silently skipped.


I think if System.map is missing, a user is doing something wrong,
but you could do like this:

$ make mrproper
   [snip]
$ make defconfig
   [snip]
$ make modules
   [snip]
$ make modules_install
  INSTALL drivers/thermal/x86_pkg_temp_thermal.ko
  INSTALL fs/efivarfs/efivarfs.ko
  INSTALL net/ipv4/netfilter/ipt_MASQUERADE.ko
  INSTALL net/ipv4/netfilter/iptable_nat.ko
  INSTALL net/ipv4/netfilter/nf_log_arp.ko
  INSTALL net/ipv4/netfilter/nf_log_ipv4.ko
  INSTALL net/ipv4/netfilter/nf_nat_ipv4.ko
  INSTALL net/ipv6/netfilter/nf_log_ipv6.ko
  INSTALL net/netfilter/nf_log_common.ko
  INSTALL net/netfilter/nf_nat.ko
  INSTALL net/netfilter/nf_nat_ftp.ko
  INSTALL net/netfilter/nf_nat_irc.ko
  INSTALL net/netfilter/nf_nat_sip.ko
  INSTALL net/netfilter/xt_LOG.ko
  INSTALL net/netfilter/xt_addrtype.ko
  INSTALL net/netfilter/xt_mark.ko
  INSTALL net/netfilter/xt_nat.ko
  DEPMOD  4.18.0+


The log looks like all the process went well,
but depmod is actually skipped because System.map is
generated by "make vmlinux"


What do you think we should do about this case?

Skip depmod silently?
Make it fail?
Print noisy warning like missing depmod case?
Randy Dunlap Aug. 28, 2018, 7:55 p.m. UTC | #3
On 08/23/2018 09:20 PM, Masahiro Yamada wrote:
> Hi Randy,
> 
> 
> 2018-08-24 3:13 GMT+09:00 Randy Dunlap <rdunlap@infradead.org>:
>> From: Randy Dunlap <rdunlap@infradead.org>
>>
>> When $DEPMOD is not found, only print a warning instead of exiting
>> with an error message and error status.
> 
> 
> Could you add the motivation of this change
> (as Nikolaus reported) ?
> 
> Without the reason recorded in git-log,
> somebody may wonder why this commit is useful.
> 

Added for v4.

> 
>> Warning: 'make modules_install' requires /sbin/depmod. Please install it.
>> This is probably in the kmod package.
>>
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Fixes: 934193a654c1 ("kbuild: verify that $DEPMOD is installed")
>> Cc: stable@vger.kernel.org
>> Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
>> Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>
>> Cc: Michal Marek <michal.lkml@markovi.net>
>> Cc: Jessica Yu <jeyu@kernel.org>
>> Cc: Chih-Wei Huang <cwhuang@linux.org.tw>
>> Cc: H. Nikolaus Schaller <hns@goldelico.com>
> 
> Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
> 
> 

Added for v4.

> 
> 
>> ---
>> v2: add missing "exit 0" and update the commit message (no Error).
>> v3: add Fixes: and Cc: stable
>>
>>  scripts/depmod.sh |    4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> --- lnx-418.orig/scripts/depmod.sh
>> +++ lnx-418/scripts/depmod.sh
>> @@ -15,9 +15,9 @@ if ! test -r System.map ; then
>>  fi
>>
>>  if [ -z $(command -v $DEPMOD) ]; then
>> -       echo "'make modules_install' requires $DEPMOD. Please install it." >&2
>> +       echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2
>>         echo "This is probably in the kmod package." >&2
>> -       exit 1
>> +       exit 0
>>  fi
>>
>>  # older versions of depmod require the version string to start with three
> 
> 
> 
> BTW, if System.map is missing, depmod is silently skipped.
> 
> 
> I think if System.map is missing, a user is doing something wrong,
> but you could do like this:
> 
> $ make mrproper
>    [snip]
> $ make defconfig
>    [snip]
> $ make modules
>    [snip]
> $ make modules_install
>   INSTALL drivers/thermal/x86_pkg_temp_thermal.ko
>   INSTALL fs/efivarfs/efivarfs.ko
>   INSTALL net/ipv4/netfilter/ipt_MASQUERADE.ko
>   INSTALL net/ipv4/netfilter/iptable_nat.ko
>   INSTALL net/ipv4/netfilter/nf_log_arp.ko
>   INSTALL net/ipv4/netfilter/nf_log_ipv4.ko
>   INSTALL net/ipv4/netfilter/nf_nat_ipv4.ko
>   INSTALL net/ipv6/netfilter/nf_log_ipv6.ko
>   INSTALL net/netfilter/nf_log_common.ko
>   INSTALL net/netfilter/nf_nat.ko
>   INSTALL net/netfilter/nf_nat_ftp.ko
>   INSTALL net/netfilter/nf_nat_irc.ko
>   INSTALL net/netfilter/nf_nat_sip.ko
>   INSTALL net/netfilter/xt_LOG.ko
>   INSTALL net/netfilter/xt_addrtype.ko
>   INSTALL net/netfilter/xt_mark.ko
>   INSTALL net/netfilter/xt_nat.ko
>   DEPMOD  4.18.0+
> 
> 
> The log looks like all the process went well,
> but depmod is actually skipped because System.map is
> generated by "make vmlinux"
> 
> 
> What do you think we should do about this case?
> 
> Skip depmod silently?
> Make it fail?
> Print noisy warning like missing depmod case?

Since this shouldn't be happening, I prefer the noisy warning message
like the missing depmod case.

Do you want a separate patch for that?

thanks,
Masahiro Yamada Aug. 29, 2018, 1:06 a.m. UTC | #4
Hi Randy

2018-08-29 4:55 GMT+09:00 Randy Dunlap <rdunlap@infradead.org>:
> On 08/23/2018 09:20 PM, Masahiro Yamada wrote:
>> Hi Randy,
>>
>>
>> 2018-08-24 3:13 GMT+09:00 Randy Dunlap <rdunlap@infradead.org>:
>>> From: Randy Dunlap <rdunlap@infradead.org>
>>>
>>> When $DEPMOD is not found, only print a warning instead of exiting
>>> with an error message and error status.
>>
>>
>> Could you add the motivation of this change
>> (as Nikolaus reported) ?
>>
>> Without the reason recorded in git-log,
>> somebody may wonder why this commit is useful.
>>
>
> Added for v4.

Thanks.




>> BTW, if System.map is missing, depmod is silently skipped.
>>
>>
>> I think if System.map is missing, a user is doing something wrong,
>> but you could do like this:
>>
>> $ make mrproper
>>    [snip]
>> $ make defconfig
>>    [snip]
>> $ make modules
>>    [snip]
>> $ make modules_install
>>   INSTALL drivers/thermal/x86_pkg_temp_thermal.ko
>>   INSTALL fs/efivarfs/efivarfs.ko
>>   INSTALL net/ipv4/netfilter/ipt_MASQUERADE.ko
>>   INSTALL net/ipv4/netfilter/iptable_nat.ko
>>   INSTALL net/ipv4/netfilter/nf_log_arp.ko
>>   INSTALL net/ipv4/netfilter/nf_log_ipv4.ko
>>   INSTALL net/ipv4/netfilter/nf_nat_ipv4.ko
>>   INSTALL net/ipv6/netfilter/nf_log_ipv6.ko
>>   INSTALL net/netfilter/nf_log_common.ko
>>   INSTALL net/netfilter/nf_nat.ko
>>   INSTALL net/netfilter/nf_nat_ftp.ko
>>   INSTALL net/netfilter/nf_nat_irc.ko
>>   INSTALL net/netfilter/nf_nat_sip.ko
>>   INSTALL net/netfilter/xt_LOG.ko
>>   INSTALL net/netfilter/xt_addrtype.ko
>>   INSTALL net/netfilter/xt_mark.ko
>>   INSTALL net/netfilter/xt_nat.ko
>>   DEPMOD  4.18.0+
>>
>>
>> The log looks like all the process went well,
>> but depmod is actually skipped because System.map is
>> generated by "make vmlinux"
>>
>>
>> What do you think we should do about this case?
>>
>> Skip depmod silently?
>> Make it fail?
>> Print noisy warning like missing depmod case?
>
> Since this shouldn't be happening, I prefer the noisy warning message
> like the missing depmod case.
>
> Do you want a separate patch for that?


Yes.  Could you send a patch?
diff mbox series

Patch

--- lnx-418.orig/scripts/depmod.sh
+++ lnx-418/scripts/depmod.sh
@@ -15,9 +15,9 @@  if ! test -r System.map ; then
 fi
 
 if [ -z $(command -v $DEPMOD) ]; then
-	echo "'make modules_install' requires $DEPMOD. Please install it." >&2
+	echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2
 	echo "This is probably in the kmod package." >&2
-	exit 1
+	exit 0
 fi
 
 # older versions of depmod require the version string to start with three