diff options
Diffstat (limited to 'dist-tools')
-rwxr-xr-x | dist-tools/getstats.py | 25 | ||||
-rwxr-xr-x | dist-tools/growthplot | 114 | ||||
-rwxr-xr-x | dist-tools/indexgen.sh | 389 | ||||
-rwxr-xr-x | dist-tools/listsize | 36 | ||||
-rwxr-xr-x | dist-tools/makerelease | 43 | ||||
-rwxr-xr-x | dist-tools/shipper/buildrpms | 8 | ||||
-rwxr-xr-x | dist-tools/timeplot | 40 | ||||
-rwxr-xr-x | dist-tools/timeseries | 101 | ||||
-rwxr-xr-x | dist-tools/upload | 26 | ||||
-rwxr-xr-x | dist-tools/uploadfaq | 27 |
10 files changed, 29 insertions, 780 deletions
diff --git a/dist-tools/getstats.py b/dist-tools/getstats.py index 9a396fa8..17fcab50 100755 --- a/dist-tools/getstats.py +++ b/dist-tools/getstats.py @@ -7,21 +7,22 @@ import commands, os, string, ftplib # Get version and date date = commands.getoutput("LC_TIME=C date -u") pid = os.getpid() -# this is a fast variant using the base of the current working directory -# (ignores uncommitted modifications) -if os.system("svn export -q -rBASE . /tmp/getstats.%d" % pid): +if True: + # this is a fast variant using the base of the current working directory + # (ignores uncommitted modifications) + cmd = "svn export -q -rBASE . /tmp/getstats.%d" % pid +else: + # this is a slower variant that may export the whole tree across + # the net + cmd = "svn export -rCOMMITTED . /tmp/getstats.%d" % pid + +if os.system(cmd): print "SVN FAILED" os.exit(1) -# this is a slower variant that may export the whole tree across the net -#os.system("svn export -rCOMMITTED . /tmp/getstats.%d" % pid) + ln = commands.getoutput("cat /tmp/getstats.%d/*.[chly] 2>/dev/null | wc -l" % pid) os.system("rm -rf /tmp/getstats.%d" % pid) -vers = commands.getoutput("sed -n -e '/AC_INIT/s/AC_INIT(\[.*\],\[\\(.*\\)\])/\\1/p' <configure.ac") +vers = commands.getoutput("sed -n -e '/AC_INIT/s/AC_INIT(\\[.\\+\\],\\[\\(.*\\)\\],.*)/\\1/p' <configure.ac") print "fetchmail-" + vers + " (" + date + "), " + string.strip(ln) + " lines:" -# Use local listsize command to grab list statistics -#friends = commands.getoutput("listsize friends").strip() -#announce = commands.getoutput("listsize announce").strip() -#print "There are %s people on fetchmail-friends and %s on fetchmail-announce."% (friends, announce) - -# getstats.py +# end of getstats.py diff --git a/dist-tools/growthplot b/dist-tools/growthplot deleted file mode 100755 index 73f4f4e9..00000000 --- a/dist-tools/growthplot +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/sh -# -# growthplot -- plot the fetchmail project's growth as a function of time -# - -PATH="$PATH:.:./dist-tools"; export PATH - -tmp=/tmp/fetchmail-growthplot.$$ -mkdir $tmp - -# Get data from the NEWS file -timeseries >$tmp/growthplot$$ -grep "^[0-9]" $tmp/growthplot$$ >$tmp/growthnumbers$$ -grep "^[0-9.]*.[05].0 " $tmp/growthplot$$ >$tmp/growthmajors$$ -sed '/^4.2.9/,$d' <$tmp/growthnumbers$$ >$tmp/growthannounce$$ - -# gnuplot line styles. These occasionally change (like beteween 3.5 and 3.7); -# use "echo 'set terminal png; test' | gnuplot | display -" to check. -blue_boxes=3 -green_crosses=2 -cyan_diamonds=37 # Once purple triangles, but we can't do that anymore -brown_triangles=23 - -cat >$tmp/growthimage$$ <<EOF -set title "Fetchmail project growth history" -set xlabel 'Days since baseline' -set ylabel 'Participants' -set y2label 'Lines of code' -set ytics nomirror -set y2tics -set tics out -set autoscale y -set y2range [5000:50000] -set key bottom right box -set terminal png - -EOF - -# OK, now write the event labels -( - count=0 - lastday=0 - breakheight=510 - while read version legend - do - if [ "$version" = '%' ] - then - echo "# Associate $lastday to '$legend'" - count=$((count+1)) - lastday=$(($lastday-5)) - endy=$((breakheight+50+count*50)) - if ((endy>lasttotal)) - then - # Label over curve hanging right, arrow down - arrowhead=$((lasttotal+50)) - echo "set label '$legend' at $lastday-10, $endy+15" - else - # Label under curve hanging left, arrow up - arrowhead=$((lasttotal-5)) - strlen=`python -c "print len('$legend')"` - lablen=$((strlen*22)) - echo "set label '$legend' at $lastday-$lablen+10, $endy-15" - fi - echo set arrow \ - from $lastday, $endy \ - to $lastday, $arrowhead \ - head - else - set -- $legend - size=$1 - friends=$2 - announce=$3 - total=$4 - days=$5 - date=$6 - lastday=$days - lasttotal=$total - fi - done -) <$tmp/growthplot$$ >>$tmp/growthimage$$ - -# OK, now write the major-release labels -( - while read version size friends announce total days date - do - echo "set arrow from $days, $total - 55 to $days, $total - 15 head" - echo "set label '$version' at $days - 5, $total - 65" - done -) <$tmp/growthmajors$$ >>$tmp/growthimage$$ - -cat >>$tmp/growthimage$$ <<EOF -plot [] [0:] '$tmp/growthnumbers$$' using 6:5 \ - title "Both lists" with points $blue_boxes, \ - '$tmp/growthannounce$$' using 6:4 \ - title "fetchmail-announce" with points $cyan_diamonds, \ - '$tmp/growthannounce$$' using 6:3 \ - title "fetchmail-friends" with points $green_crosses, \ - '$tmp/growthnumbers$$' using 6:2 axes x1y2 \ - title "Lines of code" with points $brown_triangles -EOF - -gnuplot $tmp/growthimage$$ >growth.png - -rm -f $tmp/growth* -rmdir $tmp - -# growthplot ends here - - - - - - - diff --git a/dist-tools/indexgen.sh b/dist-tools/indexgen.sh deleted file mode 100755 index f24392e9..00000000 --- a/dist-tools/indexgen.sh +++ /dev/null @@ -1,389 +0,0 @@ -#!/bin/sh -# -# indexgen.sh -- generate current version of fetchmail home page. -# -echo "This script is hopelessly out of date. Abort." >&2 -exit 1 - -goldvers="6.2.0" -goldname="6.2.0" -version=`sed -n <Makefile.in "/VERSION *= */s/VERSION *= *\([^ ]*\)/\1/p"` -date=`date "+%d %b %Y"` - -set -- `timeseries | grep -v "[%#]" | head -1` -subscribers=$4 -make fetchmail -set -- `ls -ks fetchmail` -fetchmailsize=$1 -set -- `(cd /lib; ls libc-*)` -glibc=`echo $1 | sed 's/libc-\(.*\)\.so/\1/'` -glibc="glibc-$glibc" - -rm -f index.html - -# Compute MD5 checksums for security audit -rm -f checksums -for file in fetchmail-$version.tar.gz fetchmail-$version-1.*.rpm -do - md5sum $file >>checksums -done - -if [ $version != $goldvers ] -then - for file in fetchmail-$goldvers.tar.gz fetchmail-$goldvers-1.*.rpm - do - md5sum $file | sed -e "s: .*/: :" >>checksums - done -fi - -# Cryptographically sign checksums -gpg --clearsign checksums -mv checksums.asc checksums - -cat >index.html <<EOF -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<link rev="made" href="mailto:esr@snark.thyrsus.com" /> -<link rel="stylesheet" href="/~esr/sitestyle.css" type="text/css"/> -<meta name="description" content="Home page of the fetchmail project" /> -<meta name="keywords" content="" /> -<meta name="MSSmartTagsPreventParsing" content="TRUE" /> -<title>The fetchmail home page</title> -</head> -<body> - -<div id="Header"> -<table width="100%" cellpadding="0" summary="Canned page header"> -<tr> -<td>The fetchmail home page</td> -<td align="right">$date</td> -</tr> -</table> -</div> - -<div id="Menu"> - <hr/> - <a href="/~esr" title="My home page">Home Page</a><br /> - <a href="/~esr/sitemap.html" title="Map of the site">Site Map</a><br /> - <a href="/~esr/software.html" title="Software I maintain">Software</a><br /> - <a href="/~esr/projects.html" title="My projects">Projects</a><br /> - <a href="/~esr/faqs/" title="My FAQ documents">HOWTOs</a><br /> - <a href="/~esr/writings/" title="Essays and ruminations">Essays</a><br /> - <a href="/~esr/personal.html" title="Portrait of the author">Personal</a><br /> - <a href="http://www.ibiblio.org/esrblog/">Weblog</a><br/> - <a href="/~esr/netfreedom/">Freedom!</a><br /> - <a href="/~esr/guns/">Firearms!</a><br /> - <hr/> -</div> - -<div id="Content"> - -<h1>The fetchmail Home Page</h1> -</center> - -<p><b>Note: if you are a stranded fetchmail.com user, we're sorry but -we have nothing to do with that site and cannot help you. It's just an -unfortunate coincidence of names.</b></p> - -<h1>What fetchmail does:</h1> - -<p>Fetchmail is a full-featured, robust, well-documented -remote-mail retrieval and forwarding utility intended to be used over -on-demand TCP/IP links (such as SLIP or PPP connections). It supports -every remote-mail protocol now in use on the Internet: POP2, POP3, -RPOP, APOP, KPOP, all flavors of <a -href="http://www.imap.org">IMAP</a>, ETRN, and ODMR. It can even -support IPv6 and IPSEC.</p> - -<p>Fetchmail retrieves mail from remote mail servers and forwards it via -SMTP, so it can then be read by normal mail user agents such as <a -href="http://www.mutt.org/">mutt</a>, elm(1) or BSD Mail. -It allows all your system MTA's filtering, forwarding, and aliasing -facilities to work just as they would on normal mail.</p> - -<p>Fetchmail offers better security than any other Unix remote-mail -client. It supports APOP, KPOP, OTP, Compuserve RPA, Microsoft NTLM, -and IMAP RFC1731 encrypted authentication methods including CRAM-MD5 -to avoid sending passwords en clair. It can be configured to support -end-to-end encryption via tunneling with <a -href="http://www.openssh.com/">ssh, the Secure Shell</a>.</p> - -<p>Fetchmail can be used as a POP/IMAP-to-SMTP gateway for an entire DNS -domain, collecting mail from a single drop box on an ISP and -SMTP-forwarding it based on header addresses. (We don't really -recommend this, though, as it may lose important envelope-header -information. ETRN or a UUCP connection is better.)</p> - -<p>Fetchmail can be started automatically and silently as a system daemon -at boot time. When running in this mode with a short poll interval, -it is pretty hard for anyone to tell that the incoming mail link is -not a full-time "push" connection.</p> - -<p>Fetchmail is easy to configure. You can edit its dotfile directly, or -use the interactive GUI configurator (fetchmailconf) supplied with the -fetchmail distribution. It is also directly supported in linuxconf -versions 1.16r8 and later.</p> - -<p>Fetchmail is fast and lightweight. It packs all its standard -features (POP3, IMAP, and ETRN support) in ${fetchmailsize}K of core on a -Pentium under Linux.</p> - -<p>Fetchmail is <a href="http://www.opensource.org">open-source</a> -software. The openness of the sources is your strongest possible -assurance of quality and reliability.</p> - -<h1>Where to find out more about fetchmail:</h1> - -<p>See the <a href="fetchmail-features.html">Fetchmail Feature List</a> for more -about what fetchmail does.</p> - -<p>See the on-line <a href="fetchmail-man.html">manual page</a> for -basics.</p> - -<p>See the <a href="fetchmail-FAQ.html">HTML Fetchmail FAQ</a> for -troubleshooting help.</p> - -<p>See the <a href="design-notes.html">Fetchmail Design Notes</a> -for discussion of some of the design choices in fetchmail.</p> - -<p>See the project's <a href="todo.html">To-Do list</a> for indications -of known problems and requested features.</p> - -<h1>How to get fetchmail:</h1> - -<p>You can get any of the following leading-edge resources here:</p> -<ul> -<li> <a href="fetchmail-$version.tar.gz"> - Gzipped source archive of fetchmail $version</a> -<li> <a href="fetchmail-$version-1.i386.rpm"> - Intel binary RPM of fetchmail $version (uses $glibc)</a> -<li> <a href="fetchmail-$version-1.src.rpm"> - Source RPM of fetchmail $version</a> -</ul> - -<p>MD5 <a href="checksums">checksums</a> are available for these files; the -checksum file is cryptographically signed and can be verified with the -command:</p> - -<pre> -gpg --verify checksums -</pre> - -EOF - -if [ $version != $goldvers ] -then - cat >>index.html <<EOF - -<p>Or you can get the last \`gold' version, $goldname:</p> -<ul> -<li> <a href="fetchmail-$goldvers.tar.gz"> - Gzipped source archive of fetchmail $goldname</a> -<li> <a href="fetchmail-$goldvers-1.i386.rpm"> - Intel binary RPM of fetchmail $goldname (uses glibc)</a> -<li> <a href="fetchmail-$goldvers-1.alpha.rpm"> - Alpha binary RPM of fetchmail $goldname (uses glibc)</a> -<li> <a href="fetchmail-$goldvers-1.src.rpm"> - Source RPM of fetchmail $goldname</a> -</ul> - -<p>The <a href="fetchmail-$goldvers.tar.gz.asc">detached GPG -signature</a> for the binary tarball can be used to check it for -correctness, with the command</p> - -<pre> -gpg --verify fetchmail-$goldvers.tar.gz.asc fetchmail-$goldvers.tar.gz -</pre> - -<p>For differences between the leading-edge $version and gold $goldname versions, -see the distribution <a href="NEWS">NEWS</a> file.</p> -EOF -fi - -cat >>index.html <<EOF -<p>(Note that the binary RPMs don't have the POP2, OTP, IPv6, Kerberos, -GSSAPI, Compuserve RPA, Microsoft NTLM, or GNU gettext -internationalization support compiled in. To get any of these you -will have to build from sources.)</p> - -<p>The latest version of fetchmail is also carried in the -<a href="http://metalab.unc.edu/pub/Linux/system/mail/pop/!INDEX.html"> -Metalab remote mail tools directory</a>.</p> - -<h1>Getting help with fetchmail:</h1> - -<p>There is a fetchmail-friends list for people who want to discuss -fixes and improvements in fetchmail and help co-develop it. It's a -MailMan list, which you can sign up for at <a -href="http://lists.ccil.org/mailman/listinfo/fetchmail-friends"> -fetchmail-friends@ccil.org</a>. There is also an announcements-only -list, <a -href="http://lists.ccil.org/mailman/listinfo/fetchmail-announce"> -fetchmail-announce@lists.ccil.org</a>.</p> - -<p>Note: before submitting a question to the list, <strong>please read -the <a href="fetchmail-FAQ.html">FAQ</a></strong> (especially item <a -href="fetchmail-FAQ.html#G3">G3</a> on how to report bugs). We -tend to get the same three newbie questions over and over again. The -FAQ covers them like a blanket.</p> - -<p>Fetchmail was written and is maintained by <a -href="../index.html">Eric S. Raymond</a>. There are some designated -backup maintainers (<a href="mailto:rfunk@funknet.net">Rob Funk</a>, <a -href="http://www.dallas.net/~fox/">David DeSimone aka Fuzzy Fox</a>, -<a href="mailto:imdave@mcs.net">Dave Bodenstab</a> and <a -href="mailto:shetye@bombay.retortsoft.com">Sunil Shetye</a>). Other backup -maintainers may be added in the future, in order to ensure continued -support should Eric S. Raymond drop permanently off the net for any -reason.</p> - -<h1>You can help improve fetchmail:</h1> - -<p>I welcome your code contributions. But even if you don't write code, -you can help fetchmail improve.</p> - -<p>If you administer a site that runs a post-office server, you may be -able help improve fetchmail by lending me a test account on your site. -Note that I do not need a shell account for this purpose, just a -maildrop. Nor am I interested in collecting maildrops per se -- -what I'm collecting is different <em>kinds of servers</em>.</p> - -<p>Before each release, I run a test harness that sends date-stamped -test mail to each site on my regression-test list, then tries to -retrieve it. Please take a look at my <a href="testservers.html"> -list of test servers</a>. If you can lend me an account on a kind -of server that is <em>not</em> already on this list, please do.</p> - -<h1>Who uses fetchmail:</h1> - -<p>Fetchmail entered full production status with the 2.0.0 version in -November 1996 after about five months of evolution from the ancestral -<code>popclient</code> utility. It has since come into extremely wide use -in the Internet/Unix/Linux community. The Red Hat, Debian and -Suse Linux distributions and their derivatives all include it. A -customized version is used at Whole Earth 'Lectronic Link. Several -large ISPs are known to recommend it to Unix-using SLIP and PPP -customers.</p> - -<p>Somewhere around a thousand people have participated on the fetchmail -beta lists (at time of current release there were $subscribers on the -friends and announce lists). While it's hard to count the users of -open-source software, we can estimate based on (a) population figures -at the WELL and other known fetchmail sites, (b) the size of the -Linux-using ISP customer base, and (c) the volume of fetchmail-related -talk on USENET. These estimates suggest that daily fetchmail users -number well into the hundreds of thousands, and possibly over a million.</p> - -<h1>The sociology of fetchmail:</h1> - -<p>The fetchmail development project was a sociological experiment as well -as a technical effort. I ran it as a test of some theories about why the -Linux development model works.</p> - -<p>I wrote a paper, <a -href="http://www.catb.org/~esr/writings/cathedral-bazaar/">The -Cathedral And The Bazaar</a>, about these theories and the project. -I developed the line of analysis it suggested in two later essays. -These papers became quite popular and (to my continuing astonishment) may -have actually helped change the world. Chase the title link, above, -for links to all three papers.</p> - -<p>I have done some analysis on the information in the project NEWS file. -You can view a <a href="history.html">statistical history</a> showing -levels of participation and release frequency over time.</p> - -<h1>Recent releases and where fetchmail is going:</h1> - -<p>Fetchmail is now sufficiently stable and effective that I'm getting -very little pressure to fix things or add features. Development has -slowed way down, release frequency has dropped off, and we're -basically in maintainance mode.</p> - -<p>Major changes or additions therefore seem unlikely until there are -significant changes in or additions to the related protocol RFCs.</p> - -<h1>Where you can use fetchmail:</h1> - -<p>The fetchmail code was developed under Linux, but has also been -extensively tested under 4.4BSD, SunOS, Solaris, AIX, and NEXTSTEP. It -should be readily portable to other Unix variants (it requires only -POSIX plus BSD sockets, and uses GNU autoconf).</p> - -<p>Fetchmail is supported only for Unix by its official maintainers. -However, it is reported to build and run correctly under BeOS, -AmigaOS, Rhapsody, and QNX as well. There is a CygWin port.</p> - -<h1>Related resources:</h1> - -<p>Jochen Hayek is developing a set of -<a href="http://www.ACM.org/~Jochen_Hayek/JHimap_utils/"> -IMAP tools in Python</a> that read your .fetchmailrc file and are -designed to work with fetchmail. Jochen's tools can report selected -header lines, or move incoming messages to named mailboxes based on -the contents of headers.</p> - -<p>Donncha O Caoihm has written a Perl script called -<a href="http://cork.linux.ie/projects/install-sendmail/">install-sendmail</a> -that assists you in installing sendmail and fetchmail together.</p> - -<p>Peter Hawkins has written a script called <a -href="http://linux.cudeso.be/linuxdoc/gotmail.php">gotmail</a> that -can retrieve Hotmail. Another script, <a -href="http://yosucker.sourceforge.net">yosucker</a>, can retrieve -Yahoo webmail.</p> - -<p>There's a program called -<http://mailfilter.sourceforge.net/'>mailfilter</a> which can be used -to do span filtering, that works particularly well called from fetchmail's -<code>preconnect</code> directive,</p> - -<p>A hacker identifying himself simply as \`Steines' has written a -filter which rewrites the to-line with a line which only includes -receipients for a given domain and renames the old to-line. It also -rewrites the domain-part of addresses if the offical domain is -different from the local domain. You can find it <a -href="http://www.steines.com/mailf/">here</a>.</p> - -<h1>Fetchmail's funniest fan letter:</h1> - -<a href="funny.html">This letter</a> still cracks me up whenever I reread it. - -<h1>The fetchmail button:</h1> - -<p>If you use fetchmail and like it, here's a nifty fetchmail button you -can put on your web page:</p> - -<center><img src="fetchmail.png" alt="fetchmail logo" /></center> - -<p>Thanks to <a href="http://www.gl.umbc.edu/~smatus1/">Steve -Matuszek</a> for the graphic design. The hand in the button (and the -larger top-of-page graphic) was actually derived from a color scan of -the fetchmail author's hand.</p> - -<h1>Fetchmail mirror sites:</h1> - -<p>There is a FTP mirror of the current sources and RPMs in Japan at -<a href="ftp://ftp.win.ne.jp/pub/network/mail/fetchmail"> -ftp://ftp.win.ne.jp/pub/network/mail/fetchmail</a>. - -<h1>Reviews and Awards</h1> - -<p>Fetchmail was DaveCentral's Best Of Linux winner for -<a href="http://linux.davecentral.com/bol_19990630.html">June 30 1999</a>.</p> - -<p>Fetchmail was a five-star Editor's Pick at Softlandindia.</p> - -</div> - -</body> -</html> -EOF - -# The following sets edit modes for GNU EMACS -# Local Variables: -# mode:html -# truncate-lines:t -# End: diff --git a/dist-tools/listsize b/dist-tools/listsize deleted file mode 100755 index 73e25887..00000000 --- a/dist-tools/listsize +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# -# Mine list sizes from MailMan web interfaces -# -# * Must set environment variable FETCHMAIL_LIST_PASS to list admin password - -project="fetchmail" -admin="http://lists.berlios.de/mailman/admin" -adminpw=$FETCHMAIL_LIST_PASS - -list="$1" -if [ ! "$list" ]; then - echo "Usage: $0 list" 1>&2 - exit 1 -fi -case "$list" in -$project-*) - # already gave us the full name, e.g. fetchmail-announce - ;; -*) - # only gave us the last part of the name, e.g. announce - list="$project-$list" - ;; -esac - -hexpw=`echo "$adminpw" | od -t x1 -w64 | sed -e 's/^[0-9]*//' -e '/^ *$/d' -e 's/ /%/g'` -umask 077 -tmp="/tmp/$project-$list.listsize.$$" -# First get the login cookie... -curl -s -D "$tmp" "$admin/${list}?adminpw=$hexpw" >/dev/null -# Second gets the actual stat -curl -s -b "$tmp" "$admin/${list}/members" \ - | sed -n '/.*>(\([0-9][0-9]*\) members total.*/s//\1/p' -rm -f "$tmp" -# end - diff --git a/dist-tools/makerelease b/dist-tools/makerelease index bcb94c3a..26a483e1 100755 --- a/dist-tools/makerelease +++ b/dist-tools/makerelease @@ -5,11 +5,10 @@ # in RELEASE_NOTES # use POSIX qw(strftime); -$timezone = strftime('%z', localtime) || "-0500"; $tmp = $ENV{TMPDIR} || $ENV{TMP} || $ENV{TEMP} || "/tmp"; $project = "fetchmail"; -$svnrepos = "https://decoy.wox.org/svn/$project"; +$svnrepos = "http://mknod.org/svn/$project"; $website = "http://developer.berlios.de/projects/$project"; $mailfrom = "<$project-devel-owner\@lists.berlios.de> (Fetchmail Development Team)"; @@ -38,7 +37,7 @@ while ($i = shift @ARGV) # extract version from source $version=`grep 'AC_INIT' configure.ac`; -$version =~ /AC_INIT\([^,]*,\[?([0-9.rc-]+)\]?\)/; +$version =~ /AC_INIT\([^,]*,\[?([0-9.rc-]+)\]?\,.*\)/; $version = $1; die "cannot determine version" unless defined $1; $tag = "RELEASE_$version"; @@ -61,11 +60,13 @@ if ($versions[0] eq $tag) { $oldtag = $versions[0]; } -$ENV{PATH} .= ":./dist-tools:./dist-tools/shipper:."; +$pwd = `pwd`; chomp $pwd; + +$ENV{PATH} .= ":$pwd/dist-tools:$pwd/dist-tools/shipper"; print "Building $version release, tag $tag, previous tag $oldtag\n"; -if (-d autom4te.cache) { +if (-d "autom4te.cache") { system("rm -rf autom4te.cache") and die "Failure in removing autom4te.cache"; } @@ -74,22 +75,13 @@ 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 distcheck")) { +if (system("mkdir -p autobuild && cd autobuild && ../configure -C --silent && make -s clean && make distcheck")) { 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")) { +if (system("cd autobuild && cp ../fetchmail.xpm . && buildrpms $project-${version}.tar.bz2 $null")) { die("RPM-build failure\n"); } @@ -100,10 +92,10 @@ 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>. +including <$website>. The source archive is available at: -<URL:$website/$project-${version}.tar.gz> +<$website/$project-${version}.tar.gz> Here are the release notes: @@ -152,25 +144,12 @@ if ($diffs) { ." -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(mv, "$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 diff --git a/dist-tools/shipper/buildrpms b/dist-tools/shipper/buildrpms index e3c08c2b..11b3ddfd 100755 --- a/dist-tools/shipper/buildrpms +++ b/dist-tools/shipper/buildrpms @@ -24,6 +24,8 @@ sed "s|~/.rpmmacros|$MACROFILE|" /usr/lib/rpm/rpmrc >"$RCFILE" echo "%_topdir $TMPDIR" >"$MACROFILE" echo "%_topdir $TMPDIR" >"$MACROFILE" +ARCH=--target=$(uname -m) + # build RPMs rpmbuild --rcfile "$RCFILE" $ARCH -ta $TARBALL \ || rpm --rcfile "$RCFILE" $ARCH -ta $TARBALL @@ -31,9 +33,9 @@ status=$? if [ $status = '0' ] then - # copy RPMs to this directory - cp "$TMPDIR"/RPMS/*/*.rpm . - cp "$TMPDIR"/SRPMS/*.rpm . + # move RPMs to this directory + mv "$TMPDIR"/RPMS/*/*.rpm . + mv "$TMPDIR"/SRPMS/*.rpm . fi # clean up build directory diff --git a/dist-tools/timeplot b/dist-tools/timeplot deleted file mode 100755 index c8240d05..00000000 --- a/dist-tools/timeplot +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# timeplot -- plot data on fetchmail release intervals -# -# - -# Get data from the NEWS file -timeseries | awk >/tmp/timeplot$$ ' -START {maxdiff = 0;} -/^[#%]/ {next;} - {days[count++] = $6;} -END { - for (i = 0; i < count-1; i++) - { - diffs[i] = days[i] - days[i + 1]; - if (maxdiff < diffs[i]) - maxdiff = diffs[i]; - } - for (i = 0; i <= maxdiff; i++) - freq[i] = 0; - for (i = 0; i < count - 1; i++) - { - freq[diffs[i]]++; - } - for (i = 0; i <= maxdiff; i++) - printf("%d %d\n", i, freq[i]); - } -' - -gnuplot >time.png - <<EOF -set xlabel "Release interval (days)" -set ylabel "Interval frequency" -plot '/tmp/timeplot$$' using 1:2 \ - title "Release interval frequency" -pause 9999 -EOF - -rm -f /tmp/time* - -# timeplot ends here diff --git a/dist-tools/timeseries b/dist-tools/timeseries deleted file mode 100755 index 7a20c4c2..00000000 --- a/dist-tools/timeseries +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/perl -# -# Extract information on the fetchmail project size from the NEWS file -# -# Note: this only works if you have a news file from 5.1.1 or later -- -# I didn't patch the code sizes into NEWS until then. -# -my($release, $date, $jdate); - -%month_offsets = ( - "Jan", 0, - "Feb", 31, - "Mar", 59, - "Apr", 90, - "May", 120, - "Jun", 151, - "Jul", 181, - "Aug", 212, - "Sep", 243, - "Oct", 273, - "Nov", 304, - "Dec", 334, -); - - -sub day_offset -{ - my($datestring) = @_; - my($wday, $month, $day, $time, $zone, $year) = split(' ', $datestring); - my($jdate); - - # We don't deal with leap years here because the baseline day is after - # the last leap year (1996) and there's a long time before the next - # one (2004). - $jdate = ($year - 1996) * 365; - - $jdate += $month_offsets{$month}; - - $jdate += ($day - 1); - - # Baseline day for the size data was Fri Oct 25 23:02:26 EDT 1996 - $jdate -= 297; - - return($jdate); -} - -open(NEWS, "NEWS"); -$timestamp = `date`; -chop $timestamp; -$release = "unknown"; -$lines = "unknown"; -$date = "unknown"; -$jdate = "unknown"; -print <<EOF; -# Population data from fetchmail NEWS file, as of $timestamp. -# -# Output other than pass-through % lines is tab-separated fields. -# Field 1: release ID -# Field 2: count of source lines under version control -# Field 3: count of fetchmail-friends subscribers -# Field 4: count of fetchmail-announce subscribers -# Field 5: total subscribers to both lists -# Field 6: date of release (days since first datum) -# Field 7: date of release (RFC822 date format) -# -EOF -while ($_ = <NEWS>) -{ - my($sum); - - if (/^%/) { - print $_; - } - elsif (/^fetchmail-([^ ]*) \(([^)]+)\)(, [0-9]* lines)?:/) { - $release = $1; - $date = $2; - $jdate = &day_offset($date); - if ($3) { - $lines = substr($3, 2, length($3) - 8); - } else { - $lines = 'na' - } - } - elsif (/There are ([0-9]*) people on fetchmail-friends and ([0-9]*) on fetchmail-announce/) { - $sum = $1 + $2; - print "${release}\t${lines}\t$1\t$2\t${sum}\t${jdate}\t${date}\n"; - $release = "unknown"; - $date = "unknown"; - } - elsif (/There are ([0-9]*) people on the fetchmail-friends list./) { - print "$release\t${lines}\t$1\t0\t$1\t$jdate\t$date\n"; - $release = "unknown"; - $date = "unknown"; - } -} - -# end - - - - diff --git a/dist-tools/upload b/dist-tools/upload deleted file mode 100755 index 3a76ee49..00000000 --- a/dist-tools/upload +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -version=`sed -n '/VERSION *= *\(.*\)/s//\1/p' <Makefile` -echo "Uploading fetchmail version ${version}" - -if [ $* ] -then - ../upload $* -else - -echo "Beginning web upload..." -# First, copy to primary website -dest=esr@${WWWHOST}:${WWWDIR}/fetchmail -scp fetchmail-${version}.tar.gz.asc $dest -#scp funny.html $dest -#scp fetchmail.png $dest -#scp bighand.png $dest -scp growth.png $dest -scp timeseries $dest -scp growthplot $dest -scp checksums $dest -# shipper does the rest. -rm -f ANNOUNCE.FRESHMEAT -shipper - - diff --git a/dist-tools/uploadfaq b/dist-tools/uploadfaq deleted file mode 100755 index 7719ec98..00000000 --- a/dist-tools/uploadfaq +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -echo >&2 "this script $0 is outdated. Abort." -exit 1 - -version=`sed -n '/VERSION *= *\(.*\)/s//\1/p' <Makefile` -echo "Uploading fetchmail version ${version} FAQ" - -if [ $* ] -then - ../upload $* -else - lftp <<EOF -# First, copy to primary website -open ${WWWHOST} -cd ${WWWDIR}/fetchmail -put fetchmail-FAQ.html -close - -# Next, upload to the ftp site -open locke.ccil.org -cd ~ftp/pub/esr/fetchmail -put FAQ -close -EOF - echo "fetchmail FAQ uploaded" -fi |