dropped canonicalizers for specific unix kits for windows.
authorChris Koeritz <fred@gruntose.com>
Tue, 10 Jul 2012 17:45:45 +0000 (13:45 -0400)
committerChris Koeritz <fred@gruntose.com>
Tue, 10 Jul 2012 17:45:45 +0000 (13:45 -0400)
scripts/archival/shared_snarfer.pl
scripts/core/variables.sh
scripts/files/filename_helper.pl
scripts/generator/build_variables.sh

index 2d778b4aac7d84b6ff6e24583475b13f99e5f9c0..6d157163f097f615784d0b0f4019181151c56460 100644 (file)
@@ -179,10 +179,9 @@ sub snarfer {
     push(@missing_log, $base);
   }
 
-print "snarfer function assumes msys canonicalization is appropriate--not cygwin compat.\n";
   local($outcome) = 0xff & system $tar_tool, 
-      "-rf", &msys_canonicalize($target_file), @excludes,
-      "--files-from=" . &msys_canonicalize($temp_file);
+      "-rf", &canonicalize($target_file), @excludes,
+      "--files-from=" . &canonicalize($temp_file);
   if ($outcome) {
     unlink($temp_file);
     die("failure to archive");
@@ -219,10 +218,9 @@ sub snarf_file_list {
     if ($i =~ /^\.\//) {
       $i = substr $i, 2, length($i) - 2;
     }
-print "snarf_file_list function assumes msys canonicalization is appropriate--not cygwin compat.\n";
     local($outcome) = 0xff & system $tar_tool,
 #"--directory=" . "$root",
-        @extra_flags, "-rf", &msys_canonicalize($target_file), @excludes, $i;
+        @extra_flags, "-rf", &canonicalize($target_file), @excludes, $i;
     if ($outcome) { die("failure to archive"); }
   }
   chdir("$currdir");
@@ -258,8 +256,7 @@ sub remove_from_backup {
 #print "remove_from_backup: pref=$prefix, num=$number, patt=$pattern,\n";
   local($target_file) = &snarf_name($prefix, $number);
 
-print "remove_from_backup function assumes msys canonicalization is appropriate--not cygwin compat.\n";
-  open(TARPROC, "$tar_tool --delete -f " . &msys_canonicalize($target_file)
+  open(TARPROC, "$tar_tool --delete -f " . &canonicalize($target_file)
       . " \"$pattern\" 2>$null_log |");
   <TARPROC>;
 }
@@ -371,9 +368,8 @@ sub backup_number {
   local($currdir) = cwd();
   chdir($TMP);
 
-print "backup_number function assumes msys canonicalization is appropriate--not cygwin compat.\n";
   local($outcome) = 0xff & system $tar_tool, "-cf",
-      &msys_canonicalize($target_file), &msys_canonicalize($number_file);
+      &canonicalize($target_file), &canonicalize($number_file);
   if ($outcome) { die("failure to archive"); }
 
   local($prefix_file) = "prefix.bac";
@@ -382,7 +378,7 @@ print "backup_number function assumes msys canonicalization is appropriate--not
   close(NUM_PREFIX);
 
   $outcome = 0xff & system $tar_tool, "-rf",
-      &msys_canonicalize($target_file), &msys_canonicalize($prefix_file);
+      &canonicalize($target_file), &canonicalize($prefix_file);
   if ($outcome) { die("failure to archive"); }
   unlink($prefix_file);
   chdir($currdir);
@@ -450,9 +446,8 @@ sub restore_archive {
     $filename = "../" . $filename;
   }
 
-print "restore_archive function assumes msys canonicalization is appropriate--not cygwin compat.\n";
   local($outcome) = 0xff & system $tar_tool, "-xzf",
-      &msys_canonicalize($filename);
+      &canonicalize($filename);
   if ($outcome) { die("failure to undo archive"); }
 
   local($outcome) =
index f40dfc4f81dc76486b5f320fb4b7bb030e33ac28..f3c1972a8cae23b67f9bc14cc9abfffa4d406ad9 100644 (file)
@@ -37,6 +37,22 @@ if [ -z "$NECHUNG" ]; then
   fi
   export IS_DARWIN=$(echo $OSTYPE | grep -i darwin)
   
+  ##############
+
+  # guess the current platform.
+  IS_UNIX=$(uname | grep -i linux)
+  if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i unix); fi
+  if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i darwin); fi
+  IS_DOS=$(uname | grep -i ming)
+  if [ -z "$IS_DOS" ]; then IS_DOS=$(uname | grep -i cygwin); fi
+
+  # now if we're stuck in DOS, try to determine the type of system.
+  if [ ! -z "$IS_DOS" ]; then
+    # IS_MSYS will be non-empty if this is the msys toolset.  otherwise
+    # we assume that it's cygwin.
+    IS_MSYS=$(uname | grep -i ming)
+  fi
+
   ##############
   
   # fallbacks to set crucial variables for feisty meow...
index 84c729665f1672d28eb4d12a805ddfb7a705d82b..531dfa51c6b6522c4f21f509dbcd514937b4a104 100644 (file)
@@ -18,7 +18,7 @@
 #  version of the License.  Please send any updates to "fred@gruntose.com".   #
 ###############################################################################
 
-use Env qw(OS);
+use Env qw(OS IS_MSYS);
 
 ############################################################################
 
@@ -233,34 +233,22 @@ sub unix_canonicalize {
   return &canonicalizer(@_, "/");
 }
 
-# similar to the normal unix version, but supports msys's weird paths.
-sub msys_canonicalize {
-  return &canonicalizer(@_, "/", 1);
-}
-
-# similar to the msys version, but services cygwin.
-sub cygwin_canonicalize {
-  return &canonicalizer(@_, "/", 2);
-}
-
-
 # this more general routine gets a directory separator passed in.  it then
 # replaces all the separators with that one.
-
 sub canonicalizer {
   local($directory_name) = $_[0];
   local($dirsep) = $_[1];
-  local($do_funky) = $_[2];
-#print "do funky is set to \"$do_funky\"\n";
 
 #print "old dir name is \"$directory_name\"\n";
   
   if ($OS =~ /win/i) {
 #somewhat abbreviated check; only catches windoze systems, not dos or os2.
-    if ($do_funky eq "1") {
+    # IS_MSYS is calculated by feisty meow scripts startup; it will be
+    # non-empty if this is the msys tool kit.
+    if (length($IS_MSYS) > 0) {
       # msys utilities version (http://www.mingw.org)
       $directory_name =~ s/^(.):[\\\/](.*)$/\/\1\/\2/;
-    } elsif ($do_funky eq "2") {
+    } else {
       # cygwin utilities version (http://www.cygwin.com)
       $directory_name =~ s/^(.):[\\\/](.*)$/\/cygdrive\/\1\/\2/;
     }
index a4843191480947b1e7d9eafe99a9e81322457f46..8723e454317350c115e40a1769c9d03a62ae7594 100644 (file)
@@ -72,11 +72,11 @@ export CLAM_DIR="$(cd $BUILD_SCRIPTS_DIR/../clam ; \pwd)"
 export BUILDER_DIR="$BUILDING_HIERARCHY"
 
 # guess the current platform.
-IS_UNIX=$(uname | grep -i linux)
-if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i unix); fi
-if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i darwin); fi
-IS_DOS=$(uname | grep -i ming)
-if [ -z "$IS_DOS" ]; then IS_DOS=$(uname | grep -i cygwin); fi
+#IS_UNIX=$(uname | grep -i linux)
+#if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i unix); fi
+#if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i darwin); fi
+#IS_DOS=$(uname | grep -i ming)
+#if [ -z "$IS_DOS" ]; then IS_DOS=$(uname | grep -i cygwin); fi
 
 # set some clam parameters for compilation.  if the script can't guess the
 # right configuration, then you will need to set them in the last 'else'