Convert make_release to shell script

This commit is contained in:
Miroslav Lichvar 2011-06-24 12:27:54 +02:00
parent 95433e9639
commit 40d33cc64d

View file

@ -1,52 +1,41 @@
#!/usr/bin/env perl #!/bin/sh
$tool = "chrony"; if [ $# -ne 1 ]; then
echo "Usage : $0 <version>"
exit 2
fi
$version = shift || die "Usage : $0 <version>\n"; version=$1
$subdir = "${tool}-${version}"; subdir=chrony-${version}
unless (-d ".git") { umask 022
die "No .git subdirectory?"
}
unless (-d "RELEASES") { if [ ! -d .git ]; then
mkdir "RELEASES", 0755; echo "No .git subdirectory?"
} exit 3
fi
system ("git tag -s $version"); [ -d RELEASES ] || mkdir RELEASES
die "git-tag failed" if ($? != 0);
if (-d "RELEASES/$subdir") {
system ("rm -rf RELEASES/$subdir");
}
system ("git archive --format=tar --prefix=RELEASES/${subdir}/ $version | tar xf -"); git tag -s $version || exit 1
die "git-tar-tree failed" if ($? != 0);
chdir "RELEASES"; rm -rf RELEASES/$subdir
$here = qx/pwd/;
chomp $here;
chdir $subdir;
open (OUT, ">version.txt"); git archive --format=tar --prefix=RELEASES/${subdir}/ $version | \
print OUT $version."\n"; tar xf - || exit 1
close OUT;
open (IN, "<${tool}.spec.sample"); cd RELEASES/$subdir || exit 1
open (OUT, ">${tool}.spec");
while (<IN>) {
s/\@\@VERSION\@\@/$version/;
print OUT;
}
close (IN);
close (OUT);
system("makeinfo --no-headers --number-sections -o chrony.txt chrony.texi"); echo $version > version.txt
unlink "make_release";
unlink "${tool}.spec.sample";
unlink ".gitignore";
chdir $here; sed -e "s%@@VERSION@@%${version}%" < chrony.spec.sample > chrony.spec
system ("tar cvf - $subdir | gzip -9 > ${subdir}.tar.gz");
system ("gpg -b -a -o ${subdir}-tar-gz-asc.txt ${subdir}.tar.gz"); makeinfo --no-headers --number-sections -o chrony.txt chrony.texi
rm -f make_release chrony.spec.sample .gitignore
cd ..
tar cvf - $subdir | gzip -9 > ${subdir}.tar.gz
gpg -b -a -o ${subdir}-tar-gz-asc.txt ${subdir}.tar.gz