Clumped some option-sending together that only happens on the sending side.
[rsync/rsync.git] / packaging / release-rsync
index 295cd10..d083e6b 100755 (executable)
@@ -155,25 +155,29 @@ foreach my $fn (@tweak_files) {
     undef $/; $_ = <IN>; $/ = "\n";
     close IN;
     if ($fn =~ /configure/) {
-       s/^RSYNC_VERSION.*/RSYNC_VERSION=$version/m;
+       s/^RSYNC_VERSION=.*/RSYNC_VERSION=$version/m;
     } elsif ($fn =~ /\.spec/) {
        s/^(Version:) .*/$1 $version/m;
        s/^(Release:) .*/$1 $release/m;
     } elsif ($fn =~ /\.yo/) {
        s/^(manpage\([^)]+\)\(\d+\)\()[^)]+(\).*)/$1$today$2/m;
        s/^(This man ?page is current for version) \S+ (of rsync)/$1 $version $2/m;
+    } elsif ($fn eq 'NEWS') {
+       s/^(NEWS for rsync \Q$version\E) \(UNRELEASED\)\s*\n/$1 ($today)\n/mi
+           or die "Couldn't update NEWS file with release date!\n";
+    } elsif ($fn eq 'OLDNEWS') {
+       s/^\t\S\S\s\S\S\S\s\d\d\d\d(\t\Q$version\E)/\t$ztoday$1/m
+           or die "Couldn't update OLDNEWS file with release date!\n";
     } else {
-       s/^(NEWS for rsync \Q$version\E) \(UNRELEASED\)\s*\n/$1 ($today)\n/m;
-       s/^\t\S\S\s\S\S\S\s\d\d\d\d(\t\Q$version\E)/\t$ztoday$1/m;
+       die "Unrecognized file in \@tweak_files: $fn\n";
     }
     open(OUT, '>', $fn) or die $!;
     print OUT $_;
     close OUT;
 }
 
-system "yodl2man -o rsync.1 rsync.yo";
-system "yodl2man -o rsyncd.conf.5 rsyncd.conf.yo";
-#system "perl -pi -e \"s/\\\\\\'/\\\\&'/g\" rsync.1 rsyncd.conf.5";
+system "yodl2man -o rsync.1 rsync.yo; ./tweak_manpage_dashes rsync.1";
+system "yodl2man -o rsyncd.conf.5 rsyncd.conf.yo; ./tweak_manpage_dashes rsyncd.conf.5";
 
 mkdir('patches/tmp') or die $!;
 system "rsync -a --exclude=patches/ --exclude-from=.cvsignore . patches/tmp/cvsdir/";
@@ -214,7 +218,7 @@ print $break, <<EOT;
 
 About to do the following in the samba-rsync-ftp dir:
     - move the old tar/diff files into the appropriate old-* dirs
-    - copy the moved tar/diff files on samba.org$skipping
+    - hard-link the moved tar/diff files on samba.org$skipping
     - create release tar, "$tar_name"
     - create release diffs, "$diff_name"
     - update README, *NEWS, TODO, and cvs.log
@@ -240,38 +244,33 @@ if ($diffdir ne $dest) {
     # We need to run this regardless of $lastversion's "pre"ness.
     my @moved_files;
     foreach my $fn (glob('rsync*pre*.tar.gz*'), glob('rsync*pre*-NEWS')) {
-       my $new_fn = "old-previews/$fn";
-       rename($fn, $new_fn) or die $!;
-       push(@moved_files, $new_fn);
+       link($fn, "old-previews/$fn") or die $!;
+       push(@moved_files, $fn);
     }
 
     if ($version !~ /pre/) {
        foreach my $fn (glob('rsync*.tar.gz*'), glob('rsync*-NEWS')) {
            next if $fn =~ /^rsync.*pre/;
-           my $new_fn = "old-versions/$fn";
-           rename($fn, $new_fn) or die $!;
-           push(@moved_files, $new_fn);
+           link($fn, "old-versions/$fn") or die $!;
+           push(@moved_files, $fn);
+       }
+
+       foreach my $fn (glob('rsync*pre*.diffs.gz*')) {
+           unlink($fn);
        }
 
        foreach my $fn (glob('rsync*.diffs.gz*')) {
-           next if $fn =~ /^rsync.*pre/;
-           my $new_fn = "old-patches/$fn";
-           rename($fn, $new_fn) or die $!;
-           push(@moved_files, $new_fn);
+           link($fn, "old-patches/$fn") or die $!;
+           push(@moved_files, $fn);
        }
     }
 
     # Optimize our future upload (in the absence of --detect-renamed) by
-    # copying the above moved files on the remote server.
+    # using rsync to hard-link the above files on samba.org.
     if ($live) {
-       my $remote_cmd = '';
-       foreach (@moved_files) {
-           my($path, $fn) = m#(.*)/([^/]+)$#;
-           $remote_cmd .= "cp -p /home/ftp/pub/rsync/{$fn,$path};";
-       }
-       system "ssh samba.org '$remote_cmd'";
+       system "rsync -avHOC --include='rsync*.gz*' --include='old-*/' --exclude='*' . samba.org:/home/ftp/pub/rsync";
     }
-    foreach (glob("rsync*pre*.diffs.gz*")) {
+    foreach (@moved_files) {
        unlink($_);
     }