On Sun, Jul 10, 2016 at 11:52 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Michael Paquier <michael.paqu...@gmail.com> writes: >> Thanks! What you have pushed looks fine to me. Also, the portion for >> src/tools/msvc needs to go further down, I should have precised that >> earlier. Do you want a patch for that? > > Yes, please --- I thought it'd all gotten done.
OK, here are patches for 9.1, 9.2 and 9.3. -- Michael
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm index b779b31..bbb5c39 100644 --- a/src/tools/msvc/Install.pm +++ b/src/tools/msvc/Install.pm @@ -268,12 +268,19 @@ sub GenerateTimezoneFiles my $conf = shift; my $mf = read_file("src/timezone/Makefile"); $mf =~ s{\\\s*[\r\n]+}{}mg; - $mf =~ /^TZDATA\s*:?=\s*(.*)$/m || die "Could not find TZDATA row in timezone makefile\n"; + $mf =~ /^TZDATA\s*:?=\s*(.*)$/m || die "Could not find TZDATA line in timezone makefile\n"; my @tzfiles = split /\s+/,$1; - unshift @tzfiles,''; print "Generating timezone files..."; - system( - "$conf\\zic\\zic -d \"$target/share/timezone\" " . join(" src/timezone/data/", @tzfiles)); + my @args = ("$conf/zic/zic", + '-d', + "$target/share/timezone"); + foreach (@tzfiles) + { + my $tzfile = $_; + push(@args, "src/timezone/data/$tzfile") + } + + system(@args); print "\n"; } @@ -490,8 +497,10 @@ sub CopyIncludeFiles next unless (-d "src/include/$d"); EnsureDirectories("$target/include/server/$d"); - system(qq{xcopy /s /i /q /r /y src\\include\\$d\\*.h "$ctarget\\include\\server\\$d\\"}) - && croak("Failed to copy include directory $d\n"); + my @args = ('xcopy', '/s', '/i', '/q', '/r', '/y', + "src\\include\\$d\\*.h", + "$ctarget\\include\\server\\$d\\"); + system(@args) && croak("Failed to copy include directory $d\n"); } closedir($D); @@ -545,9 +554,11 @@ sub GenerateNLSFiles $lang = $1; EnsureDirectories($target, "share/locale/$lang", "share/locale/$lang/LC_MESSAGES"); - system( -"\"$nlspath\\bin\\msgfmt\" -o \"$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo\" $_" - )&& croak("Could not run msgfmt on $dir\\$_"); + my @args = ("$nlspath\\bin\\msgfmt", + '-o', + "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", + $_); + system(@args) && croak("Could not run msgfmt on $dir\\$_"); print "."; } }
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm index 7205e23..671d860 100644 --- a/src/tools/msvc/Install.pm +++ b/src/tools/msvc/Install.pm @@ -309,12 +309,21 @@ sub GenerateTimezoneFiles my $mf = read_file("src/timezone/Makefile"); $mf =~ s{\\\s*[\r\n]+}{}mg; $mf =~ /^TZDATA\s*:?=\s*(.*)$/m - || die "Could not find TZDATA row in timezone makefile\n"; + || die "Could not find TZDATA line in timezone makefile\n"; my @tzfiles = split /\s+/, $1; - unshift @tzfiles, ''; + print "Generating timezone files..."; - system("$conf\\zic\\zic -d \"$target/share/timezone\" " - . join(" src/timezone/data/", @tzfiles)); + + my @args = ("$conf/zic/zic", + '-d', + "$target/share/timezone"); + foreach (@tzfiles) + { + my $tzfile = $_; + push(@args, "src/timezone/data/$tzfile") + } + + system(@args); print "\n"; } @@ -542,9 +551,10 @@ sub CopyIncludeFiles next unless (-d "src/include/$d"); EnsureDirectories("$target/include/server/$d"); - system( -qq{xcopy /s /i /q /r /y src\\include\\$d\\*.h "$ctarget\\include\\server\\$d\\"} - ) && croak("Failed to copy include directory $d\n"); + my @args = ('xcopy', '/s', '/i', '/q', '/r', '/y', + "src\\include\\$d\\*.h", + "$ctarget\\include\\server\\$d\\"); + system(@args) && croak("Failed to copy include directory $d\n"); } closedir($D); @@ -597,9 +607,11 @@ sub GenerateNLSFiles EnsureDirectories($target, "share/locale/$lang", "share/locale/$lang/LC_MESSAGES"); - system( -"\"$nlspath\\bin\\msgfmt\" -o \"$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo\" $_" - ) && croak("Could not run msgfmt on $dir\\$_"); + my @args = ("$nlspath\\bin\\msgfmt", + '-o', + "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", + $_); + system(@args) && croak("Could not run msgfmt on $dir\\$_"); print "."; } } diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index adbfa9f..390de4e 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -270,7 +270,7 @@ sub upgradecheck Install($tmp_install, $config); # Install does a chdir, so change back after that chdir $cwd; - my ($bindir,$libdir,$oldsrc,$newsrc) = + my ($bindir,$libdir,$oldsrc,$newsrc) = ("$tmp_install/bin", "$tmp_install/lib", $topdir, $topdir); $ENV{PATH} = "$bindir;$ENV{PATH}"; my $data = "$tmp_root/data"; @@ -280,34 +280,41 @@ sub upgradecheck print "\nRunning initdb on old cluster\n\n"; standard_initdb() or exit 1; print "\nStarting old cluster\n\n"; - system("pg_ctl start -l $logdir/postmaster1.log -w") == 0 or exit 1; + my @args = ('pg_ctl', 'start', '-l', "$logdir/postmaster1.log", '-w'); + system(@args) == 0 or exit 1; print "\nSetting up data for upgrading\n\n"; installcheck(); # now we can chdir into the source dir chdir "$topdir/contrib/pg_upgrade"; print "\nDumping old cluster\n\n"; - system("pg_dumpall -f $tmp_root/dump1.sql") == 0 or exit 1; + @args = ('pg_dumpall', '-f', "$tmp_root/dump1.sql"); + system(@args) == 0 or exit 1; print "\nStopping old cluster\n\n"; system("pg_ctl -m fast stop") == 0 or exit 1; $ENV{PGDATA} = "$data"; print "\nSetting up new cluster\n\n"; standard_initdb() or exit 1; print "\nRunning pg_upgrade\n\n"; - system("pg_upgrade -d $data.old -D $data -b $bindir -B $bindir") == 0 + @args = ('pg_upgrade', '-d', "$data.old", '-D', $data, '-b', $bindir, + '-B', $bindir); + system(@args) == 0 or exit 1; or exit 1; print "\nStarting new cluster\n\n"; - system("pg_ctl -l $logdir/postmaster2.log -w start") == 0 or exit 1; + @args = ('pg_ctl', '-l', "$logdir/postmaster2.log", '-w', 'start'); + system(@args) == 0 or exit 1; print "\nSetting up stats on new cluster\n\n"; system(".\\analyze_new_cluster.bat") == 0 or exit 1; print "\nDumping new cluster\n\n"; - system("pg_dumpall -f $tmp_root/dump2.sql") == 0 or exit 1; + @args = ('pg_dumpall', '-f', "$tmp_root/dump2.sql"); + system(@args) == 0 or exit 1; print "\nStopping new cluster\n\n"; system("pg_ctl -m fast stop") == 0 or exit 1; print "\nDeleting old cluster\n\n"; system(".\\delete_old_cluster.bat") == 0 or exit 1; print "\nComparing old and new cluster dumps\n\n"; - system("diff -q $tmp_root/dump1.sql $tmp_root/dump2.sql"); + @args = ('diff', '-q', "$tmp_root/dump1.sql", "$tmp_root/dump2.sql"); + system(@args); $status = $?; if (!$status) {
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm index 5bd2637..4674ab3 100644 --- a/src/tools/msvc/Install.pm +++ b/src/tools/msvc/Install.pm @@ -316,12 +316,21 @@ sub GenerateTimezoneFiles my $mf = read_file("src/timezone/Makefile"); $mf =~ s{\\\s*[\r\n]+}{}mg; $mf =~ /^TZDATA\s*:?=\s*(.*)$/m - || die "Could not find TZDATA row in timezone makefile\n"; + || die "Could not find TZDATA line in timezone makefile\n"; my @tzfiles = split /\s+/, $1; - unshift @tzfiles, ''; + print "Generating timezone files..."; - system("$conf\\zic\\zic -d \"$target/share/timezone\" " - . join(" src/timezone/data/", @tzfiles)); + + my @args = ("$conf/zic/zic", + '-d', + "$target/share/timezone"); + foreach (@tzfiles) + { + my $tzfile = $_; + push(@args, "src/timezone/data/$tzfile") + } + + system(@args); print "\n"; } @@ -550,9 +559,10 @@ sub CopyIncludeFiles next unless (-d "src/include/$d"); EnsureDirectories("$target/include/server/$d"); - system( -qq{xcopy /s /i /q /r /y src\\include\\$d\\*.h "$ctarget\\include\\server\\$d\\"} - ) && croak("Failed to copy include directory $d\n"); + my @args = ('xcopy', '/s', '/i', '/q', '/r', '/y', + "src\\include\\$d\\*.h", + "$ctarget\\include\\server\\$d\\"); + system(@args) && croak("Failed to copy include directory $d\n"); } closedir($D); @@ -605,9 +615,11 @@ sub GenerateNLSFiles EnsureDirectories($target, "share/locale/$lang", "share/locale/$lang/LC_MESSAGES"); - system( -"\"$nlspath\\bin\\msgfmt\" -o \"$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo\" $_" - ) && croak("Could not run msgfmt on $dir\\$_"); + my @args = ("$nlspath\\bin\\msgfmt", + '-o', + "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", + $_); + system(@args) && croak("Could not run msgfmt on $dir\\$_"); print "."; } } diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index 244c2b1..033969d 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -282,35 +282,42 @@ sub upgradecheck print "\nRunning initdb on old cluster\n\n"; standard_initdb() or exit 1; print "\nStarting old cluster\n\n"; - system("pg_ctl start -l $logdir/postmaster1.log -w") == 0 or exit 1; + my @args = ('pg_ctl', 'start', '-l', "$logdir/postmaster1.log", '-w'); + system(@args) == 0 or exit 1; print "\nSetting up data for upgrading\n\n"; installcheck(); # now we can chdir into the source dir chdir "$topdir/contrib/pg_upgrade"; print "\nDumping old cluster\n\n"; - system("pg_dumpall -f $tmp_root/dump1.sql") == 0 or exit 1; + @args = ('pg_dumpall', '-f', "$tmp_root/dump1.sql"); + system(@args) == 0 or exit 1; print "\nStopping old cluster\n\n"; system("pg_ctl -m fast stop") == 0 or exit 1; $ENV{PGDATA} = "$data"; print "\nSetting up new cluster\n\n"; standard_initdb() or exit 1; print "\nRunning pg_upgrade\n\n"; - system("pg_upgrade -d $data.old -D $data -b $bindir -B $bindir") == 0 + @args = ('pg_upgrade', '-d', "$data.old", '-D', $data, '-b', $bindir, + '-B', $bindir); + system(@args) == 0 or exit 1; or exit 1; print "\nStarting new cluster\n\n"; - system("pg_ctl -l $logdir/postmaster2.log -w start") == 0 or exit 1; + @args = ('pg_ctl', '-l', "$logdir/postmaster2.log", '-w', 'start'); + system(@args) == 0 or exit 1; print "\nSetting up stats on new cluster\n\n"; system(".\\analyze_new_cluster.bat") == 0 or exit 1; print "\nDumping new cluster\n\n"; - system("pg_dumpall -f $tmp_root/dump2.sql") == 0 or exit 1; + @args = ('pg_dumpall', '-f', "$tmp_root/dump2.sql"); + system(@args) == 0 or exit 1; print "\nStopping new cluster\n\n"; system("pg_ctl -m fast stop") == 0 or exit 1; print "\nDeleting old cluster\n\n"; system(".\\delete_old_cluster.bat") == 0 or exit 1; print "\nComparing old and new cluster dumps\n\n"; - system("diff -q $tmp_root/dump1.sql $tmp_root/dump2.sql"); + @args = ('diff', '-q', "$tmp_root/dump1.sql", "$tmp_root/dump2.sql"); + system(@args); $status = $?; if (!$status) {
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers