diff options
author | Steven Rostedt <srostedt@redhat.com> | 2010-01-06 23:49:44 (GMT) |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-02-02 18:01:01 (GMT) |
commit | 88f66ea98d7ae6a8b6a34e38b1b4fa51abc1c9ca (patch) | |
tree | f2b9edf54bb3d2eec25b4166111dcf98fde2ae3a | |
parent | 13d7e9385644d376a0816ad663ba3dfc45359f2f (diff) | |
download | linux-88f66ea98d7ae6a8b6a34e38b1b4fa51abc1c9ca.tar.xz |
kconfig: Look in both /bin and /sbin for lsmod in streamline_config.pl
Distributions now have lsmod in /bin instead of /sbin. But to handle
both cases, we look for it in /sbin /bin /usr/bin and /usr/sbin.
If lsmod is not found in any of those paths, it defaults to use
just lsmod and hopes that it lies in the path of the user.
Tested-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | scripts/kconfig/streamline_config.pl | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl index 9e66fa8..d7f7db7 100644 --- a/scripts/kconfig/streamline_config.pl +++ b/scripts/kconfig/streamline_config.pl @@ -264,7 +264,20 @@ foreach my $makefile (@makefiles) { my %modules; # see what modules are loaded on this system -open(LIN,"/sbin/lsmod|") || die "Cant lsmod"; +my $lsmod; + +foreach $dir ( ("/sbin", "/bin", "/usr/sbin", "/usr/bin") ) { + if ( -x "$dir/lsmod" ) { + $lsmod = "$dir/lsmod"; + last; + } +} +if (!defined($lsmod)) { + # try just the path + $lsmod = "lsmod"; +} + +open(LIN,"$lsmod|") || die "Can not call lsmod with $lsmod"; while (<LIN>) { next if (/^Module/); # Skip the first line. if (/^(\S+)/) { |