Fixed 'lufsd' wrapping detection.
[lufs.git] / kernel / Linux / prepmod.in
index dbedeb5..86a836b 100755 (executable)
@@ -44,12 +44,14 @@ sub modext { my($uname_r)=@_; ($uname_r lt "2.5" ? "o" : "ko"); }
 
 # mount(8) will util-linux/lib/env.c/sanitize_env()
 # including the clearance our $PATH:
-$ENV{"PATH"}=join(":",qw(/usr/local/bin /usr/bin /bin),$ENV{"PATH"});
+$ENV{"PATH"}=join(":",qw(/usr/local/bin /usr/bin /bin),($ENV{"PATH"} || ()));
 
+my $lufsd_base='lufsd';
+do { eval '$lufsd_base=~'.$_.';' if !/^@/; } for ('@program_transform_name@');
 my $lufsd_bin;
-if ($0 eq "lufsd" || $0=~m#/lufsd$#) {
+if ($0 eq $lufsd_base || $0=~m#/\Q$lufsd_base\E$#) {
        $quiet=1;
-       $lufsd_bin='@bindir@/lufsd-bin';
+       $lufsd_bin='@bindir@/'.$lufsd_base.'-bin';
        $lufsd_bin=~s#\$\Q{exec_prefix}\E#'@exec_prefix@';#ge;
        $lufsd_bin=~s#\$\Q{prefix}\E#'@prefix@';#ge;
        }
@@ -116,6 +118,8 @@ my $modules=_readfile "/proc/modules";      # 'lufs' may be already loaded
 _pass if $modules=~/^lufs\b/m;
 _pass if !_system "/sbin/modprobe lufs 2>/dev/null";
 
+print STDERR "Preparing LUFS kernel module - this may take several minutes...\n";      # if !$quiet;
+
 my $proc_version=_readfile "/proc/version";
 my $uname_r=($proc_version=~/^Linux version (\S+)/)[0] || _readfile "uname -r|";
 chomp $uname_r;