#!/usr/local/bin/perl -w # # mksnap # # make a Distutils snapshot -- should go away once we have a 'dist' # command! # # $Id$ # use strict; use File::Find; use File::Copy ('move'); use POSIX ('strftime'); my $tar = '/depot/gnu/plat/bin/gnutar'; # MUST be gnutar! #my $tar = '/bin/tar'; die "don't know where to find gnutar" unless -x $tar; # gather up all filenames in the source directories (distutils, test, ...?) my @files; sub finder { $File::Find::prune = 1, return if /^(build|dd|www|CVS)$/; push @files, $File::Find::name if /.py$/; } chdir ".."; find (\&finder, 'distutils'); # and make a "snapshot" tarball named after today's date my $datestamp = strftime ('%Y%m%d', localtime time); my $snapname = "distutils-$datestamp.tar.gz"; print "creating $snapname\n"; open (TAR, "|$tar -cz -T - -f $snapname") || die "couldn't open pipe to $tar: $!\n"; print TAR join ("\n", @files) . "\n"; close (TAR); die "$tar failed" unless $? == 0; # and move the snapshot into the distutils web directory print "moving $snapname\n"; move ($snapname, "distutils/www") || die "couldn't move $snapname to distutils/www: $!\n";