aboutsummaryrefslogtreecommitdiffstats
path: root/bash-completion
Commit message (Collapse)AuthorAgeFilesLines
* bash-completion: detect devtype via -tDave Reisner2013-01-051-3/+6
|
* fix completion for device names with whitespaceDave Reisner2013-01-051-3/+8
| | | | Not sure this is the best way, but it's relatively clean, and it works.
* offer appropriate device completion for moveDave Reisner2013-01-041-0/+16
|
* add rudimentary bash completionDave Reisner2013-01-041-0/+92
9' href='#n79'>79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
#!/usr/bin/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
#
$timezone = "-0500";

$diffs = 0;
$verbose = 0;
$null = ">/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";
}


$version=`grep 'VERSION *=' Makefile.in`;
$version =~ /VERSION *= *(.*)/;
$version = $1;
$rcsid = $version;
$rcsid =~ tr/./-/;

open(ID, "rlog -h NEWS|");
while (<ID>) {
    last if /^symbolic names/;
}
while (<ID>) {
    if (/^\t(.*):/) {
	push(@versions, $1);
    }
}
close(ID);

if ($versions[0] eq $rcsid) {
    $rcsid = $versions[0];
    $oldid = $versions[1];
} else {
    $rcsid = '<workfile>';
    $oldid = $versions[0];
}

#$ENV{'PATH'} = "~esr/bin:/bin:/usr/bin";

print "Building $version release, RCS ID $rcsid, previous RCS ID $oldid\n";

print "### Test-building the software...\n";
if (system("su -c '(configure --disable-nls; make) $null' esr")) {
	die("Compilation failure\n");
}

print "### Building the distribution...\n";
if (system("su -c 'make dist $null' esr")) {
	die("Distribution-build failure\n");
}

print "### Building the RPMs...\n";
if (system("make rpm $null && chown esr *.rpm")) {
	die("RPM-build failure\n");
}

open(REPORT, ">PREAMBLE.$$");

print REPORT <<EOF;
From: esr\@thyrsus.com (Eric S. Raymond)
To: fetchmail-friends\@ccil.org, fetchmail-announce\@ccil.org
Reply-To: esr\@thyrsus.com (Eric S. Raymond)
Subject: The $version release of fetchmail is available
FCC: ~/postings/outmail

The $version release of fetchmail is now available at the usual locations,
including <URL:http://$ENV{'WWWVIRTUAL'}/~esr/fetchmail>.

The source archive is available at:
<URL:http://$ENV{'WWWVIRTUAL'}/~esr/fetchmail/fetchmail-${version}.tar.gz>

Here are the release notes:

EOF

# Extract the current notes
open(NEWS, "NEWS");
while (<NEWS>) {
    if (/^fetchmail/) {
	print REPORT $_;
	last;
    }
}
while (<NEWS>) {
    if (/^fetchmail/) {
	last;
    }
    print REPORT $_;
}

$oldrcs = $oldid;
$oldrcs =~ tr/-/./;

if ($diffs) {
	print REPORT "Diffs from the previous ($oldrcs) 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 ($rcsid eq '<workfile>') {
    system("rcsdiff -u -r$oldid          RCS/* 2>/dev/null >DIFFS.$$");
} else {
    system("rcsdiff -u -r$oldid -r$rcsid RCS/* 2>/dev/null >DIFFS.$$");
}
print "Diff size:";
system("wc <DIFFS.$$");

if ($diffs) {
	system "metasend -b -D 'fetchmail-$rcsid announcement' -m 'text/plain' -e 7bit -f PREAMBLE.$$ -n -D 'diff -u between -$oldrcs $rcsid' -m 'text/plain' -e 7bit -f DIFFS.$$ -o RELEASE.NOTES";
} else {
	rename("PREAMBLE.$$", "RELEASE.NOTES");
}
system("chown esr RELEASE.NOTES");
chmod(0700, "RELEASE.NOTES");

#unlink("PREAMBLE.$$");
unlink("DIFFS.$$");

print "Building index page...\n";
system("rm -f index.html; indexgen.sh");

print "Building test server list...\n";
system("rm -f testservers.html; testservers-gen.sh >testservers.html");

print "Making activity graph...";
growthplot;

print "Done\n";

# makerelease ends here