X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1f5497b2a08c38975c9945122a0279bb03f99e28..f3fe5970b320bd6f8c9d01f11881fa6d6b5e7384:/test/patchexim diff --git a/test/patchexim b/test/patchexim index 8322961a7..a006022e0 100755 --- a/test/patchexim +++ b/test/patchexim @@ -1,6 +1,8 @@ -#! /usr/bin/perl -w +#! /usr/bin/env perl -# $Cambridge: exim/test/patchexim,v 1.2 2007/06/29 09:20:37 ph10 Exp $ +use strict; +use warnings; +use Getopt::Std; ############################################################################### # This is an auxiliary script that is part of the Exim test suite. It must be # @@ -10,21 +12,39 @@ # # # The only argument to this script is the name of the Exim binary that is to # # be copied. The script must be run in the correct current directory. # +# # +# One option, -o can be given. Default is "eximdir/exim" # ############################################################################### -open(IN, "$ARGV[0]") || die "** Failed to open $ARGV[0]: $!\n"; -open(OUT, ">eximdir/exim") || die "** Failed to open eximdir/exim: $!\n"; +our ($opt_o); +getopts('o:'); + +my $outfile = defined($opt_o) ? $opt_o : 'eximdir/exim'; + +open(IN, $ARGV[0]) || die "** Failed to open $ARGV[0]: $!\n"; +open(OUT, ">$outfile") || die "** Failed to open $outfile: $!\n"; while() { s/>>>running<<>>/; - s/(\d+\.\d+(?:\.\d+)?(-RC\d+|-dev)?\0<>)/"x.yz\0" . ("*" x (length($1) - 5))/e; + s{ + (\d+[_.]\d+ # major.minor + (?:[_.]\d+)? # optional security-patchlevel + (?:[_.]\d+)? # optional patchlevel + (?:[_-]RC\d+|[_-]?dev(?:start)?)? # optional RC or dev(start) + (?:(?:[_-]\d+)? # git tag distance + [-_][[:xdigit:]]+)? # git id + (?:[-_]XX)?\0 # git dirty bit + <> # marker + ) + } + {"x.yz\0" . ("*" x (length($1) - 5))}xe; print OUT; } close(IN); close(OUT); -chmod 04755, "eximdir/exim"; +chmod 04755, $outfile; # End of patchexim script