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');
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;
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 $!;
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 (<PIPE>) {
+ 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 -f 'H rsync/' . 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;