From 36c5405d5e3020b1eaacda41ba1f48160a03681b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 25 Aug 2013 07:38:45 +0000 Subject: Rakefile: rsync task uploads gzipped files, too This allows gzip_static in nginx to serve files more efficiently. While we're at it, replace some system() calls with sh() which fails appropriately. --- .gitignore | 1 + .rsync_doc | 3 --- Rakefile | 23 ++++++++++++++++------- 3 files changed, 17 insertions(+), 10 deletions(-) delete mode 100644 .rsync_doc diff --git a/.gitignore b/.gitignore index bfa9c6d..d40e467 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ *.log /man *.gem +*.gz diff --git a/.rsync_doc b/.rsync_doc deleted file mode 100644 index 9bdd99c..0000000 --- a/.rsync_doc +++ /dev/null @@ -1,3 +0,0 @@ -INSTALL -NEWS -README diff --git a/Rakefile b/Rakefile index 105119c..530fd9d 100644 --- a/Rakefile +++ b/Rakefile @@ -59,9 +59,20 @@ h = Hoe.spec('dtas') do |p| end task :rsync_docs do - dest = "80x24.org:/srv/dtas/" - system("rsync --chmod=Fugo=r --files-from=.rsync_doc -av ./ #{dest}") - system("rsync --chmod=Fugo=r -av ./Documentation/*.txt #{dest}") + dest = ENV["RSYNC_DEST"] || "80x24.org:/srv/dtas/" + top = %w(INSTALL NEWS README COPYING) + files = [] + Dir['Documentation/*.txt'].to_a.concat(top).each do |txt| + gz = "#{txt}.gz" + tmp = "#{gz}.#$$" + sh("gzip -9 < #{txt} > #{tmp}") + st = File.stat(txt) + File.utime(st.atime, st.mtime, tmp) # make nginx gzip_static happy + File.rename(tmp, gz) + files << txt + files << gz + end + sh("rsync --chmod=Fugo=r -av #{files.join(' ')} #{dest}") end task :coverage do @@ -81,8 +92,7 @@ task tarball: "pkg/#{base}" do Dir.chdir("pkg") do tgz = "#{base}.tar.gz" tmp = "#{tmp}.#$$" - cmd = "tar cf - #{base} | gzip -9 > #{tmp}" - system(cmd) or abort "#{cmd}: #$?" + sh "tar cf - #{base} | gzip -9 > #{tmp}" File.rename(tmp, tgz) end end @@ -90,8 +100,7 @@ end task dist: [ :tarball, :package ] do Dir.chdir("pkg") do %w(dtas-linux dtas-mpris).each do |gem| - cmd = "gem build ../#{gem}.gemspec" - system(cmd) or abort "#{cmd}: #$?" + sh "gem build ../#{gem}.gemspec" end end end -- cgit v1.2.3-24-ge0c7