Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread Alexander Kapshuk
On Thu, Aug 23, 2018 at 05:38:27PM +0900, Masahiro Yamada wrote:
> Hi Randy,
> 
> 
> 2018-08-23 8:33 GMT+09:00 Randy Dunlap :
> > On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
> >> This patch requires that /sbin/depmod is installed and installable on
> >> the build host.
> >>
> >> But not all build hosts for cross compiling Linux are Linux systems
> >> and are able to provide a working port of depmod, especially at the
> >> file patch /sbin/depmod.
> >>
> >> I use, for example, a Darwin system to cross compile Linux and I run
> >> depmod -a on the embedded system once, after installing a new Linux
> >> kernel there.
> >>
> >> I have no problem with seeing a warning, but aborting the build process
> >> is IMHO a bad idea since the previous behaviour didn't harm many people
> >> as far as I see. Probably 99% of people compiling Linux kernels do that
> >> on Linux and 99% of those have depmod installed for optimal operation of
> >> their build host. So IMHO printing the warning is good enough.
> >
> > Thanks for the report and sorry about the problem.
> >
> > I'm OK with changing the error to a warning.
> > Does the patch below work for you?
> >
> > thanks.
> > ---
> > From: Randy Dunlap 
> >
> > When $DEPMOD is not found, only print a warning instead of exiting
> > with an error message and error status.
> >
> > E.g.:
> > Warning: 'make modules_install' requires /sbin/depmod. Please install it.
> > This is probably in the kmod package.
> > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> > 127
> > make: *** [Makefile:146: sub-make] Error 2
> >
> > Signed-off-by: Randy Dunlap 
> > Reported-by: H. Nikolaus Schaller 
> > ---
> >  scripts/depmod.sh |3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > --- lnx-418.orig/scripts/depmod.sh
> > +++ lnx-418/scripts/depmod.sh
> > @@ -15,9 +15,8 @@ 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' is missing here.
> 
> This shell script would fail, then abort the build process.
> 
> 
> > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> > 127
> > make: *** [Makefile:146: sub-make] Error 2
> 
> 
> 
> 
> 
> 
> -- 
> Best Regards
> Masahiro Yamada

May I suggest the following implementation:

diff -U0 scripts/depmod.sh ~/tmp/depmod.sh 
--- scripts/depmod.sh   2018-08-10 17:14:19.036349222 +0300
+++ /home/sasha/tmp/depmod.sh   2018-08-23 18:07:23.486048827 +0300

# 'if' block may be omitted here. If System.map isn't there and isn't
readable, 'exit 0'.
@@ -13,3 +13 @@
-if ! test -r System.map ; then
-   exit 0
-fi
+test -r System.map || exit 0

# Have the 'if' test statement syntax conform with the remainder of the
script, which uses 'if test' rather then the 2nd form of the test utility,
i.e. '[ expr ]'.
# In my view, the use of the negation operator, '!', makes the intent
clearer, and reads, 'if $DEPMOD not found', rather then 'if the length
of $DEPMOD is zero'.
@@ -17 +15 @@
-if [ -z $(command -v $DEPMOD) ]; then
+if test ! $(command -v $DEPMOD); then
@@ -20 +18 @@
-   exit 1
+   exit 0

[Sample run]
# Testing for a non-existant utility:
% if test ! $(command -v cmd); then echo cmd not found; fi
% cmd not found

# Testing for a existing utility:
% if test ! $(command -v ed); then echo ed not found; fi

% if test $(command -v ed); then echo ed found; fi
% ed found


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread Alexander Kapshuk
On Thu, Aug 23, 2018 at 05:38:27PM +0900, Masahiro Yamada wrote:
> Hi Randy,
> 
> 
> 2018-08-23 8:33 GMT+09:00 Randy Dunlap :
> > On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
> >> This patch requires that /sbin/depmod is installed and installable on
> >> the build host.
> >>
> >> But not all build hosts for cross compiling Linux are Linux systems
> >> and are able to provide a working port of depmod, especially at the
> >> file patch /sbin/depmod.
> >>
> >> I use, for example, a Darwin system to cross compile Linux and I run
> >> depmod -a on the embedded system once, after installing a new Linux
> >> kernel there.
> >>
> >> I have no problem with seeing a warning, but aborting the build process
> >> is IMHO a bad idea since the previous behaviour didn't harm many people
> >> as far as I see. Probably 99% of people compiling Linux kernels do that
> >> on Linux and 99% of those have depmod installed for optimal operation of
> >> their build host. So IMHO printing the warning is good enough.
> >
> > Thanks for the report and sorry about the problem.
> >
> > I'm OK with changing the error to a warning.
> > Does the patch below work for you?
> >
> > thanks.
> > ---
> > From: Randy Dunlap 
> >
> > When $DEPMOD is not found, only print a warning instead of exiting
> > with an error message and error status.
> >
> > E.g.:
> > Warning: 'make modules_install' requires /sbin/depmod. Please install it.
> > This is probably in the kmod package.
> > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> > 127
> > make: *** [Makefile:146: sub-make] Error 2
> >
> > Signed-off-by: Randy Dunlap 
> > Reported-by: H. Nikolaus Schaller 
> > ---
> >  scripts/depmod.sh |3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > --- lnx-418.orig/scripts/depmod.sh
> > +++ lnx-418/scripts/depmod.sh
> > @@ -15,9 +15,8 @@ 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' is missing here.
> 
> This shell script would fail, then abort the build process.
> 
> 
> > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> > 127
> > make: *** [Makefile:146: sub-make] Error 2
> 
> 
> 
> 
> 
> 
> -- 
> Best Regards
> Masahiro Yamada

May I suggest the following implementation:

diff -U0 scripts/depmod.sh ~/tmp/depmod.sh 
--- scripts/depmod.sh   2018-08-10 17:14:19.036349222 +0300
+++ /home/sasha/tmp/depmod.sh   2018-08-23 18:07:23.486048827 +0300

# 'if' block may be omitted here. If System.map isn't there and isn't
readable, 'exit 0'.
@@ -13,3 +13 @@
-if ! test -r System.map ; then
-   exit 0
-fi
+test -r System.map || exit 0

# Have the 'if' test statement syntax conform with the remainder of the
script, which uses 'if test' rather then the 2nd form of the test utility,
i.e. '[ expr ]'.
# In my view, the use of the negation operator, '!', makes the intent
clearer, and reads, 'if $DEPMOD not found', rather then 'if the length
of $DEPMOD is zero'.
@@ -17 +15 @@
-if [ -z $(command -v $DEPMOD) ]; then
+if test ! $(command -v $DEPMOD); then
@@ -20 +18 @@
-   exit 1
+   exit 0

[Sample run]
# Testing for a non-existant utility:
% if test ! $(command -v cmd); then echo cmd not found; fi
% cmd not found

# Testing for a existing utility:
% if test ! $(command -v ed); then echo ed not found; fi

% if test $(command -v ed); then echo ed found; fi
% ed found


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread Masahiro Yamada
Hi Randy,


2018-08-23 8:33 GMT+09:00 Randy Dunlap :
> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
>> This patch requires that /sbin/depmod is installed and installable on
>> the build host.
>>
>> But not all build hosts for cross compiling Linux are Linux systems
>> and are able to provide a working port of depmod, especially at the
>> file patch /sbin/depmod.
>>
>> I use, for example, a Darwin system to cross compile Linux and I run
>> depmod -a on the embedded system once, after installing a new Linux
>> kernel there.
>>
>> I have no problem with seeing a warning, but aborting the build process
>> is IMHO a bad idea since the previous behaviour didn't harm many people
>> as far as I see. Probably 99% of people compiling Linux kernels do that
>> on Linux and 99% of those have depmod installed for optimal operation of
>> their build host. So IMHO printing the warning is good enough.
>
> Thanks for the report and sorry about the problem.
>
> I'm OK with changing the error to a warning.
> Does the patch below work for you?
>
> thanks.
> ---
> From: Randy Dunlap 
>
> When $DEPMOD is not found, only print a warning instead of exiting
> with an error message and error status.
>
> E.g.:
> Warning: 'make modules_install' requires /sbin/depmod. Please install it.
> This is probably in the kmod package.
> ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> 127
> make: *** [Makefile:146: sub-make] Error 2
>
> Signed-off-by: Randy Dunlap 
> Reported-by: H. Nikolaus Schaller 
> ---
>  scripts/depmod.sh |3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> --- lnx-418.orig/scripts/depmod.sh
> +++ lnx-418/scripts/depmod.sh
> @@ -15,9 +15,8 @@ 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' is missing here.

This shell script would fail, then abort the build process.


> ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> 127
> make: *** [Makefile:146: sub-make] Error 2






-- 
Best Regards
Masahiro Yamada


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread Masahiro Yamada
Hi Randy,


2018-08-23 8:33 GMT+09:00 Randy Dunlap :
> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
>> This patch requires that /sbin/depmod is installed and installable on
>> the build host.
>>
>> But not all build hosts for cross compiling Linux are Linux systems
>> and are able to provide a working port of depmod, especially at the
>> file patch /sbin/depmod.
>>
>> I use, for example, a Darwin system to cross compile Linux and I run
>> depmod -a on the embedded system once, after installing a new Linux
>> kernel there.
>>
>> I have no problem with seeing a warning, but aborting the build process
>> is IMHO a bad idea since the previous behaviour didn't harm many people
>> as far as I see. Probably 99% of people compiling Linux kernels do that
>> on Linux and 99% of those have depmod installed for optimal operation of
>> their build host. So IMHO printing the warning is good enough.
>
> Thanks for the report and sorry about the problem.
>
> I'm OK with changing the error to a warning.
> Does the patch below work for you?
>
> thanks.
> ---
> From: Randy Dunlap 
>
> When $DEPMOD is not found, only print a warning instead of exiting
> with an error message and error status.
>
> E.g.:
> Warning: 'make modules_install' requires /sbin/depmod. Please install it.
> This is probably in the kmod package.
> ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> 127
> make: *** [Makefile:146: sub-make] Error 2
>
> Signed-off-by: Randy Dunlap 
> Reported-by: H. Nikolaus Schaller 
> ---
>  scripts/depmod.sh |3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> --- lnx-418.orig/scripts/depmod.sh
> +++ lnx-418/scripts/depmod.sh
> @@ -15,9 +15,8 @@ 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' is missing here.

This shell script would fail, then abort the build process.


> ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
> make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 
> 127
> make: *** [Makefile:146: sub-make] Error 2






-- 
Best Regards
Masahiro Yamada


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread Masahiro Yamada
2018-08-23 10:07 GMT+09:00 Randy Dunlap :
> On 08/22/2018 05:39 PM, Dmitry Torokhov wrote:
>> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>>>
>>> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
 This patch requires that /sbin/depmod is installed and installable on
 the build host.

 But not all build hosts for cross compiling Linux are Linux systems
 and are able to provide a working port of depmod, especially at the
 file patch /sbin/depmod.

 I use, for example, a Darwin system to cross compile Linux and I run
 depmod -a on the embedded system once, after installing a new Linux
 kernel there.

 I have no problem with seeing a warning, but aborting the build process
 is IMHO a bad idea since the previous behaviour didn't harm many people
 as far as I see. Probably 99% of people compiling Linux kernels do that
 on Linux and 99% of those have depmod installed for optimal operation of
 their build host. So IMHO printing the warning is good enough.
>>>
>>> Thanks for the report and sorry about the problem.
>>>
>>> I'm OK with changing the error to a warning.
>>> Does the patch below work for you?
>>
>> Why would one want a warning on a host that never runs "make 
>> modules_install"?
>> Can this check be only done when we actually try to install modules?
>
>
> So Nikolaus:  how do you provoke this problem that you are reporting?
> It's not just a theoretical problem, is it?
>
> The way that I read the top-level Makefile, this check for $DEPMOD only 
> happens
> when you run "make modules_install".
>
> --
> ~Randy


Unless I am misunderstanding, he wants to use
"make modules_install" just for copying modules.

Then, he will run depmod on the target system later.




-- 
Best Regards
Masahiro Yamada


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread Masahiro Yamada
2018-08-23 10:07 GMT+09:00 Randy Dunlap :
> On 08/22/2018 05:39 PM, Dmitry Torokhov wrote:
>> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>>>
>>> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
 This patch requires that /sbin/depmod is installed and installable on
 the build host.

 But not all build hosts for cross compiling Linux are Linux systems
 and are able to provide a working port of depmod, especially at the
 file patch /sbin/depmod.

 I use, for example, a Darwin system to cross compile Linux and I run
 depmod -a on the embedded system once, after installing a new Linux
 kernel there.

 I have no problem with seeing a warning, but aborting the build process
 is IMHO a bad idea since the previous behaviour didn't harm many people
 as far as I see. Probably 99% of people compiling Linux kernels do that
 on Linux and 99% of those have depmod installed for optimal operation of
 their build host. So IMHO printing the warning is good enough.
>>>
>>> Thanks for the report and sorry about the problem.
>>>
>>> I'm OK with changing the error to a warning.
>>> Does the patch below work for you?
>>
>> Why would one want a warning on a host that never runs "make 
>> modules_install"?
>> Can this check be only done when we actually try to install modules?
>
>
> So Nikolaus:  how do you provoke this problem that you are reporting?
> It's not just a theoretical problem, is it?
>
> The way that I read the top-level Makefile, this check for $DEPMOD only 
> happens
> when you run "make modules_install".
>
> --
> ~Randy


Unless I am misunderstanding, he wants to use
"make modules_install" just for copying modules.

Then, he will run depmod on the target system later.




-- 
Best Regards
Masahiro Yamada


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread H. Nikolaus Schaller
Hi Randy,

> Am 23.08.2018 um 03:07 schrieb Randy Dunlap :
> 
> On 08/22/2018 05:39 PM, Dmitry Torokhov wrote:
>> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>>> 
>>> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
 This patch requires that /sbin/depmod is installed and installable on
 the build host.
 
 But not all build hosts for cross compiling Linux are Linux systems
 and are able to provide a working port of depmod, especially at the
 file patch /sbin/depmod.
 
 I use, for example, a Darwin system to cross compile Linux and I run
 depmod -a on the embedded system once, after installing a new Linux
 kernel there.
 
 I have no problem with seeing a warning, but aborting the build process
 is IMHO a bad idea since the previous behaviour didn't harm many people
 as far as I see. Probably 99% of people compiling Linux kernels do that
 on Linux and 99% of those have depmod installed for optimal operation of
 their build host. So IMHO printing the warning is good enough.
>>> 
>>> Thanks for the report and sorry about the problem.
>>> 
>>> I'm OK with changing the error to a warning.
>>> Does the patch below work for you?
>> 
>> Why would one want a warning on a host that never runs "make 
>> modules_install"?
>> Can this check be only done when we actually try to install modules?
> 
> 
> So Nikolaus:  how do you provoke this problem that you are reporting?
> It's not just a theoretical problem, is it?
> 
> The way that I read the top-level Makefile, this check for $DEPMOD only 
> happens
> when you run "make modules_install".

Yes,
we run on the build host

 make letux_defconfig dtbs uImage INSTALL_MOD_PATH=/tmp/kernel-modules-$$ 
modules modules_install

and then scp the files from  /tmp/kernel-modules-$$ to the embedded device.
Or pack into some installable file setfor download on our server.

So we run modules_install on the build host as well to copy the modules into 
the correct hierarchy
and give it the correct lib/modules/ prefix.

I would have to duplicate this what module_install does in some wrapper script.

BTW: it is a standard technique described by others:

http://labs.isee.biz/index.php/The_Linux_kernel#IGEP_Boards_based_on_Texas_Instruments_.C2.A0Processors

 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install 
INSTALL_MOD_PATH=/media/user/rootfs

http://en.gnublin.org/index.php/Kernel_compile_%2B_Module_installation#Compile_the_modules

 mkdir kernel_archiv
 make modules_install INSTALL_MOD_PATH=kernel_archiv
 cp arch/arm/boot/zImage kernel_archiv
 cd kernel_archiv
 tar cfvz kernel.tar.gz zImage lib/

All these descriptions will now break if run on a host without /sbin/depmod 
installed.

BR and thanks,
Nikolaus


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-23 Thread H. Nikolaus Schaller
Hi Randy,

> Am 23.08.2018 um 03:07 schrieb Randy Dunlap :
> 
> On 08/22/2018 05:39 PM, Dmitry Torokhov wrote:
>> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>>> 
>>> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
 This patch requires that /sbin/depmod is installed and installable on
 the build host.
 
 But not all build hosts for cross compiling Linux are Linux systems
 and are able to provide a working port of depmod, especially at the
 file patch /sbin/depmod.
 
 I use, for example, a Darwin system to cross compile Linux and I run
 depmod -a on the embedded system once, after installing a new Linux
 kernel there.
 
 I have no problem with seeing a warning, but aborting the build process
 is IMHO a bad idea since the previous behaviour didn't harm many people
 as far as I see. Probably 99% of people compiling Linux kernels do that
 on Linux and 99% of those have depmod installed for optimal operation of
 their build host. So IMHO printing the warning is good enough.
>>> 
>>> Thanks for the report and sorry about the problem.
>>> 
>>> I'm OK with changing the error to a warning.
>>> Does the patch below work for you?
>> 
>> Why would one want a warning on a host that never runs "make 
>> modules_install"?
>> Can this check be only done when we actually try to install modules?
> 
> 
> So Nikolaus:  how do you provoke this problem that you are reporting?
> It's not just a theoretical problem, is it?
> 
> The way that I read the top-level Makefile, this check for $DEPMOD only 
> happens
> when you run "make modules_install".

Yes,
we run on the build host

 make letux_defconfig dtbs uImage INSTALL_MOD_PATH=/tmp/kernel-modules-$$ 
modules modules_install

and then scp the files from  /tmp/kernel-modules-$$ to the embedded device.
Or pack into some installable file setfor download on our server.

So we run modules_install on the build host as well to copy the modules into 
the correct hierarchy
and give it the correct lib/modules/ prefix.

I would have to duplicate this what module_install does in some wrapper script.

BTW: it is a standard technique described by others:

http://labs.isee.biz/index.php/The_Linux_kernel#IGEP_Boards_based_on_Texas_Instruments_.C2.A0Processors

 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install 
INSTALL_MOD_PATH=/media/user/rootfs

http://en.gnublin.org/index.php/Kernel_compile_%2B_Module_installation#Compile_the_modules

 mkdir kernel_archiv
 make modules_install INSTALL_MOD_PATH=kernel_archiv
 cp arch/arm/boot/zImage kernel_archiv
 cd kernel_archiv
 tar cfvz kernel.tar.gz zImage lib/

All these descriptions will now break if run on a host without /sbin/depmod 
installed.

BR and thanks,
Nikolaus


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Randy Dunlap
On 08/22/2018 05:39 PM, Dmitry Torokhov wrote:
> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>>
>> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
>>> This patch requires that /sbin/depmod is installed and installable on
>>> the build host.
>>>
>>> But not all build hosts for cross compiling Linux are Linux systems
>>> and are able to provide a working port of depmod, especially at the
>>> file patch /sbin/depmod.
>>>
>>> I use, for example, a Darwin system to cross compile Linux and I run
>>> depmod -a on the embedded system once, after installing a new Linux
>>> kernel there.
>>>
>>> I have no problem with seeing a warning, but aborting the build process
>>> is IMHO a bad idea since the previous behaviour didn't harm many people
>>> as far as I see. Probably 99% of people compiling Linux kernels do that
>>> on Linux and 99% of those have depmod installed for optimal operation of
>>> their build host. So IMHO printing the warning is good enough.
>>
>> Thanks for the report and sorry about the problem.
>>
>> I'm OK with changing the error to a warning.
>> Does the patch below work for you?
> 
> Why would one want a warning on a host that never runs "make modules_install"?
> Can this check be only done when we actually try to install modules?


So Nikolaus:  how do you provoke this problem that you are reporting?
It's not just a theoretical problem, is it?

The way that I read the top-level Makefile, this check for $DEPMOD only happens
when you run "make modules_install".

-- 
~Randy


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Randy Dunlap
On 08/22/2018 05:39 PM, Dmitry Torokhov wrote:
> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>>
>> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
>>> This patch requires that /sbin/depmod is installed and installable on
>>> the build host.
>>>
>>> But not all build hosts for cross compiling Linux are Linux systems
>>> and are able to provide a working port of depmod, especially at the
>>> file patch /sbin/depmod.
>>>
>>> I use, for example, a Darwin system to cross compile Linux and I run
>>> depmod -a on the embedded system once, after installing a new Linux
>>> kernel there.
>>>
>>> I have no problem with seeing a warning, but aborting the build process
>>> is IMHO a bad idea since the previous behaviour didn't harm many people
>>> as far as I see. Probably 99% of people compiling Linux kernels do that
>>> on Linux and 99% of those have depmod installed for optimal operation of
>>> their build host. So IMHO printing the warning is good enough.
>>
>> Thanks for the report and sorry about the problem.
>>
>> I'm OK with changing the error to a warning.
>> Does the patch below work for you?
> 
> Why would one want a warning on a host that never runs "make modules_install"?
> Can this check be only done when we actually try to install modules?


So Nikolaus:  how do you provoke this problem that you are reporting?
It's not just a theoretical problem, is it?

The way that I read the top-level Makefile, this check for $DEPMOD only happens
when you run "make modules_install".

-- 
~Randy


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Dmitry Torokhov
On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>
> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
> > This patch requires that /sbin/depmod is installed and installable on
> > the build host.
> >
> > But not all build hosts for cross compiling Linux are Linux systems
> > and are able to provide a working port of depmod, especially at the
> > file patch /sbin/depmod.
> >
> > I use, for example, a Darwin system to cross compile Linux and I run
> > depmod -a on the embedded system once, after installing a new Linux
> > kernel there.
> >
> > I have no problem with seeing a warning, but aborting the build process
> > is IMHO a bad idea since the previous behaviour didn't harm many people
> > as far as I see. Probably 99% of people compiling Linux kernels do that
> > on Linux and 99% of those have depmod installed for optimal operation of
> > their build host. So IMHO printing the warning is good enough.
>
> Thanks for the report and sorry about the problem.
>
> I'm OK with changing the error to a warning.
> Does the patch below work for you?

Why would one want a warning on a host that never runs "make modules_install"?
Can this check be only done when we actually try to install modules?

Thanks.

-- 
Dmitry


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Dmitry Torokhov
On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap  wrote:
>
> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
> > This patch requires that /sbin/depmod is installed and installable on
> > the build host.
> >
> > But not all build hosts for cross compiling Linux are Linux systems
> > and are able to provide a working port of depmod, especially at the
> > file patch /sbin/depmod.
> >
> > I use, for example, a Darwin system to cross compile Linux and I run
> > depmod -a on the embedded system once, after installing a new Linux
> > kernel there.
> >
> > I have no problem with seeing a warning, but aborting the build process
> > is IMHO a bad idea since the previous behaviour didn't harm many people
> > as far as I see. Probably 99% of people compiling Linux kernels do that
> > on Linux and 99% of those have depmod installed for optimal operation of
> > their build host. So IMHO printing the warning is good enough.
>
> Thanks for the report and sorry about the problem.
>
> I'm OK with changing the error to a warning.
> Does the patch below work for you?

Why would one want a warning on a host that never runs "make modules_install"?
Can this check be only done when we actually try to install modules?

Thanks.

-- 
Dmitry


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Randy Dunlap
On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
> This patch requires that /sbin/depmod is installed and installable on
> the build host.
> 
> But not all build hosts for cross compiling Linux are Linux systems
> and are able to provide a working port of depmod, especially at the
> file patch /sbin/depmod.
> 
> I use, for example, a Darwin system to cross compile Linux and I run
> depmod -a on the embedded system once, after installing a new Linux
> kernel there.
> 
> I have no problem with seeing a warning, but aborting the build process
> is IMHO a bad idea since the previous behaviour didn't harm many people
> as far as I see. Probably 99% of people compiling Linux kernels do that
> on Linux and 99% of those have depmod installed for optimal operation of
> their build host. So IMHO printing the warning is good enough.

Thanks for the report and sorry about the problem.

I'm OK with changing the error to a warning.
Does the patch below work for you?

thanks.
---
From: Randy Dunlap 

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

E.g.:
Warning: 'make modules_install' requires /sbin/depmod. Please install it.
This is probably in the kmod package.
../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 127
make: *** [Makefile:146: sub-make] Error 2

Signed-off-by: Randy Dunlap 
Reported-by: H. Nikolaus Schaller 
---
 scripts/depmod.sh |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- lnx-418.orig/scripts/depmod.sh
+++ lnx-418/scripts/depmod.sh
@@ -15,9 +15,8 @@ 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
 fi
 
 # older versions of depmod require the version string to start with three




Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Randy Dunlap
On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
> This patch requires that /sbin/depmod is installed and installable on
> the build host.
> 
> But not all build hosts for cross compiling Linux are Linux systems
> and are able to provide a working port of depmod, especially at the
> file patch /sbin/depmod.
> 
> I use, for example, a Darwin system to cross compile Linux and I run
> depmod -a on the embedded system once, after installing a new Linux
> kernel there.
> 
> I have no problem with seeing a warning, but aborting the build process
> is IMHO a bad idea since the previous behaviour didn't harm many people
> as far as I see. Probably 99% of people compiling Linux kernels do that
> on Linux and 99% of those have depmod installed for optimal operation of
> their build host. So IMHO printing the warning is good enough.

Thanks for the report and sorry about the problem.

I'm OK with changing the error to a warning.
Does the patch below work for you?

thanks.
---
From: Randy Dunlap 

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

E.g.:
Warning: 'make modules_install' requires /sbin/depmod. Please install it.
This is probably in the kmod package.
../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory
make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 127
make: *** [Makefile:146: sub-make] Error 2

Signed-off-by: Randy Dunlap 
Reported-by: H. Nikolaus Schaller 
---
 scripts/depmod.sh |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- lnx-418.orig/scripts/depmod.sh
+++ lnx-418/scripts/depmod.sh
@@ -15,9 +15,8 @@ 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
 fi
 
 # older versions of depmod require the version string to start with three




Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Greg KH
On Wed, Aug 22, 2018 at 08:53:46PM +0200, H. Nikolaus Schaller wrote:
> This patch requires that /sbin/depmod is installed and installable on
> the build host.
> 
> But not all build hosts for cross compiling Linux are Linux systems
> and are able to provide a working port of depmod, especially at the
> file patch /sbin/depmod.
> 
> I use, for example, a Darwin system to cross compile Linux and I run
> depmod -a on the embedded system once, after installing a new Linux
> kernel there.
> 
> I have no problem with seeing a warning, but aborting the build process
> is IMHO a bad idea since the previous behaviour didn't harm many people
> as far as I see. Probably 99% of people compiling Linux kernels do that
> on Linux and 99% of those have depmod installed for optimal operation of
> their build host. So IMHO printing the warning is good enough.

It needs to be reverted in Linus's tree first before I can revert it in
the stable tree(s).

thanks,

greg k-h


Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread Greg KH
On Wed, Aug 22, 2018 at 08:53:46PM +0200, H. Nikolaus Schaller wrote:
> This patch requires that /sbin/depmod is installed and installable on
> the build host.
> 
> But not all build hosts for cross compiling Linux are Linux systems
> and are able to provide a working port of depmod, especially at the
> file patch /sbin/depmod.
> 
> I use, for example, a Darwin system to cross compile Linux and I run
> depmod -a on the embedded system once, after installing a new Linux
> kernel there.
> 
> I have no problem with seeing a warning, but aborting the build process
> is IMHO a bad idea since the previous behaviour didn't harm many people
> as far as I see. Probably 99% of people compiling Linux kernels do that
> on Linux and 99% of those have depmod installed for optimal operation of
> their build host. So IMHO printing the warning is good enough.

It needs to be reverted in Linus's tree first before I can revert it in
the stable tree(s).

thanks,

greg k-h


please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread H. Nikolaus Schaller
This patch requires that /sbin/depmod is installed and installable on
the build host.

But not all build hosts for cross compiling Linux are Linux systems
and are able to provide a working port of depmod, especially at the
file patch /sbin/depmod.

I use, for example, a Darwin system to cross compile Linux and I run
depmod -a on the embedded system once, after installing a new Linux
kernel there.

I have no problem with seeing a warning, but aborting the build process
is IMHO a bad idea since the previous behaviour didn't harm many people
as far as I see. Probably 99% of people compiling Linux kernels do that
on Linux and 99% of those have depmod installed for optimal operation of
their build host. So IMHO printing the warning is good enough.

BR and thanks,
Nikolaus Schaller


please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.

2018-08-22 Thread H. Nikolaus Schaller
This patch requires that /sbin/depmod is installed and installable on
the build host.

But not all build hosts for cross compiling Linux are Linux systems
and are able to provide a working port of depmod, especially at the
file patch /sbin/depmod.

I use, for example, a Darwin system to cross compile Linux and I run
depmod -a on the embedded system once, after installing a new Linux
kernel there.

I have no problem with seeing a warning, but aborting the build process
is IMHO a bad idea since the previous behaviour didn't harm many people
as far as I see. Probably 99% of people compiling Linux kernels do that
on Linux and 99% of those have depmod installed for optimal operation of
their build host. So IMHO printing the warning is good enough.

BR and thanks,
Nikolaus Schaller