Added better and more messages.

This commit is contained in:
Geert-Jan Giezeman 1998-07-07 15:25:07 +00:00
parent ae8396d8d7
commit 37f735b902
1 changed files with 46 additions and 29 deletions

View File

@ -81,19 +81,6 @@ sub print_usage()
print STDERR "usage: $0 <sender> <url1> \n"; print STDERR "usage: $0 <sender> <url1> \n";
} }
#sub strip_version()
#{
# echo $* | $AWK '/^C2$/ { print; exit } \
# /^C3$/ { print; exit } \
# /^H2$/ { print; exit } \
# /^H3$/ { print; exit } \
# /^_2$/ { print; exit } \
# /^_3$/ { print; exit } \
# /^Convex_hull_3$/ { print; exit } \
# /^Opti.*doc.*/ { print "Optimisation_doc"; exit } \
# /^Opti.*imp.*/ { print "Optimisation_imp"; exit } \
# { gsub("([0-9]|\\.)+[a-zA-Z]?$", ""); print; exit }'
#}
sub make_package_name($) sub make_package_name($)
{ {
@ -114,6 +101,22 @@ sub make_package_name($)
return $_; return $_;
} }
sub belongs_to_release($)
# parameter 1 is the name of the package
{
open PACKAGES_TO_INCLUDE, "$::packagedir/include_in_release" or die;
while (<PACKAGES_TO_INCLUDE>) {
chomp;
if (/^\s*$_[0]\s*$/) {
close PACKAGES_TO_INCLUDE;
return 1;
}
}
close PACKAGES_TO_INCLUDE;
return 0;
}
sub create_package_dir() sub create_package_dir()
{ {
$::tempdir="$::packagedir/TMP$$"; $::tempdir="$::packagedir/TMP$$";
@ -190,14 +193,18 @@ sub check_version($)
$old_nr = shift @oversion; $old_nr = shift @oversion;
$old_nr = 0 if !defined($old_nr); $old_nr = 0 if !defined($old_nr);
if ($new_nr < $old_nr) { if ($new_nr < $old_nr) {
log_msg "Version $new_version_string is not bigger than $old_version_string"; log_msg
"Version $new_version_string is not bigger than $old_version_string";
return 0; return 0;
} }
if ($new_nr > $old_nr) { if ($new_nr > $old_nr) {
log_msg
"Version $new_version_string will replace $old_version_string";
return 1; return 1;
} }
} }
log_msg "Version $new_version_string is not bigger than $old_version_string"; log_msg
"Version $new_version_string is not bigger than $old_version_string";
return 0; return 0;
} }
@ -276,16 +283,12 @@ sub move_packagedir($)
system 'chmod', '-R', 'ug+w', "$::packagedir/$package_name" ; system 'chmod', '-R', 'ug+w', "$::packagedir/$package_name" ;
} }
sub install_submission($) sub install_submission($$)
{ {
my ($file_name, $file_pathname, $package_name); my ($file_name, $file_pathname, $package_name);
$file_name = shift; $file_name = shift;
$package_name = shift;
$file_pathname = "$::download_dir/$file_name"; $file_pathname = "$::download_dir/$file_name";
$package_name = make_package_name($file_name);
if ($package_name !~ /^[a-zA-Z_]\w*$/) {
log_msg "Filename $file_name was turned into the illegal package name $package_name";
return 0;
}
chdir($::tempdir); chdir($::tempdir);
if (! unpack_package( $file_pathname) ) { if (! unpack_package( $file_pathname) ) {
@ -309,21 +312,34 @@ sub install_submission($)
sub do_submission($) sub do_submission($)
{ {
my ($url, $url_with_password,$FILE); my ($url, $url_with_password,$file_name,$package_name);
$url = shift; $url = shift;
$url_with_password = $url; $url_with_password = $url;
$url_with_password =~ s|http://|http://member1:cg4any1@|; ($file_name) = ($url =~ m|^.*/(.*?)\s*$|);
$package_name = make_package_name($file_name);
if ($package_name !~ /^[a-zA-Z_]\w*$/) {
log_header
"ERROR: Filename $file_name was turned into the illegal package name $package_name";
return 0;
}
if (!belongs_to_release($package_name) ) {
log_msg "WARNING: package $package_name will not go into releases";
log_msg "Send a separate mail to cgal_submit if you want that";
}
$url_with_password =~ s|http://|http://member1:cg4any1@|;
unlink glob("$::download_dir/*") if (! $::TESTING); unlink glob("$::download_dir/*") if (! $::TESTING);
log_header "downloading $url"; log_header "downloading $url";
system("$::WGET $url_with_password >> $::ACTUAL_LOGFILE 2>&1") if (! $::TESTING); my $logfileno = fileno(LOGFILE);
($FILE) = ($url =~ m|^.*/(.*?)\s*$|); die "Log file not open" if ! defined($logfileno);
if ( ! -f "$::download_dir/$FILE" ) { system("$::WGET $url_with_password >>$logfileno 2>&$logfileno");
# system("$::WGET $url_with_password >> $::ACTUAL_LOGFILE 2>&1") if (! $::TESTING);
if ( ! -f "$::download_dir/$file_name" ) {
log_msg "ERROR: download failed!"; log_msg "ERROR: download failed!";
return 0; return 0;
} }
if (install_submission("$FILE") ) { if (install_submission("$file_name",$package_name) ) {
log_header "Package was successfully installed!"; log_header "Package was successfully installed!";
} else { } else {
log_header "ERROR: Installation of the package failed!"; log_header "ERROR: Installation of the package failed!";
@ -367,8 +383,9 @@ foreach $::submission ( @ARGV) {
} }
close LOGFILE; close LOGFILE;
system "cat $::ACTUAL_LOGFILE | Mail -s \"CGAL submissions @ARGV\" $::maintainer" if !$::TESTING; $ARGV[0] =~ s|.*/||;
system "cat $::ACTUAL_LOGFILE | Mail -s \"CGAL submission @ARGV\" $::SENDER"; system "cat $::ACTUAL_LOGFILE | Mail -s \"CGAL submission $ARGV[0]\" $::maintainer" if !$::TESTING;
system "cat $::ACTUAL_LOGFILE | Mail -s \"CGAL submission $ARGV[0]\" $::SENDER";
unlink $::ACTUAL_LOGFILE; unlink $::ACTUAL_LOGFILE;