diff options
Diffstat (limited to 'Build-tools/Bootstrap')
-rwxr-xr-x | Build-tools/Bootstrap | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/Build-tools/Bootstrap b/Build-tools/Bootstrap index 64f865362ca..32d371cc2c6 100755 --- a/Build-tools/Bootstrap +++ b/Build-tools/Bootstrap @@ -240,40 +240,52 @@ if (defined $opt_changelog) # the last tagged ChangeSet (this relies heavily on our current tagging # practice!) # - my $revision= ""; + $opt_changelog=~ s/^=//; # Sometimes, a leading '=' was not stripped. + my $log_base= $opt_changelog; + my $changelogfile; + if ($target_dir =~ m:^/:) # we need an absolute path, as we change directory + { + $changelogfile= $target_dir. "/ChangeLog"; + } + else + { + $changelogfile= cwd() . "/" . $target_dir . "/ChangeLog"; + } + if ($opt_changelog eq "last") { if (!$opt_revision) { - $revision= `bk changes -t -d':REV:::TAG:' -n $REPO | grep mysql-$major.$minor | head -1 | cut -f1 -d ":"`; + $log_base= `bk changes -t -d':REV:::TAG:' -n $REPO | grep mysql-$major.$minor | head -1 | cut -f1 -d ":"`; } else { - $revision= `bk changes -r..$opt_revision -t -d':REV:' -n $REPO | head -2 | tail -1`; + $log_base= `bk changes -r..$opt_revision -t -d':REV:' -n $REPO | head -2 | tail -1`; } - chomp($revision); - $opt_changelog= $revision; + chomp($log_base); } - $msg= "Adding $target_dir/ChangeLog"; - $msg.= " (down to revision $opt_changelog)" if $opt_changelog ne ""; + $msg= "Adding $changelogfile"; + $msg.= " (down to revision $log_base)" if $log_base ne ""; &logger($msg); - $command= "bk changes -v"; - $command.= " -r" if ($opt_changelog ne "" || $opt_revision); - $command.= $opt_changelog if $opt_changelog ne ""; - $command.= ".." if ($opt_changelog ne "" && !$opt_revision); + # Due to a BK error, "bk changes" must be run in $REPO ! + $command= "cd $REPO ; "; + $command.= "bk changes -v"; + $command.= " -r" if ($log_base ne "" || $opt_revision); + $command.= $log_base if $log_base ne ""; + $command.= ".." if ($log_base ne "" && !$opt_revision); $command.= ".." . $opt_revision if $opt_revision; - $command.= " " . $REPO . " > $target_dir/ChangeLog"; + $command.= " > $changelogfile"; &logger($command); # We cannot use run_command here because of output redirection unless ($opt_dry_run) { - system($command) == 0 or &abort("Could not create $target_dir/ChangeLog!"); + system($command) == 0 or &abort("Could not create $changelogfile!"); } } # -# Add the latest manual from the mysqldoc tree +# Add the latest manual and tool from the mysqldoc tree # unless ($opt_skip_manual) { @@ -283,6 +295,8 @@ unless ($opt_skip_manual) system ("bk cat $opt_docdir/Docs/$file.texi > $target_dir/Docs/$file.texi") == 0 or &abort("Could not update $file.texi in $target_dir/Docs/!"); } + &run_command("cp $opt_docdir/Docs/Support/texi2html $target_dir/Docs/Support", + "Could not copy $opt_docdir/Docs/Support/texi2html!"); &run_command("rm -f $target_dir/Docs/Images/Makefile*", "Could not remove Makefiles in $target_dir/Docs/Images/!"); |