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