X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/e3ad39bd4156cc80ae3b20b8839cb9c0b238b31b..refs/heads/4.next:/test/patchexim diff --git a/test/patchexim b/test/patchexim index 9659ba133..a006022e0 100755 --- a/test/patchexim +++ b/test/patchexim @@ -2,6 +2,7 @@ use strict; use warnings; +use Getopt::Std; ############################################################################### # This is an auxiliary script that is part of the Exim test suite. It must be # @@ -11,21 +12,39 @@ use warnings; # # # 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" # ############################################################################### +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, '>eximdir/exim') || die "** Failed to open eximdir/exim: $!\n"; +open(OUT, ">$outfile") || die "** Failed to open $outfile: $!\n"; while() { s/>>>running<<>>/; - s/(\d+\.\d+(?:[_.]\d+)?([_-]RC\d+|[_-]dev)?(?:[0-9a-fA-F-]*)(?:-XX)?\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