1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool/make-snapshot
matz 22dc58bf97 * tool/make-snapshot: make prereq uses MINIRUBY.
* tool/make-snapshot: allow packaging like 1.9.0-1 by second
  command-line argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-01 05:13:28 +00:00

38 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
LC_ALL=C LANG=C
SVNURL=http://svn.ruby-lang.org/repos/ruby/trunk
export LC_ALL LANG
: ${VPATH=include/ruby} ${YACC=bison} ${BASERUBY=ruby} ${RUBY=ruby} ${MV=mv} ${MINIRUBY=ruby}
export VPATH YACC BASERUBY RUBY MV MINIRUBY
if [ ! "$1" ]; then
echo usage: `basename $0` new-directory-to-save 1>&2
exit 1
fi
[ -d "$1" ] || mkdir "$1" || exit 1
dest=`cd "$1"; pwd`
tmp="${TMP_DIR-/tmp}/ruby-snapshot-$$"
mkdir -p "$tmp"
(cd "$tmp"
revision=r`svn export $SVNURL ruby | sed -n '$s/[^0-9]//gp'`
[ $revision ] || revision=`svn info $SVNURL | sed -n 's/Revision: //p'`
echo "#define RUBY_REVISION $revision" > ruby/revision.h
version=`sed -n -e '/^#define RUBY_VERSION /s/[^0-9.]//gp' ruby/version.h`
v=ruby-$version-${2-$revision}
mv ruby $v
(cd $v; autoconf; (sed '/lex\.c/,/^$/!d' Makefile.in; sed 's/{[^{}]*}//g' common.mk) | make -f - prereq srcdir=.)
for cmd in "bzip tarball.tar.bz2 tar cjf" "gzip tarball.tar.gz tar czf" "zip archive.zip zip -qr"; do
mesg="${cmd%%.*}" cmd="${cmd#*.}"
ext="${cmd%% *}" cmd="${cmd#* }"
echo -n creating $mesg... $dest/$v.$ext
if $cmd $dest/$v.$ext $v; then
echo " done"
else
echo " failed"
fi
done
exec rm -fr $v)
exec rmdir "$tmp"