From 98d6ac88ae077d59a75853568bc28ba6595f3930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?agentzh=20=28=E7=AB=A0=E4=BA=A6=E6=98=A5=29?= Date: Thu, 8 Sep 2011 16:02:11 +0800 Subject: [PATCH] checked in the upgrade-patches.pl script. --- util/upgrade-patches.pl | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 util/upgrade-patches.pl diff --git a/util/upgrade-patches.pl b/util/upgrade-patches.pl new file mode 100644 index 0000000..94161c7 --- /dev/null +++ b/util/upgrade-patches.pl @@ -0,0 +1,49 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +my $ver = shift or usage(); +my $newver = shift or usage(); + +my @files = `find patches -name '*.patch'`; +for my $file (@files) { + chomp $file; + next unless $file =~ m{^patches/nginx-(?:$ver|$newver)-}; + (my $newfile = $file) =~ s/nginx-$ver-/nginx-$newver-/g; + if ($newfile ne $file && !-f $newfile) { + my $cmd = "cp $file $newfile"; + system($cmd) == 0 + or die "failed run command $cmd.\n"; + + $cmd = "git add $newfile"; + system($cmd) == 0 + or die "failed run command $cmd.\n"; + } + + my $cmd = "sed -i 's/1\.0\.5/1.0.6/g' $newfile"; + system($cmd) == 0 + or die "failed to run command $cmd.\n"; + + my $oldver_int = version_to_int($ver); + my $newver_int = version_to_int($newver); + + warn "$oldver_int => $newver_int\n"; + + $cmd = "sed -i 's/$oldver_int/$newver_int/g' $newfile"; + system($cmd) == 0 + or die "failed to run command $cmd.\n"; + + print "$file => $newfile\n"; +} + +sub usage { + die "Usage: $0 \n"; +} + +sub version_to_int { + my $ver = shift; + $ver =~ s/\.(\d+)/sprintf("%03d", $1)/eg; + $ver +} +