#!/usr/bin/perl use strict; use Getopt::Long; my $arch = 'all'; GetOptions('a|arch:s'=>\$arch); use constant { FTP => '/usr/bin/lftp' }; my @arch = (); if ($arch eq 'all') { @arch = ('x86', 'x86_64'); } else { @arch = $arch; } my $exit = 0; for $arch (@arch) { # ftp -c 'connect sftp://cygwin:@cygwin.com/; cd x86/release; mirror -eRN2 mutt; put /dev/null -o !ready' chdir "/netrel/uploads/$arch" or die "$0: couldn't cd to /netrel/uploads/$arch - $!\n"; for my $p (@ARGV) { print "Uploading $p($arch)...\n"; my $res = system FTP, '-c', "connect sftp://cygwin:\@cygwin.com/; cd $arch/release; mirror -eR $p; put /dev/null -o !ready"; $exit ||= $res; if (!$res) { print "done\n"; } else { warn "$0: $p upload failed\n" if $res; } } } exit $exit;