###############################################################################
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";
@missing_log = ();
# these files are considered unimportant and won't be included in the archive.
-@junk_file_list = ("*~", "*.$$$", "3rdparty", "*.aps", "*.bak", "binaries",
+@junk_file_list = ("*~", "*.$$$", "*.aps", "*.bak", "binaries",
"*.bsc", "*.cgl", "*.csm", "CVS", "Debug", "*.dll", "*.err", "*.exe",
"generated_*", "*.git", "*.glb", "inprogress", "ipch", "*.llm",
"*.log", "*.lnk",
"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++) {
# 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);
}
# 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;
chdir($root);
local($outcome) = 0;
- my @lines = qx( $find_tool "$subdir" @extra_flags "-type" "f" );
+ my @lines = qx( $find_tool "$subdir" @extra_flags "-follow" "-type" "f" );
# if ( ($! != 0) || ($? != 0) ) {
# die("failure to find files in $subdir");
# }
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);
+#hmmm: trying to dereference symbolic links and stop missing stuff.
+"-h",
+ "-rf", &canonicalize($target_file), @excludes,
+ "--files-from=" . &canonicalize($temp_file);
if ($outcome) {
unlink($temp_file);
die("failure to archive");
local($target_file) = &snarf_name($prefix, $number);
local($currdir) = cwd();
+#print "got root as: '$root'\n";
chdir("$root");
local(@files) = &glob_list($file_pattern);
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;
+
+#hmmm: trying to dereference symbolic links and stop missing stuff.
+"-h",
+ @extra_flags,
+"-rf", &canonicalize($target_file), @excludes, $i;
if ($outcome) { die("failure to archive"); }
}
chdir("$currdir");
#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>;
}
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";
print NUM_PREFIX $number_prefix;
close(NUM_PREFIX);
- $outcome = 0xff & system $tar_tool, "-rf",
- &msys_canonicalize($target_file), &msys_canonicalize($prefix_file);
+ $outcome = 0xff & system $tar_tool,
+
+#hmmm: trying to dereference symbolic links and stop missing stuff.
+"-h",
+
+"-rf",
+ &canonicalize($target_file), &canonicalize($prefix_file);
if ($outcome) { die("failure to archive"); }
unlink($prefix_file);
chdir($currdir);
$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.