Blob Blame History Raw
From 850bfabe67ab2ab62f0d3f16acc941a6043ca92d Mon Sep 17 00:00:00 2001
From: Todd Zullinger <tmz@pobox.com>
Date: Wed, 15 Feb 2012 10:07:11 -0500
Subject: [PATCH/facter] Preserve timestamps when installing files

Without the preserve option, ruby's FileUtils.install method uses the
current time for all installed files.  For backup systems, package
installs, and general pedantic sysadmins, preserving timestamps makes a
small improvement in the world.

---
 install.rb |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/install.rb b/install.rb
index ab233c3..e1785a2 100755
--- a/install.rb
+++ b/install.rb
@@ -102,7 +102,7 @@ def do_libs(libs, strip = 'lib/')
     op = File.dirname(olf)
     FileUtils.makedirs(op, {:mode => 0755, :verbose => true})
     FileUtils.chmod(0755, op)
-    FileUtils.install(lf, olf, {:mode => 0644, :verbose => true})
+    FileUtils.install(lf, olf, {:mode => 0644, :preserve => true, :verbose => true})
   end
 end
 
@@ -113,7 +113,7 @@ def do_man(man, strip = 'man/')
     om = File.dirname(omf)
     FileUtils.makedirs(om, {:mode => 0755, :verbose => true})
     FileUtils.chmod(0755, om)
-    FileUtils.install(mf, omf, {:mode => 0644, :verbose => true})
+    FileUtils.install(mf, omf, {:mode => 0644, :preserve => true, :verbose => true})
     gzip = %x{which gzip}
     gzip.chomp!
     %x{#{gzip} -f #{omf}}
@@ -412,12 +412,12 @@ def install_binfile(from, op_file, target)
     installed_wrapper = false
 
     if File.exists?("#{from}.bat")
-      FileUtils.install("#{from}.bat", File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true)
+      FileUtils.install("#{from}.bat", File.join(target, "#{op_file}.bat"), :mode => 0755, :preserve => true, :verbose => true)
       installed_wrapper = true
     end
 
     if File.exists?("#{from}.cmd")
-      FileUtils.install("#{from}.cmd", File.join(target, "#{op_file}.cmd"), :mode => 0755, :verbose => true)
+      FileUtils.install("#{from}.cmd", File.join(target, "#{op_file}.cmd"), :mode => 0755, :preserve => true, :verbose => true)
       installed_wrapper = true
     end
 
@@ -431,13 +431,13 @@ set RUBY_BIN=%RUBY_BIN:\\=/%
 "%RUBY_BIN%ruby.exe" -x "%RUBY_BIN%facter" %*
 EOS
       File.open(tmp_file2, "w") { |cw| cw.puts cwv }
-      FileUtils.install(tmp_file2, File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true)
+      FileUtils.install(tmp_file2, File.join(target, "#{op_file}.bat"), :mode => 0755, :preserve => true, :verbose => true)
 
       File.unlink(tmp_file2)
       installed_wrapper = true
     end
   end
-  FileUtils.install(tmp_file, File.join(target, op_file), :mode => 0755, :verbose => true)
+  FileUtils.install(tmp_file, File.join(target, op_file), :mode => 0755, :preserve => true, :verbose => true)
   File.unlink(tmp_file)
 end
 
-- 
1.7.6