[Cluster-devel] Fix for configure and kernel trees

Joel Becker Joel.Becker at oracle.com
Thu Sep 27 22:30:21 UTC 2007


configure: Backticks don't work in strings.  Use POSIX::uname().

The strings that use backticks to get `uname -r` don't work as expected.
Let's use POSIX::uname() directly and let perl do the work.


Index: configure
===================================================================
RCS file: /cvs/cluster/cluster/configure,v
retrieving revision 1.34
diff -u -u -r1.34 configure
--- configure	24 Sep 2007 14:43:13 -0000	1.34
+++ configure	27 Sep 2007 22:28:30 -0000
@@ -14,6 +14,7 @@
 ###############################################################################
 
 use Getopt::Long;
+use POSIX qw(uname);
 
 print "\nConfiguring Makefiles for your system...\n";
 
@@ -228,22 +229,25 @@
 if (!$prefix) {
   $prefix="/usr";
 }
+
+my @un = POSIX::uname();
 if (!$kernel_build) {
-  if (-d "/lib/modules/`uname -r`/build") {
-    $kernel_build="/lib/modules/`uname -r`/build";
+  printf("dir: \"%s\" \"%d\"\n", "/lib/modules/$un[2]/build", -d "/lib/modules/$un[2]/build");
+  if (-d "/lib/modules/$un[2]/build") {
+    $kernel_build="/lib/modules/$un[2]/build";
   } else {
     $kernel_build="/usr/src/linux";
   }
 }
 if (!$kernel_src) {
-  if (-d "/lib/modules/`uname -r`/source") {
-    $kernel_src="/lib/modules/`uname -r`/source";
+  if (-d "/lib/modules/$un[2]/source") {
+    $kernel_src="/lib/modules/$un[2]/source";
   } else {
     $kernel_src=$kernel_build;
   }
 }
 if (!$module_dir) {
-  $module_dir="/lib/modules/`uname -r`/kernel";
+  $module_dir="/lib/modules/$un[2]/kernel";
 }
 if (!$gfskincdir) {
   $gfskincdir="${pwd}/gfs-kernel/src/gfs";

-- 

Viro's Razor:
	Any race condition, no matter how unlikely, will occur just
	often enough to bite you.

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127




More information about the Cluster-devel mailing list