]> gitweb @ CieloNegro.org - sugar.git/blobdiff - tools/install.pl
Auto commit by The Sugar System.
[sugar.git] / tools / install.pl
diff --git a/tools/install.pl b/tools/install.pl
new file mode 100644 (file)
index 0000000..a515f4e
--- /dev/null
@@ -0,0 +1,31 @@
+use strict;
+use warnings;
+use Smart::Comments;
+use lib 'tools';
+require 'utils.pl';
+use File::stat;
+use File::Spec;
+use File::Compare;
+use File::Copy;
+
+sub main {
+    while (defined(my $rel = <>)) {
+        chomp $rel;
+        my $saved = rel2saved($rel);
+        next if !-e $saved;
+
+        my $abs = File::Spec->rel2abs($rel, $ENV{HOME});
+
+        my $current_st = stat($abs);
+        my $saved_st   = stat($saved);
+
+        if ($current_st->mtime < $saved_st->mtime &&
+              compare($abs, $saved) != 0) {
+            print "Copying $saved to $abs...\n";
+            unlink $abs or die $!;
+            copy($saved, $abs) or die $!;
+        }
+    }
+}
+
+main();