X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Farchival%2Fshared_snarfer.pl;h=5d1ac7377b1090978732d32bb2ffb31627f07b1b;hb=884837a0e586db1068cafef194f94392ad049e45;hp=9edc41427297fde85a2349f197ca938c2d1e420a;hpb=7292b72668557e9dfcff71eea9729cbd8b523c94;p=feisty_meow.git diff --git a/scripts/archival/shared_snarfer.pl b/scripts/archival/shared_snarfer.pl index 9edc4142..5d1ac737 100644 --- a/scripts/archival/shared_snarfer.pl +++ b/scripts/archival/shared_snarfer.pl @@ -21,12 +21,12 @@ ############################################################################### require "filename_helper.pl"; -require "hostname.pl"; -require "importenv.pl"; require "inc_num.pl"; use Cwd; +use Sys::Hostname; use File::Which; +use Env qw(FEISTY_MEOW_SCRIPTS TMP); $null_log = "/dev/null"; @@ -44,9 +44,10 @@ $TMP =~ s/\\/\//g; # fix the temp variable for ms-winders. "octalforty.Wizardby", "*.obr", "*.opt", "packages", "*.pch", "*.pdb", "*.plg", "*.r$p", "*.rcs", "Release", "*.res", "*.RES", "*.rws", "*.sbr", "*.scc", "*.spx", "*.stackdump", + "Steam", "*.sdf", "*.suo", ".svn", "*.sym", "*.td", "*.tds", "*.tdw", "*.tlb", "*.trw", "*.tmp", "*.tr", "*.user", "*_version.h", "*_version.rc", - "*.vspscc", "waste"); + "*.vspscc", "waste", "zeitgeist"); #print "junk list=@junk_file_list\n"; @excludes = (); for (local($i) = 0; $i < scalar(@junk_file_list); $i++) { @@ -74,7 +75,8 @@ sub initialize_snarfer { # returns the current hostname, but without any domain included. sub short_hostname { - local($temphost) = &hostname(); + local($temphost) = hostname(); +#&hostname(); $temphost =~ s/([^.]*)\..*/\1/; return &lower($temphost); } @@ -83,15 +85,12 @@ sub short_hostname { # a timestamp and hostname. sub snarf_prefix { local($base) = @_; - $date_tool = "date"; - -# if ($OS =~ /win/i) { -# # just hope that this is running under msys in our build bin. -# $date_tool = "$PRODUCTION_DIR/msys/bin/date"; -# } +#hmmm: extract this shared code to new function (also in safedel) + $date_tool = "date"; local($date_part) = `$date_tool +%Y-%m-%d-%H%M`; while ($date_part =~ /[\r\n]$/) { chop $date_part; } + local($host) = &short_hostname(); while ($host =~ /[\r\n]$/) { chop $host; } $base = $base . "_" . $host . "_" . $date_part; @@ -184,10 +183,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"); @@ -210,6 +208,7 @@ sub snarf_file_list { local($target_file) = &snarf_name($prefix, $number); local($currdir) = cwd(); +#print "got root as: '$root'\n"; chdir("$root"); local(@files) = &glob_list($file_pattern); @@ -224,10 +223,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"); @@ -263,8 +261,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 |"); ; } @@ -376,9 +373,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"; @@ -387,7 +383,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); @@ -455,13 +451,12 @@ 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) = - 0xff & system "bash", "$FEISTY_MEOW_SCRIPTS/files/normal_perm.sh", "."; + 0xff & system "bash", "$FEISTY_MEOW_SCRIPTS/security/normal_perm.sh", "."; if ($outcome) { die("failure to normalize permissions"); } # remove any links that might have crept in; these can cause mischief.