diff --git a/tools/release/Bootstrap/Step/Build.pm b/tools/release/Bootstrap/Step/Build.pm index 288ce47b975e..c2f89c7df135 100644 --- a/tools/release/Bootstrap/Step/Build.pm +++ b/tools/release/Bootstrap/Step/Build.pm @@ -19,6 +19,7 @@ sub Execute { my $rc = $config->Get(var => 'rc'); my $buildPlatform = $config->Get(sysvar => 'buildPlatform'); my $logDir = $config->Get(sysvar => 'logDir'); + my $osname = $config->SystemInfo(var => 'osname'); my $rcTag = $productTag . '_RC' . $rc; my $lastBuilt = catfile($buildDir, $buildPlatform, 'last-built'); @@ -30,6 +31,16 @@ sub Execute { my $buildLog = catfile($logDir, 'build_' . $rcTag . '-build.log'); + # For Cygwin only, ensure that the system mount point is binmode + # This forces CVS to use Unix-style linefeed EOL characters. + if ($osname eq 'win32') { + $this->Shell( + cmd => 'mount', + cmdArgs => ['-b', '-sc', '/cygdrive'], + dir => $buildDir, + ); + } + $this->Shell( cmd => './build-seamonkey.pl', cmdArgs => ['--once', '--mozconfig', 'mozconfig', '--depend', diff --git a/tools/release/Bootstrap/Step/Repack.pm b/tools/release/Bootstrap/Step/Repack.pm index f50631797fab..22255cecd106 100644 --- a/tools/release/Bootstrap/Step/Repack.pm +++ b/tools/release/Bootstrap/Step/Repack.pm @@ -18,6 +18,7 @@ sub Execute { my $rc = $config->Get(var => 'rc'); my $logDir = $config->Get(sysvar => 'logDir'); my $l10n_buildPlatform = $config->Get(sysvar => 'l10n_buildPlatform'); + my $osname = $config->SystemInfo(var => 'osname'); my $rcTag = $productTag . '_RC' . $rc; my $buildLog = catfile($logDir, 'repack_' . $rcTag . '-build-l10n.log'); @@ -26,6 +27,16 @@ sub Execute { or $this->Log(msg => "Cannot unlink last-built file $lastBuilt: $!"); $this->Log(msg => "Unlinked $lastBuilt"); + # For Cygwin only, ensure that the system mount point is textmode + # This forces CVS to use DOS-style carriage-return EOL characters. + if ($osname eq 'win32') { + $this->Shell( + cmd => 'mount', + cmdArgs => ['-t', '-sc', '/cygdrive'], + dir => $buildDir, + ); + } + $this->Shell( cmd => './build-seamonkey.pl', cmdArgs => ['--once', '--mozconfig', 'mozconfig', '--depend', @@ -35,6 +46,16 @@ sub Execute { logFile => $buildLog, timeout => 36000 ); + + # For Cygwin only, set the system mount point back to binmode + # This forces CVS to use Unix-style linefeed EOL characters. + if ($osname eq 'win32') { + $this->Shell( + cmd => 'mount', + cmdArgs => ['-b', '-sc', '/cygdrive'], + dir => $buildDir, + ); + } } sub Verify {