From 944ff17f8a64092c80131afe2d0ce467b3cacce4 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 13 May 2014 10:09:41 +0000 Subject: make-snapshot: support xz * tool/make-snapshot (package): support xz. no longer runs with 1.8 or earlier. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/make-snapshot | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'tool/make-snapshot') diff --git a/tool/make-snapshot b/tool/make-snapshot index bacf54e556..c6d4449cdd 100755 --- a/tool/make-snapshot +++ b/tool/make-snapshot @@ -27,6 +27,13 @@ each versions may be followed by optional @revision. USAGE end +PACKAGES = { + "bzip" => %w".tar.bz2 bzip2 -c", + "gzip" => %w".tar.gz gzip -c", + "xz" => %w".tar.xz xz -c", + "zip" => %w".zip zip -qr", +} + ENV["LC_ALL"] = ENV["LANG"] = "C" SVNURL = URI.parse("http://svn.ruby-lang.org/repos/ruby/") RUBY_VERSION_PATTERN = /^\#define\s+RUBY_VERSION\s+"([\d.]+)"/ @@ -270,13 +277,32 @@ def package(rev, destdir) v = File.basename(v) end - return [["bzip tarball", ".tar.bz2", %w"tar cjf"], - ["gzip tarball", ".tar.gz", %w"tar czf"], - ["zip archive", ".zip", %w"zip -qr"] - ].collect do |mesg, ext, cmd| + tarball = nil + return PACKAGES.collect do |mesg, (ext, *cmd)| + File.directory?(destdir) or FileUtils.mkpath(destdir) file = File.join(destdir, "#{$archname||v}#{ext}") - print "creating #{mesg}... #{file}" - if system(*(cmd + [file, v])) + case ext + when /\.tar/ + if tarball + next if tarball.empty? + else + tarball = "#{$archname||v}.tar" + print "creating tarball... #{tarball}" + if system("tar", "cf", tarball, v) + puts " done" + else + puts " failed" + tarball = "" + next + end + end + print "creating #{mesg} tarball... #{file}" + done = system(*(cmd + [tarball]), out: file) + else + print "creating #{mesg} archive... #{file}" + done = system(*(cmd + [file, v])) + end + if done puts " done" file else -- cgit v1.2.3