summaryrefslogtreecommitdiff
path: root/distruby.rb
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-27 15:12:18 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-27 15:12:18 +0000
commite38fd64fcdf5e0f3db55eb507f758c8a6fc1f297 (patch)
treecee3f0a80601ee6a2d6f66483ee21c694c1863b7 /distruby.rb
parent7cd86a19c39e7d8a607a5568be41014c8bdc4e94 (diff)
* mkconfig.rb (RbConfig): add CONFIG['PATCHLEVEL']
* common.mk: new target dist * distruby.rb: new file git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'distruby.rb')
-rw-r--r--distruby.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/distruby.rb b/distruby.rb
new file mode 100644
index 0000000000..dcc3e76ce8
--- /dev/null
+++ b/distruby.rb
@@ -0,0 +1,49 @@
+#!./miniruby
+
+if RUBY_PATCHLEVEL.zero?
+ dirname = sprintf 'ruby-%s', RUBY_VERSION
+ tagname = dirname.gsub /ruby-(\d)\.(\d)\.(\d)/, 'v\1_\2_\3'
+else
+ dirname = sprintf 'ruby-%s-p%u', RUBY_VERSION, RUBY_PATCHLEVEL
+ tagname = dirname.gsub /ruby-(\d)\.(\d)\.(\d)-p/, 'v\1_\2_\3_'
+end
+tarname = dirname + '.tar.gz'
+repos = 'http://svn.ruby-lang.org/repos/ruby/tags/' + tagname
+
+STDERR.puts 'exporting sources...'
+system 'svn', 'export', '-q', repos, dirname
+Dir.chdir dirname do
+ STDERR.puts 'generating configure...'
+ system 'autoconf'
+ system 'rm', '-rf', 'autom4te.cache'
+
+ STDERR.puts 'generating parse.c...'
+ system 'bison', '-y', '-o', 'parse.c', 'parse.y'
+end
+
+STDERR.puts 'generating tarball...'
+system 'tar', 'chofzp', tarname, dirname
+
+open tarname, 'rb' do |fp|
+ require 'digest/md5'
+ require 'digest/sha1'
+ str = fp.read
+ md5 = Digest::MD5.hexdigest str
+ sha = Digest::SHA1.hexdigest str
+ printf "MD5(%s)= %s\nSHA1(%s)= %s\n", tarname, md5, tarname, sha
+end
+
+
+
+#
+# Local Variables:
+# mode: ruby
+# code: utf-8
+# indent-tabs-mode: t
+# tab-width: 3
+# ruby-indent-level: 3
+# fill-column: 79
+# default-justification: full
+# End:
+# vi: ts=3 sw=3
+