X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/af40c7d6678dbe03b9efcef798de7500c96f68bc..858d45f1601354a91913c201ecd15e1bbcb28ba6:/packaging/nightly-rsync diff --git a/packaging/nightly-rsync b/packaging/nightly-rsync index a875d5b4..7b21f3df 100755 --- a/packaging/nightly-rsync +++ b/packaging/nightly-rsync @@ -18,6 +18,7 @@ use Date::Format; our $unpacked = $ENV{HOME} . '/release/nightly'; # Where the local copy of /home/ftp/pub/rsync/nightly should be updated. our $nightly = $ENV{HOME} . '/samba-rsync-ftp/nightly'; +our $nightly_symlink = "$nightly/rsync-HEAD.tar.gz"; our($cvs_update, $make_tar, $upload, $help_opt); &Getopt::Long::Configure('bundling'); @@ -51,8 +52,11 @@ if ($make_tar) { push(@files, $1); $dir = $1 . '/'; } - } elsif (/^File: (.*?)\s+Status: / && $1 ne '.cvsignore') { + } elsif (/^File: (.*?)\s+Status: (.*)/ && $1 ne '.cvsignore') { push(@files, $dir . $1); + if ($2 ne 'Up-to-date') { + print "*** Not up-to-date: $dir$1\n"; + } } } close CVS; @@ -60,12 +64,14 @@ if ($make_tar) { print "Creating $unpacked/$name.tar.gz\n"; chdir('..') or die $!; rename($unpacked, $name) or die $!; - open(TAR, '|-', "fakeroot tar --files-from=- --mode=g-w -czf $nightly/$name.tar.gz $name") or die $!; + open(TAR, '|-', "fakeroot tar --files-from=- --no-recursion --mode=g-w -czf $nightly/$name.tar.gz $name") or die $!; foreach (@files) { print TAR "$name/$_\n"; } close TAR; rename($name, $unpacked) or die $!; + unlink($nightly_symlink); + symlink("$name.tar.gz", $nightly_symlink); } chdir($nightly) or die $!; @@ -90,12 +96,23 @@ foreach my $fn (qw( rsync.yo rsyncd.conf.yo )) { unlink($fn); } -system "find . -name 'rsync-HEAD-*' -daystart -mtime +14 | xargs rm -f"; +my $cnt = 0; +open(PIPE, '-|', 'ls -1t rsync-HEAD-*') or die $!; +while () { + chomp; + next if $cnt++ < 10; + unlink($_); +} +close PIPE; + system 'ls -ltr'; if ($upload) { - $ENV{RSYNC_PARTIAL_DIR} = ''; # The rsync on samba.org is OLD. - system "rsync -aviHP --delete . samba.org:/home/ftp/pub/rsync/nightly"; + my $opt = ''; + if (defined $ENV{RSYNC_PARTIAL_DIR}) { + $opt = " -f 'R $ENV{RSYNC_PARTIAL_DIR}'"; + } + system "rsync$opt -aviHP --delete-after . samba.org:/home/ftp/pub/rsync/nightly"; } exit;