diff options
author | Graham Wilson <graham@mknod.org> | 2004-08-30 01:34:48 +0000 |
---|---|---|
committer | Graham Wilson <graham@mknod.org> | 2004-08-30 01:34:48 +0000 |
commit | c3a80da98846c21a5d3f32a91669d78774a0aa6a (patch) | |
tree | 72bee6836c468c8527560821cd65618f2c7b115d /makerelease | |
parent | fd2543489b53fe34a18b7204d6803bf527c0d198 (diff) | |
download | fetchmail-c3a80da98846c21a5d3f32a91669d78774a0aa6a.tar.gz fetchmail-c3a80da98846c21a5d3f32a91669d78774a0aa6a.tar.bz2 fetchmail-c3a80da98846c21a5d3f32a91669d78774a0aa6a.zip |
Move a handful of scripts (used for releases, testing, etc.) to dist-tools, so that they are not released in the tarball.
svn path=/trunk/; revision=3934
Diffstat (limited to 'makerelease')
-rwxr-xr-x | makerelease | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/makerelease b/makerelease deleted file mode 100755 index 41ddf038..00000000 --- a/makerelease +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/env perl -# -# Make a fetchmail release. Must be run as root, to make RPMs. -# Dumps a release notice and diffs as a MIME multipart message -# in RELEASE_NOTES -# -use POSIX qw(strftime); -$timezone = strftime('%z', localtime) || "-0500"; -$tmp = $ENV{TMPDIR} || $ENV{TMP} || $ENV{TEMP} || "/tmp"; - -$project = "fetchmail"; -$svnrepos = "svn://svn.berlios.de/$project"; -$website = "http://developer.berlios.de/projects/$project"; -$mailfrom = "<$project-devel-owner\@lists.berlios.de> (Fetchmail Development Team)"; - -# parse options -$diffs = 0; -$verbose = 0; -$null = ">/dev/null"; -$errnull = "2>/dev/null"; -while ($i = shift @ARGV) -{ - if ($i =~ /^(--diffs|-d)$/i) - { - $diffs = 1; - next; - } - - if ($i =~ /^(--verbose|-v)$/i) - { - $verbose = 1; - $null = ""; - next; - } - - die "Error: Unknown option: $i\n"; -} - -# extract version from source -$version=`grep 'AC_INIT' configure.in`; -$version =~ /AC_INIT\([^,]*,\[?([0-9.]+)\]?\)/; -$version = $1; -die "cannot determine version" unless defined $1; -$tag = "RELEASE_$version"; -$tag =~ tr/./-/; - -# extract existing tags -open(ID, "svn ls $svnrepos/tags|"); -while (<ID>) { - if (m{^(RELEASE_.*)/}) { - unshift(@versions, $1); - } -} -close(ID); - -if ($versions[0] eq $tag) { - $tag = $versions[0]; - $oldtag = $versions[1]; -} else { - $tag = '<workfile>'; - $oldtag = $versions[0]; -} - -$ENV{PATH} .= ":./dist-tools:./dist-tools/shipper:."; - -print "Building $version release, tag $tag, previous tag $oldtag\n"; - -if (-d autom4te.cache) { - system("rm -rf autom4te.cache") - and die "Failure in removing autom4te.cache"; -} - -if (system("autoreconf -isv")) { - die("Failure in regenerating autoconf files\n"); -} - -if (system("./configure && make clean && make -C po update-po && make clean")) { - die("Failure in translation-file rebuild\n"); -} - -print "### Test-building the software...\n"; -if (system("./configure && make clean && make all check")) { - die("Compilation failure\n"); -} - -print "### Building the distribution...\n"; -if (system("make dist $null")) { - die("Distribution-build failure\n"); -} - -print "### Building the RPMs...\n"; -if (system("buildrpms $project-${version}.tar.gz $null")) { - die("RPM-build failure\n"); -} - -open(REPORT, ">$tmp/$project.PREAMBLE.$$"); - -print REPORT <<EOF; -From: $mailfrom -Subject: The $version release of $project is available - -The $version release of $project is now available at the usual locations, -including <URL:$website>. - -The source archive is available at: -<URL:$website/$project-${version}.tar.gz> - -Here are the release notes: - -EOF - -# Extract the current notes -open(NEWS, "NEWS"); -while (<NEWS>) { - if (/^$project/) { - print REPORT $_; - last; - } -} -while (<NEWS>) { - if (/^$project/) { - last; - } - print REPORT $_; -} - -$oldver = $oldtag; -$oldver =~ tr/-/./; -$oldver =~ s/^RELEASE_//; - -if ($diffs) { - print REPORT "Diffs from the previous ($oldver) release follow as a MIME attachment." -} else { - print REPORT "By popular demand, diffs from the previous release have been omitted." -} - -close(NEWS); - -close(REPORT); - -if ($tag eq '<workfile>') { - system("svn diff -r$oldtag $errnull >$tmp/$project.DIFFS.$$"); -} else { - system("svn diff -r$oldtag -r$tag $errnull >$tmp/$project.DIFFS.$$"); -} -print "Diff size:"; -system("wc <$tmp/$project.DIFFS.$$"); - -if ($diffs) { - system "metasend -b" - ." -D '$project-$tag announcement' -m 'text/plain' -e 7bit -f $tmp/$project.PREAMBLE.$$" - ." -n -D 'diff between $oldver and $version' -m 'text/plain' -e 7bit -f $tmp/$project.DIFFS.$$" - ." -o ANNOUNCE.EMAIL"; -} else { - rename("$tmp/$project.PREAMBLE.$$", "ANNOUNCE.EMAIL"); -} -#system("chown esr ANNOUNCE.EMAIL"); -#chmod(0700, "ANNOUNCE.EMAIL"); - -#unlink("$tmp/$project.PREAMBLE.$$"); -unlink("$tmp/$project.DIFFS.$$"); - -print "Building index page...\n"; -system("rm -f index.html; indexgen.sh"); - -if (-r "testsites") { - print "Building test server list...\n"; - system("rm -f testservers.html; testservers-gen.sh >testservers.html"); -} - -print "Making activity graph..."; -system "growthplot"; - -print "Done\n"; - -# makerelease ends here |