From e2b46846b1597a935b4a0dbd5cca95ca66ccb28c Mon Sep 17 00:00:00 2001 From: Sylvain Pion Date: Sun, 19 Feb 2006 23:46:17 +0000 Subject: [PATCH] Remove some antique scripts (pre-CVS area). --- .../package_handling/collect_submissions | 205 ------ .../package_handling/install_www_submission | 581 ------------------ .../package_handling/treat_submit_mail | 273 -------- Maintenance/release_building/finish_release | 185 ------ Maintenance/release_building/format_versions | 22 - .../release_building/handle_new_release | 111 ---- Maintenance/support/get_cgal_html | 7 - Maintenance/support/send_cgal_mail | 25 - Maintenance/test_handling/empty_dir | 42 -- Maintenance/test_handling/split_in_platforms | 32 - Maintenance/test_handling/test_announce | 22 - Maintenance/test_handling/treat_result_mail | 94 --- 12 files changed, 1599 deletions(-) delete mode 100755 Maintenance/package_handling/collect_submissions delete mode 100755 Maintenance/package_handling/install_www_submission delete mode 100755 Maintenance/package_handling/treat_submit_mail delete mode 100755 Maintenance/release_building/finish_release delete mode 100755 Maintenance/release_building/format_versions delete mode 100755 Maintenance/release_building/handle_new_release delete mode 100755 Maintenance/support/get_cgal_html delete mode 100755 Maintenance/support/send_cgal_mail delete mode 100755 Maintenance/test_handling/empty_dir delete mode 100755 Maintenance/test_handling/split_in_platforms delete mode 100755 Maintenance/test_handling/test_announce delete mode 100755 Maintenance/test_handling/treat_result_mail diff --git a/Maintenance/package_handling/collect_submissions b/Maintenance/package_handling/collect_submissions deleted file mode 100755 index 4a00db1b282..00000000000 --- a/Maintenance/package_handling/collect_submissions +++ /dev/null @@ -1,205 +0,0 @@ -#! /sw/bin/perl -T - -use strict; - - -#--------------------------------------------------------------# -# This script scans through the mail box $MAIL_IN, using formail. -# It handles requests automatically. -# This script deals with reading the mail box and dispatching the separate -# mails to the program that treats one mail. -# It takes care that there is only one program doing so, by means of locking. -#--------------------------------------------------------------# - -# the mail boxes -my $Scripts_directory='/projects/CGAL/admin_scripts'; -my $Data_directory='/projects/CGAL/submissions/autohandle/data'; -my $LOCKFILE="$Data_directory/collect_submission.lock"; -my $Mail_directory='/users/geert/PUBLIC/CGAL-submit'; -my $MAIL_IN="$Mail_directory/incoming-mail"; -#my $MAIL_OUT="$Mail_directory/handled-mail"; -my $MAIL_TMP="$Mail_directory/temp-mail"; -my $SCRIPT="$Scripts_directory/collect_submissions"; -my $MAIL_PROG="$Scripts_directory/send_cgal_mail"; -my $treat_one_mail_program="$Scripts_directory/treat_submit_mail"; - -# program locations -my $FORMAIL="/sw/bin/formail"; -my $LOCKCMD="/sw/bin/lockfile"; - -# the log file -my $LOGFILE="$Data_directory/collect_submissions.log"; - -# -my $seconds_between_invocations=300; -my $max_tries_between_warning= int 21600/$seconds_between_invocations; - -$ENV{PATH}='/sbin:/usr/sbin:/usr/bsd:/bin:/usr/bin'; - -# variable that is set when there is an attempt to kill this process. -my $please_die=0; - -my $invoker = $ENV{USER}; -if ($invoker =~ /^\s*([-\@\w]+)\s*$/) { - $invoker = "$1\@cs.uu.nl"; -} else { - print STDERR <<"TOTHIER"; -The script $SCRIPT did not start because -the USER environment value has a strange value. -TOTHIER - exit 1; -} - -my $hostname = $ENV{HOST}; -if ($hostname =~ /^\s*([-\@\w.]+)\s*$/) { - $hostname = $1; -} else { - print STDERR <<"TOTHIER"; -The script $SCRIPT did not start because -the HOST environment value has a strange value ($hostname). -TOTHIER - exit 1; -} - - -sub termination_signal_handler { - $please_die=1; -} - - -sub initialisation() -{ -# -# Disable signals that kill this process. -# - - $SIG{INT} = \&termination_signal_handler; - $SIG{TERM} = \&termination_signal_handler; - -# -# Try to acquire the lock. -# Quit with a message if it fails. -# - - if ( system("$LOCKCMD", "-r", '10', "$LOCKFILE") != 0) { - open NOTICE, "|$MAIL_PROG \"collect_submissions notice\" $invoker"; - print NOTICE <<"TOTHIER"; -The script $SCRIPT could not proceed because -it could not acquire the needed lock on file $LOCKFILE. -TOTHIER - close NOTICE; - exit 1; - } -# -# Now that you have the lock, check to see if there is another process -# executing this program. If so, quit. -# - my $logline = `tail -1 $LOGFILE`; - if ($logline !~ /stopped/) { - unlink $LOCKFILE; - open NOTICE, "|$MAIL_PROG \"collect_submissions notice\" $invoker"; - print NOTICE <<"TOTHIER"; -The script $SCRIPT did not proceed because -there seems to be another process collecting the mail messages. -The file $LOGFILE says: - -$logline -TOTHIER - close NOTICE; - exit 1; - } -# -# We can proceed. Record a message to the log file that this process -# takes control of dealing with the mail box. -# - open LOGFILE, ">>$LOGFILE"; - print LOGFILE "$hostname $$: started executing on ", `date`; - close LOGFILE; - - unlink $LOCKFILE; -} - -sub new_untreated_mail_file() -{ - my $filename; - my $n=1; - for ($n=1; $n<1000; ++$n) { - $filename="$Mail_directory/untreated_mail_$n"; - last if (! -f $filename); - } - return $filename; -} - -sub treat_current_mail() -{ - if ( -f $MAIL_IN ) { - if ( system("$LOCKCMD", "-r", '10', "$MAIL_IN.lock") == 0) { - rename($MAIL_IN, $MAIL_TMP); - unlink "$MAIL_IN.lock"; - if (system("$FORMAIL -ns $treat_one_mail_program < $MAIL_TMP")== 0 ) - { - unlink $MAIL_TMP; - } else { - my $Save_file = new_untreated_mail_file(); - rename($MAIL_TMP, $Save_file) or die; - open NOTICE, - "|$MAIL_PROG \"collect_submissions notice\" $invoker"; - print NOTICE <<"TOTHIER"; -The script $SCRIPT could not treat incoming mail. -This mail was saved in $Save_file. -TOTHIER - - } - } - } -} - -sub main_loop() -{ - my $tries_to_go = $max_tries_between_warning; - while (! $please_die) { - if ( system("$LOCKCMD", "-r", '10', "$LOCKFILE") != 0) { - --$tries_to_go; - if ($tries_to_go < 0) { - open NOTICE, - "|$MAIL_PROG \"collect_submissions notice\" $invoker"; - print NOTICE <<"TOTHIER"; -The script $SCRIPT could not proceed because -it could not acquire the needed lock on file $LOCKFILE. -TOTHIER - close NOTICE; - $tries_to_go = $max_tries_between_warning; - } - } else { - $tries_to_go = $max_tries_between_warning; - if ( -f $MAIL_TMP ) { - open NOTICE, - "|$MAIL_PROG \"collect_submissions notice\" $invoker"; -print NOTICE <<"TOTHIER"; -The script $SCRIPT has been stopped, -because the temporary mail box $MAIL_TMP was not emptied. -TOTHIER - close NOTICE; - unlink $LOCKFILE; - $please_die = 1; - } else { - treat_current_mail; - } - unlink $LOCKFILE; - } - sleep $seconds_between_invocations unless $please_die; - } -} - -sub finalisation() -{ - open LOGFILE, ">>$LOGFILE"; - print LOGFILE "$hostname $$: stopped executing at ", `date`; - close LOGFILE; -} - -initialisation(); -main_loop(); -finalisation(); -exit 0; - diff --git a/Maintenance/package_handling/install_www_submission b/Maintenance/package_handling/install_www_submission deleted file mode 100755 index b73335b988f..00000000000 --- a/Maintenance/package_handling/install_www_submission +++ /dev/null @@ -1,581 +0,0 @@ -#!/sw/bin/perl -w - -use strict; -use File::Find; -use Cwd; -# install_submission ... - - -my $testing=0; -my $MAIL_PROG='/projects/CGAL/admin_scripts/send_cgal_mail'; - -my ($submission, $packagedir, $oldpackagedir, $download_dir, - $console_output, - $tempdir, $check_source_file_prog, @reply_list); -my $WGET; - -my $LOCKCMD="/sw/bin/lockfile"; - -umask 002; - -sub init_variables() -{ - if ($testing) { - $packagedir='/users/geert/tmp/inst_www/packages'; - $oldpackagedir='/users/geert/tmp/inst_www/old_packages'; - $download_dir='/users/geert/tmp/inst_www/download'; - $console_output=1; - $check_source_file_prog= - '/users/geert/CGAL/Geert/maintenance/package_handling/check_headers'; - } else { - $packagedir='/users/www/CGAL/Members/Develop/updates/packages'; - $oldpackagedir='/projects/CGAL/old_packages'; - $download_dir='/projects/CGAL/submissions/download'; - $console_output=0; - $check_source_file_prog= '/projects/CGAL/admin_scripts/check_headers'; - } - @reply_list = ('geert@cs.uu.nl'); - $WGET="/projects/CGAL/admin_scripts/get_cgal_html"; -} - -$ENV{PATH}= -'/sw/bin:/sbin:/usr/sbin:/usr/bsd:/bin:/usr/bin:/usr/bin/X11'; - - - -my $ACTUAL_LOGFILE="/tmp/install_www_submission.log.$$"; - - - -# write to logfile -# - -sub log_header($) -{ - if ( $console_output ) { - print "$_[0]\n"; - } - print LOGFILE "-------------------------------------------------------\n"; - print LOGFILE " $_[0]\n"; - print LOGFILE "-------------------------------------------------------\n"; -} - -sub log_msg($) -{ - if ( $console_output ) { - print "$0: $_[0]\n"; - } - print LOGFILE " $_[0]\n"; -} - -sub log_done() -{ - if ( $console_output ) { - print " done\n-------------------------------------------------------\n" - } - print LOGFILE "-------------------------------------------------------\n"; - print LOGFILE " DONE\n"; - print LOGFILE "-------------------------------------------------------\n"; -} - -sub print_usage() -{ - print STDERR "usage: $0 \n"; -} - - -sub make_package_name($) -{ - $_ = $_[0]; -# remove the directory path - s|.*/||; -# remove trailing blanks - s|\s*$||; -# remove suffixes - s|\.gz$||; - s|\.tar$||; - s|\.zip$||; - s|\.tgz$||; -# remove version -# s|([-\.\d]+)+[a-zA-Z]?$||; -# or should that be - s|([-\.]\d+)+[a-zA-Z]?$||; - return $_; -} - - -sub belongs_to_release($) -# parameter 1 is the name of the package -{ - open PACKAGES_TO_INCLUDE, "$packagedir/include_in_release" or die; - while () { - chomp; - if (/^\s*$_[0]\s*$/) { - close PACKAGES_TO_INCLUDE; - return 1; - } - } - close PACKAGES_TO_INCLUDE; - return 0; -} - -sub create_package_dir() -{ - $tempdir="$packagedir/TMP$$"; - mkdir($tempdir, 0775) ; -} - -sub unpack_package($) -{ - my ($full_file_name); - $full_file_name = shift; - chdir $tempdir; - if ( $full_file_name =~ /\.tar\s*$/) { - system 'gtar', 'xf', "$full_file_name"; - } elsif ($full_file_name =~ /\.zip\s*$/) { - system('unzip', '-oqq', "$full_file_name"); - } elsif ($full_file_name =~ /\.tgz\s*$/ or $full_file_name =~ /\.tar.gz\s*$/) { - system("gunzip -c $full_file_name | gtar xf -"); - } else { - return 0; - } - return !$?; -} - -sub gzip_if_psfile -{ - if ($_ =~ /\.ps\s*$/ and -f $_) { - system('gzip',"$_"); - } -} - -sub compress_psfiles() -{ - if (-d 'doc_ps') { - find(\&gzip_if_psfile, "doc_ps"); - } -} - -sub get_version($) -{ - my ($version_string, $date); - open VERSION, $_[0] or return (); - while () { - next if (/^\s*$/); - if ( /^\s*(\d+(?:[\.]\d+)*)\s*\((.*)\)\s*$/ ) { - $version_string = $1; - $date = $2; - $_ = ; - close VERSION; - if (/^\s*[Mm]aintainer\s*:\s*(.*)$/ ) { - return ($version_string,$date, $1); - } else { - return ($version_string,$date); - } - } - close VERSION; - return (); - } - close VERSION; - return (); -} - -sub check_version($) -{ - my $package_name = shift; - my ($new_version_string, $new_date, $package_maintainer, - $old_version_string, $old_date, $old_package_maintainer, - @nversion, @oversion); - ($new_version_string, $new_date,$package_maintainer) = get_version('version'); - if (!defined($new_version_string)) { - log_msg "Failed to parse version file"; - return (); - } - if (!defined($package_maintainer)) { - log_msg "Version file does not contain a maintainer line!"; - return (); - } - ($old_version_string, $old_date, $old_package_maintainer) = - get_version("$packagedir/$package_name/version"); - if (!defined($old_version_string)) { - return ($new_version_string, $old_version_string, $package_maintainer); - } - my ($new_nr,$old_nr); - @nversion = split /\./, $new_version_string; - @oversion = split /\./, $old_version_string; - my $version_ok = 0; - while (@nversion) { - $new_nr = shift @nversion; - $old_nr = shift @oversion; - $old_nr = 0 if !defined($old_nr); - if ($new_nr < $old_nr) { - last; - } - if ($new_nr > $old_nr) { - $version_ok = 1; - last; - } - } - if (defined($old_package_maintainer)) { - if ($old_package_maintainer =~ /\<(.*)\>/) { - push(@reply_list, $1); - } - } - if ( $package_maintainer ne $old_package_maintainer) { - log_msg "Alert: Maintainer changed from '$old_package_maintainer'" . - " to '$package_maintainer'"; - } - if ($version_ok ) { - return ($new_version_string,$old_version_string, $package_maintainer); - } else { - log_msg - "Version $new_version_string is not bigger than $old_version_string"; - return (); - } -} - -my @source_files_to_check; - -sub add_codefiles -{ - if ( $_ =~ /\.(C|h)\s*$/ and -f $_) { - push @source_files_to_check, $File::Find::name; - } -} - -sub check_codefiles($$) -{ - my $package_name = $_[0]; - my $package_maintainer = $_[1]; - @source_files_to_check = (); - if (-d 'include') { - find(\&add_codefiles, "include"); - } - if (-d 'src') { - find(\&add_codefiles, "src"); - } - if (-d 'config') { - find(\&add_codefiles, "config"); - } - my $source_file; - foreach $source_file (@source_files_to_check) { - system("$check_source_file_prog -u -d \"\" -p \"$package_name\" -m \"$package_maintainer\" $source_file >tmpmsg.$$"); - open CHECK_MSGS, ") { - chomp; - log_msg($_); - } - close CHECK_MSGS; - unlink "tmpmsg.$$"; - } -} - -sub append_maintainer_file_to_version_file() -{ - open(MAINTAINER,'maintainer') or return; - $_ = ; - if (/^\s*$/) { - close(MAINTAINER); - return; - } - open(VERSION,'>>version'); - if ($_ !~ /^maintainer\s*:/) { - print VERSION "maintainer: "; - } - print VERSION $_; - close(VERSION); - while () { - if ($_ =~ /\<(.*@.*)\>/) { - push(@reply_list, $1); - } - } - close(MAINTAINER); -} - -sub filenames_of_package_ok($) -{ - my $rc; - $rc = system("/projects/CGAL/admin_scripts/check_filenames_of_package \"$_[0]\" . >tmpmsg.$$"); - open CHECK_MSGS, ") { - chomp; - log_msg($_); - } - close CHECK_MSGS; - unlink "tmpmsg.$$"; - - $rc >>= 8; - if ($rc == 1) { - log_msg("ERROR: sorry, there was an internal error at Utrecht.") - } - if ($rc == 2) { - log_msg("ERROR: Your submissions contains files that are in use in another package") - } - return ($rc == 0); -} - -sub check_for_ignored_files() -{ - my %expected_names; - my @expected_names = ("include", "test", "examples", "demo", "src", - "version","doc_tex","stlport","winutils","auxiliary", - "developer_scripts","scripts","cgal_config.bat", - "install.txt","INSTALL.win32", - "submission_info","maintainer","description.txt", - "changes.txt","long_description.txt","doc_ps"); - my @files_in_directory; - opendir THISDIR, "." or die "Cannot open current directory: $!"; - @files_in_directory = grep !/^\.\.?$/, readdir THISDIR; - closedir THISDIR; - for (@expected_names) { - $expected_names{$_}++; - } - for (@files_in_directory) { - if (!$expected_names{$_}) { - log_msg "WARNING: toplevel file $_ will not go into releases!"; - } - } -} - -sub check_package($) -{ - my ($version, $prev_version, $package_maintainer); - if ( ! -f 'version' ) { - log_msg "ERROR: File version is missing!"; - return 0; - } - if (-f 'maintainer') { - append_maintainer_file_to_version_file(); - } - if ( ! (($version, $prev_version, $package_maintainer) = - check_version($_[0])) ) { - log_msg "ERROR: version file does not pass the checks!"; - return 0; - } - if ( ! -f 'description.txt' ) { - log_msg "WARNING: File description.txt is missing!"; - } else { - my $word_count; - $word_count = `cat description.txt| wc -w`; - if ($word_count > 50) { - log_msg "WARNING: File description.txt contains more than 50 words!"; - } - my $rc; - $rc = system("sed -e 's//\\>/g' < description.txt > descr"); - if ($rc == 0) { - rename 'descr', 'description.txt'; - } else { - unlink 'descr'; - } - } -# if ( ! -f 'changes.txt' ) { -# log_msg "WARNING: File changes.txt is missing!"; -# } - check_for_ignored_files(); - if ( ! filenames_of_package_ok($_[0])) { - return 0; - } - check_codefiles("$_[0] ($version)", "$package_maintainer"); - if (defined($prev_version)) { - log_msg "Version $version will replace $prev_version"; - } else { - log_msg "Version $version will be installed"; - } - return 1; -} - -sub compress_package($) -{ - my $package_name = shift; - compress_psfiles; - system 'zip', '-q', '-r', $package_name, glob("*"); - return !$?; -} - -sub remove_files() -{ - my ($file); - opendir THISDIR, "." or die; - foreach $file (readdir THISDIR) { - if (-d $file) { - next if $file eq '.'; - next if $file eq '..'; - next if $file eq 'doc_ps'; - system 'rm', '-rf', "$file"; - } elsif (-f $file) { - next if $file =~ /\.zip$/; - next if $file eq 'version'; - next if $file eq 'description.txt'; - next if $file eq 'long_description.txt'; - next if $file eq 'changes.txt'; - next if $file eq 'submission_info'; - unlink $file; - } - } - closedir THISDIR; -} - -sub move_packagedir($) -{ - my $package_name = shift; - # first remove the earlier version (if it exists) - if ( -d "$oldpackagedir/$package_name" ) { -# log_msg "removing directory $oldpackagedir/$package_name" - system('rm', '-rf', "$oldpackagedir/$package_name"); - } - - # move existing version to old packages - if ( -d "$packagedir/$package_name" ) { -# log_msg "moving directory $packagedir/$package_name to $oldpackagedir/$package_name" - print STDERR 'cp',' -r'," $packagedir/$package_name ", $oldpackagedir ,"\n"; - (system('cp','-r',"$packagedir/$package_name", $oldpackagedir)==0) or die; - (system('rm','-r',"$packagedir/$package_name")==0) or die; - } - -# log_msg "moving directory $tempdir to $packagedir/$package_name" - rename($tempdir, "$packagedir/$package_name") or die; - - system 'chgrp', '-R', 'cgal', "$packagedir/$package_name"; - system 'chmod', '-R', 'ug+w,a+r', "$packagedir/$package_name" ; -} - -sub install_submission($$) -{ - my ($file_name, $file_pathname, $package_name); - $file_name = shift; - $package_name = shift; - $file_pathname = "$download_dir/$file_name"; - - if (! unpack_package( $file_pathname) ) { - log_msg("Failed to unpack $file_pathname"); - return 0; - } - - if (!check_package($package_name)) { - return 0; - } - - if (!compress_package($package_name)) { - log_msg "ERROR: Failed to compress $file_name"; - return 0; - } - - remove_files; - move_packagedir($package_name); - return 1; -} - -sub do_submission($) -{ - my ($url, $cur_dir,$file_name,$package_name); - $url = shift; - ($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"; - } - unlink glob("$download_dir/*") if (! $testing); - log_header "downloading $url"; -# my $logfileno = fileno(LOGFILE); -# die "Log file not open" if ! defined($logfileno); - $cur_dir =cwd(); - my $lockfile = "$download_dir/$package_name.lock"; - if ( system("$LOCKCMD", "-r", '10', $lockfile) != 0) { - log_msg "ERROR: could not acquire lock on file $lockfile!"; - return 0; - } - if (chdir "$download_dir") { - system("$WGET $url"); - chdir $cur_dir; - } - if ( ! -f "$download_dir/$file_name" ) { - log_msg "ERROR: download failed!"; - return 0; - } - - chdir($tempdir); - open SUBMISSION_INFO, ">submission_info"; - print SUBMISSION_INFO "URL: $url.\n"; - close SUBMISSION_INFO; - - if (install_submission("$file_name",$package_name) ) { - log_header "Package was successfully installed!"; - } else { - log_header "ERROR: Installation of the package failed!"; - unlink $lockfile; - return 0; - } - unlink $lockfile; - return 1; -} - - -#----------------------------------- -# -# main loop -# -#----------------------------------- - -if ($#ARGV < 0) { - print "Too few arguments:",$#ARGV,"\n"; - print_usage; - exit 1; -} - -my $starting_directory = cwd(); - -if ($starting_directory =~ m'CGAL/Geert/maintenance') { - $testing=1; -} - -init_variables(); - -$SIG{INT}='IGNORE'; -$SIG{QUIT} = 'IGNORE'; -$SIG{TERM} = 'IGNORE'; - -unlink $ACTUAL_LOGFILE; -system("echo >$ACTUAL_LOGFILE"); -open LOGFILE, ">$ACTUAL_LOGFILE"; - - -foreach $submission ( @ARGV) { - if (!create_package_dir) { - log_msg "Failed to create temporary directory $tempdir"; - exit 1; - } - do_submission($submission); - chdir($starting_directory); - if (-d "$tempdir") { - system('rm', '-rf', "$tempdir"); - } -} - -close LOGFILE; - -@reply_list = sort(@reply_list); -my $prev = ""; -my @rlist; -foreach (@reply_list) { - if ($_ ne $prev) { - $prev = $_; - push(@rlist, $prev); - } -} - -$ARGV[0] =~ s|.*/||; -system "cat $ACTUAL_LOGFILE | $MAIL_PROG \"CGAL submission $ARGV[0]\" @rlist"; - - -unlink $ACTUAL_LOGFILE; - -exit 0; - - diff --git a/Maintenance/package_handling/treat_submit_mail b/Maintenance/package_handling/treat_submit_mail deleted file mode 100755 index 1c142af2fbd..00000000000 --- a/Maintenance/package_handling/treat_submit_mail +++ /dev/null @@ -1,273 +0,0 @@ -#!/sw/bin/perl -w - -use strict; - -my $treated_messages_log = - '/projects/CGAL/submissions/autohandle/data/treated_submit_messages'; -my $install_submission_program = - '/projects/CGAL/admin_scripts/install_www_submission'; - -my $scripts_dir= '/projects/CGAL/admin_scripts'; -my $receive_testresult_program = - '/users/geert/tmp/echo_to_log'; -my $update_submissions_www_page_program = "$scripts_dir/create_packages_page"; -my $receive_result_collection_program = "$scripts_dir/treat_result_collection"; -my $MAIL_PROG="$scripts_dir/send_cgal_mail"; -#my $MAIL_PROG='/usr/sbin/Mail'; - -my $Sender; -my $maintainer= 'geert@cs.uu.nl'; -my $no_of_succesful_submissions = 0; - -my @trusted_hosts = ( - 'cgal.org', - 'cs.uu.nl', - 'inria.fr', - 'informatik.uni-halle.de', - 'inf.ethz.ch', - 'math.ethz.ch', - 'mpi-sb.mpg.de', - 'inf.fu-berlin.de', - 'uni-trier.de', - 'clipper.ens.fr', - 'schtroumpf.ens.fr', - 'eleves.ens.fr', - 'cs.unc.edu', - 'twi.tudelft.nl', - 'tau.ac.il'); - -sub get_url() -{ - my $html_address=""; - while (<>) { - chomp; - if (/^\s*$/) { - return $html_address; - } - s/\s//g; - $html_address .= $_; - if ($html_address =~ /\.tar\.gz$/) { - return $html_address; - } - if ($html_address =~ /\.tgz$/) { - return $html_address; - } - if ($html_address =~ /\.zip$/) { - return $html_address; - } - } - return ""; -} - -sub is_trusted_url($) -{ - my $URL = shift; - foreach (@trusted_hosts) { - if ($URL =~ m|^\s*http://[\.\w-]+\.$_[/:]|) { - return 1; - } - } - return 0; -} - -sub is_trusted_sender($) -{ - my $sender = shift; - foreach (@trusted_hosts) { - if ($sender =~ m|$_\s*$|) { - return 1; - } - } - return 0; -} - -sub treat_submission($) -{ - my ($URL,$option); - $option = shift; - $URL = get_url; - if ($URL eq "") { -# mail $Sender that something went wrong. -# do the same to maintainer. - open NOTICE, "|$MAIL_PROG \"CGAL autohandle failure!\" $Sender - $maintainer"; - print NOTICE <<"TOTHIER"; -Your submission (or one of your submissions) had an unrecognized URL. -The URL should be on a separate line, directly following the line -with the submission keyword, e.g as in: - -submission:: -http://www.mysite.mycountry/mypackage.zip - -Please resend your request or send a message to cgal-submit asking for more -information. - -TOTHIER -close NOTICE; - return; - } - if (! is_trusted_url($URL)) { - open NOTICE, "|$MAIL_PROG \"Untrusted URL!\" $maintainer"; - print NOTICE <<"TOTHIER"; -The submission by $Sender with URL -$URL -is not trusted and did not proceed. -Please take manual action. - -TOTHIER -close NOTICE; - return; - } - if (system("$install_submission_program", "$URL") == 0) - { ++$no_of_succesful_submissions; } -} - -sub treat_result_collection() -{ - my ($URL); - $URL = get_url; - if (!$URL) { -# mail $Sender that something went wrong. -# do the same to maintainer. - return; - } - if (! is_trusted_url($URL)) { - open NOTICE, "|$MAIL_PROG \"Untrusted URL!\" $maintainer"; - print NOTICE <<"TOTHIER"; -The Testresult with URL -$URL -is not trusted and did not proceed. -Please take manual action. - -TOTHIER -close NOTICE; - return; - } - system("$receive_result_collection_program", $URL); -} - -sub treat_testresult($) -{ - my ($URL,$release); - $release = shift; - $URL = get_url; - if (!$URL) { -# mail $Sender that something went wrong. -# do the same to maintainer. - return; - } - if (! is_trusted_url($URL)) { - open NOTICE, "|$MAIL_PROG \"Untrusted URL!\" $maintainer"; - print NOTICE <<"TOTHIER"; -The Testresult with URL -$URL -is not trusted and did not proceed. -Please take manual action. - -TOTHIER -close NOTICE; - return; - } - system("$receive_testresult_program", "$release", "$Sender", "$URL"); -} - -sub message_processed($) -{ - my $message_id = shift; - open(TREATED_MESSAGES, "<$treated_messages_log"); - while () { - chomp; - if ($message_id eq $_) { - close TREATED_MESSAGES; - return 1; - } - } - close TREATED_MESSAGES; - open(TREATED_MESSAGES, ">>$treated_messages_log"); - print TREATED_MESSAGES "$message_id\n"; - close TREATED_MESSAGES; - return 0; -} - -sub main() -{ - my ($from); - my $command_found = 0; - $_ = <>; - chomp; - ($from, $Sender) = split; - if ($from ne "From") { - exit 1; - } - - $Sender =~ s/\s*//g; - - if ( $Sender eq 'daemon@cs.uu.nl') { - while(<>) { - if (/^\s*Sender\s*:\s*(.+)$/) { - $Sender = $1; - last; - } - } - } - if (!is_trusted_sender($Sender)) { - open NOTICE, "|$MAIL_PROG \"Untrusted sender!\" $maintainer"; - print NOTICE <<"TOTHIER"; -The submission with sender -$Sender -is not trusted and did not proceed. --------------- start of message -------------- -TOTHIER - while(<>) { - print NOTICE $_; - } - print NOTICE "-------------- end of message --------------\n"; -close NOTICE; - exit 0; - } - - while(<>) { - if (/^\s*message-id\s*:\s*(.*?)\s*$/i) { - last if message_processed($1); - } - elsif (/^\s*submission\s*:\s*([^:]*?)\s*:\s*$/) { - $command_found = 1; - treat_submission($1); - } - elsif (/^\s*result[\s_-]?collection\s*:\s*:\s*$/){ - $command_found = 1; - treat_result_collection(); - } - elsif (/^\s*testresult\s*:\s*([^:]*?)\s*:\s*$/){ - $command_found = 1; - treat_testresult($1); - } else { - } - } - if ($no_of_succesful_submissions > 0) { - system($update_submissions_www_page_program); - } - if (!$command_found) { - open NOTICE, "|$MAIL_PROG \"CGAL autohandle warning\" $Sender"; - print NOTICE <<"TOTHIER"; -Your submission did not contain any command. -A command is e.g. - -submission:: - -Note the two colons (and note that it is on a separate line). - -TOTHIER -close NOTICE; - } -} - -# don't break off processing of a message - -$SIG{INT}='IGNORE'; -$SIG{QUIT} = 'IGNORE'; -$SIG{TERM} = 'IGNORE'; - -main; -exit 0; - diff --git a/Maintenance/release_building/finish_release b/Maintenance/release_building/finish_release deleted file mode 100755 index c5656e3ee43..00000000000 --- a/Maintenance/release_building/finish_release +++ /dev/null @@ -1,185 +0,0 @@ -#!/sw/bin/perl -w - -#use strict - -#Checking for correct usage - -sub usage() -{ - print STDERR "usage: $0 versionfile1 versionfile2\n"; - print STDERR "where versionfile1 and versionfile2 are filenames like\n"; - print STDERR "directory/versions_CGAL-3.4-I-28.\n"; - print STDERR "The order of the two version files is not important.\n\n"; -} - -if ($#ARGV != 1) { - usage(); - die "\n"; -} - -my @testers = ( - 'geert', -# 'd.pasechnik@twi.tudelft.nl', - 'hert@mpi-sb.mpg.de', -# 'stschirr@mpi-sb.mpg.de', - 'hoffmann@inf.ethz.ch', - 'rineau@clipper.ens.fr', -# 'Francois.Rebufat@sophia.inria.fr', - 'Mariette.Yvinec@sophia.inria.fr', - 'Sylvain.Pion@sophia.inria.fr', - 'Andreas.Fabri@sophia.inria.fr', - 'Radu.Ursu@sophia.inria.fr', -); -my $scripts_dir= "/projects/CGAL/admin_scripts/"; -my $data_dir= "${scripts_dir}DATA/"; -my $testsuite_dir = '/users/www/CGAL/Members/Develop/testsuite'; -my $diff_dir = "/tmp/CGAL/diffs"; -my $release_dir = "/users/www/CGAL/Members/Develop/updates"; -my $new_version; -my $old_version; - -my ($v1,$v2,$v3,$u1,$u2,$u3); -my $versionv=shift or die; -if ( !(($v1,$v2,$v3)= ($versionv =~ /versions_CGAL-(\d+)\.(\d+)-I-(\d+)$/)) ) { - usage(); - die "Invalid first version file with name $versionv\n"; -} -my $versionu=shift or die; -if ( !(($u1,$u2,$u3)= ($versionu =~ /versions_CGAL-(\d+)\.(\d+)-I-(\d+)$/) ) ) { - usage(); - die "Invalid second version file with name $versionu\n"; -} - -my $swap_versions = 0; -if ($v1 == $u1 && $v2 == $u2 && $v3 == $u3) { - die "Versions are the same ($v1-$v2-$v3\n)"; -} - -if ($u1 > $v1 || ($u1 == $v1 && ($u2 > $v2 || ($u2 == $v2 && $u3 > $v3))) ) { - $swap_versions = 1; -} - -die "File $versionv does not exist or is not readable" if (! -r $versionv ); -die "File $versionu does not exist or is not readable" if (! -r $versionu ); -die "No write permission in $data_dir" if (! -w $data_dir); -umask(02); - -# end of checking of input - -my %new_versions; -my %old_versions; - -unlink "${data_dir}version_info", - "${data_dir}new_versions", - "${data_dir}new_packages", - "${data_dir}removed_packages", - "${data_dir}latest_versions", - "${data_dir}version_info"; - -open(VERSION_INFO, ">${data_dir}version_info"); -if ($swap_versions) { - $new_version = "CGAL-${u1}.${u2}-I-${u3}"; - $old_version = "CGAL-${v1}.${v2}-I-${v3}"; - print VERSION_INFO "CGAL-${u1}.${u2}-I-${u3} "; - print VERSION_INFO "CGAL-${v1}.${v2}-I-${v3}\n"; - open(NEW_VERSIONS,"<${versionu}") or die; - open(OLD_VERSIONS,"<$versionv") or die; -} else { - $old_version = "CGAL-${u1}.${u2}-I-${u3}"; - $new_version = "CGAL-${v1}.${v2}-I-${v3}"; - print VERSION_INFO "CGAL-${v1}.${v2}-I-${v3} "; - print VERSION_INFO "CGAL-${u1}.${u2}-I-${u3}\n"; - open(NEW_VERSIONS,"<$versionv") or die; - open(OLD_VERSIONS,"<$versionu") or die; -} - -close VERSION_INFO or die; - -open(UPDATED,">${data_dir}new_versions") or die; -system('chgrp','cgal',"${data_dir}new_versions"); -open(NEW_PACKAGES,">${data_dir}new_packages") or die; -system('chgrp','cgal',"${data_dir}new_packages"); -open(DELETED,">${data_dir}removed_packages") or die; -system('chgrp','cgal',"${data_dir}removed_packages"); -open(FORMATTED_VERSIONS,">${data_dir}latest_versions") or die; -system('chgrp','cgal',"${data_dir}latest_versions"); - - -while() { - if (m/^\s*(.*?)\s*:\s*(.*?)\s*$/) { - $old_versions{$1}=$2; - } -} - -close OLD_VERSIONS or die; - -my $pckge='aapje'; -my $vrsion; - -format FORMATTED_VERSIONS= - @<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<< - $pckge, $vrsion -. - - -while() { - if (m/^\s*(.*?)\s*:\s*(.*?)\s*$/) { - ($pckge,$vrsion) = ($1,$2); - write FORMATTED_VERSIONS; - $new_versions{$1}=$2; - } -} - -close NEW_VERSIONS or die; - -my ($key, $value); - -while (($key,$value) = each %new_versions) { - if (exists $old_versions{$key} ) { - if ( $value ne $old_versions{$key} ) { - print UPDATED "$key\n"; - } - } else { - print NEW_PACKAGES "$key\n"; - } -} - -while (($key,$value) = each %old_versions) { - if (!exists $new_versions{$key} ) { - print DELETED "$key\n"; - } -} - - - -close(UPDATED) or die; -close(NEW_PACKAGES) or die; -close(DELETED) or die; -close(FORMATTED_VERSIONS) or die; - -#make_diffs(); - -system("${scripts_dir}print_release_page"); - -chdir($testsuite_dir); -system("echo","./create_testresult_page", '-p', $old_version, $new_version); -system("./create_testresult_page", '-p', $old_version, $new_version); - -sub make_diffs() -{ - system('mkdir','-p',"$diff_dir"); - chdir $diff_dir; - system("gunzip -c $release_dir/$old_version.tar.gz | gtar xf - "); - system("gunzip -c $release_dir/$new_version.tar.gz | gtar xf -" ); - system("diff -urPN $old_version $new_version > diffs_$new_version"); - system('rm','-r',$old_version,$new_version); - system('gzip', "diffs_$new_version"); - system('cp',"diffs_$new_version.gz","$testsuite_dir/$new_version"); - system('cp',"diffs_$new_version.gz","$release_dir"); - system('rm',"diffs_$new_version.gz"); -} - -open (TEST_REQUEST, "| ${scripts_dir}send_cgal_mail -s 'CGAL autotest request' @testers") or die; -print TEST_REQUEST <<"EOM" -release: $new_version -EOM diff --git a/Maintenance/release_building/format_versions b/Maintenance/release_building/format_versions deleted file mode 100755 index 33f14aac385..00000000000 --- a/Maintenance/release_building/format_versions +++ /dev/null @@ -1,22 +0,0 @@ -#!/sw/bin/perl - -#use strict - -my $pckge='aapje'; -my $vrsion; - -format STDOUT = - @<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<< - $pckge, $vrsion -. - -#$~ = "Nice_Output"; - -while() { - if (m/^\s*(.*?)\s*:\s*(.*?)\s*$/) { - ($pckge,$vrsion) = ($1,$2); - #print STDERR $pckge, $vrsion,"\n"; - write; - } -} - diff --git a/Maintenance/release_building/handle_new_release b/Maintenance/release_building/handle_new_release deleted file mode 100755 index 034045347e3..00000000000 --- a/Maintenance/release_building/handle_new_release +++ /dev/null @@ -1,111 +0,0 @@ -#!/sw/bin/perl -w - -use strict; -my ( - $last_version_file, - $Version_A, - $Version_B, - $Version_C, - $New_C, - $Version, - $VersionsDir, - $ReleasesDir, - $TestresultDir, - @versions, - $creation_succ, - ); - -sub make_version($$$) -{ - return "CGAL-$_[0].$_[1]-I-$_[2]"; -} - -sub start_local_testsuite($) -{ - my $host = shift; - open (START_LOCAL_TEST,">/users/geert/tmp/start_cgal_testsuite_${host}"); - print START_LOCAL_TEST "${Version}\n"; - close(START_LOCAL_TEST); -} - -sub remove_old_releases(@) -{ - my $c = $#_ + 1; - chdir $ReleasesDir; - my $old_versions; - while ($c > 6) { - $c -= 3; - $old_versions = make_version($_[$c],$_[$c+1],$_[$c+2]); - unlink("${old_versions}.tar.gz"); - } -} - -sub remove_old_testresults(@) -{ - chdir $TestresultDir; - my @old_versions; - while ((${Version_A},${Version_B},${Version_C}) = splice(@_,0,3)) { - push(@old_versions, make_version(${Version_A},${Version_B},${Version_C})); - } - if (@old_versions) { - system("./empty_dir",@old_versions); - } -} - - -$ENV{PATH} = '/projects/CGAL/admin_scripts:/projects/CGAL/bin:/users/geert/bin:/sw/bin:/usr/bin:/usr/ucb:/usr/ccs/bin:/usr/openwin/bin:/ust/dt/bin:/users/geert/PUBLIC/bin'; - -$last_version_file = '/projects/CGAL/lib/last_internal_release'; -$VersionsDir = '/projects/CGAL/Releases/Versions'; -$ReleasesDir = '/users/www/CGAL/Members/Develop/updates'; -$TestresultDir = '/users/www/CGAL/Members/Develop/testsuite'; - - -# get current version - -open (VERSIONS, "$last_version_file") || die; -while($_ = ) { - if ( ($Version_A,$Version_B,$Version_C)= - ($_ =~ /^\s*(\d+)\s+(\d+)\s+(\d+)\s*$/) ) { - push(@versions,$Version_A,$Version_B,$Version_C); - } -} -close VERSIONS; -($Version_A,$Version_B,$Version_C)= @versions; - - -if (! -d '/tmp/CGAL') { - mkdir('/tmp/CGAL',0775); -} - -chdir '/tmp/CGAL'; - -$New_C = $Version_C +1; -$Version = make_version(${Version_A},${Version_B},${New_C}); - -if (system('create_release',"${Version_A}-${Version_B}-${New_C}")==0) { - unshift(@versions,${Version_A},${Version_B},${New_C}); - - chdir $VersionsDir; - system('finish_release', - "versions_CGAL-${Version_A}.${Version_B}-I-${Version_C}", - "versions_${Version}"); - - start_local_testsuite("denebola"); - start_local_testsuite("liguria"); - - remove_old_releases(@versions); - remove_old_testresults(splice(@versions, 4*3)); -} else { -# rollback_release(${Version_A},${Version_B},${New_C}); -} - -# recreate last_release_file - - -open(OUTVERSIONS, ">$last_version_file") or die "Could not write versions "; -while ((${Version_A},${Version_B},${Version_C}) = splice(@versions,0,3)) { - print OUTVERSIONS "${Version_A} ${Version_B} ${Version_C}\n"; -} -close OUTVERSIONS; - diff --git a/Maintenance/support/get_cgal_html b/Maintenance/support/get_cgal_html deleted file mode 100755 index 4959f195c6a..00000000000 --- a/Maintenance/support/get_cgal_html +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -WGETRC=/projects/CGAL/admin_scripts/DATA/wgetrc -export WGETRC - -/sw/bin/wget $1 - diff --git a/Maintenance/support/send_cgal_mail b/Maintenance/support/send_cgal_mail deleted file mode 100755 index 1fffeb0dbec..00000000000 --- a/Maintenance/support/send_cgal_mail +++ /dev/null @@ -1,25 +0,0 @@ -#! /sw/bin/perl5 - -use strict; - -$ENV{PATH}="$ENV{PATH}:/sw/bin"; -my $subject = shift; -if ($subject eq "-s") { - $subject = shift; -} -my $recipients = join(' ',@ARGV); -open NOTI, "| '/sw/sbin/sendmail' '-t'"; -#open NOTI, "| '/usr/bin/cat'"; -print NOTI <<"TOTHIER"; -From: geert+cgal-submit\@cs.uu.nl -Subject: $subject -To: $recipients - -TOTHIER - -while ( ) { - print NOTI $_; -} -close NOTI; -exit 0; - diff --git a/Maintenance/test_handling/empty_dir b/Maintenance/test_handling/empty_dir deleted file mode 100755 index 58a9bc6e824..00000000000 --- a/Maintenance/test_handling/empty_dir +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -old_results_dir=/projects/CGAL/old_results -tempdir=/tmp - - -while [ $# -ge 1 ] -do - if [ -d "$1" ] ; then - if [ -d "$1/Polygon" -o -d "$1/src" ] ; then - echo "emptying $1" >&2 - if [ -x "$1" ] ; - then - cp -r "$1" $tempdir - find "$tempdir/$1" -name '*.gz' | xargs gunzip - (cd $tempdir; tar cf $1.tar $1; gzip --best $1.tar; rm -r $1) - if mv $tempdir/$1.tar.gz $old_results_dir - then - chgrp cgal $old_results_dir/$1.tar.gz - chmod g+w $old_results_dir/$1.tar.gz - cd $1 - rm */* ; - rm -f diffs*.gz - rmdir * 2>/dev/null - cd .. - echo "Moved $1 to $old_results_dir" >&2 - else - echo "Could not mv $tempdir/$1.tar.gz $old_results_dir" - fi - else - echo "Could not cd to $1" >&2 - fi - else - echo "$1 seems to be emptied already" >&2 - fi - else - echo "$1 is not a directory" >&2 - fi -shift -done - - diff --git a/Maintenance/test_handling/split_in_platforms b/Maintenance/test_handling/split_in_platforms deleted file mode 100755 index 39e6005b586..00000000000 --- a/Maintenance/test_handling/split_in_platforms +++ /dev/null @@ -1,32 +0,0 @@ -#!/sw/bin/perl5 - -use strict; - -my $new_platform = ""; -while (<>) { - if ( m/Build on\s+(\S+):\s/ ) { - $new_platform = $1; - print "Found ($new_platform)\n"; - last; - } -} - -if (! $new_platform ) { -print "No platform\n"; -} - -while ($new_platform) { - open PLATFORM_OUTPUT, ">$new_platform" or die; - $new_platform = ""; - print PLATFORM_OUTPUT $_; - -while (<>) { - if ( m/Build on\s+(\S+):\s/ ) { - $new_platform = $1; - print "Found ($new_platform)\n"; - last; - } else { - print PLATFORM_OUTPUT $_; - } -} -} diff --git a/Maintenance/test_handling/test_announce b/Maintenance/test_handling/test_announce deleted file mode 100755 index d2a2beffe37..00000000000 --- a/Maintenance/test_handling/test_announce +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -lockfile=/private/cgal_testannounce.lock -annoucements=/private/cgal_testannouncements -notify=/projects/CGAL/admin_scripts/send_cgal_mail - - -if /sw/bin/lockfile -60 -r 100 -l 600 $lockfile -then - if files=`ls /private/CGAL/testannouncements/* 2>/dev/null` - then - for file in $files - do - base=`basename $file` - if $notify -s "New test results (${base})" 'cgal-develop-l@postino.mpi-sb.mpg.de' < $file - then - rm -f $file - fi - done - fi - rm -f $lockfile -fi diff --git a/Maintenance/test_handling/treat_result_mail b/Maintenance/test_handling/treat_result_mail deleted file mode 100755 index 7d044c0a0de..00000000000 --- a/Maintenance/test_handling/treat_result_mail +++ /dev/null @@ -1,94 +0,0 @@ -#!/sw/bin/perl5 -w - -use strict; - -my $tmpdir; - -sub usage { - print STDERR "$0: usage\n"; - print STDERR "$0 result1.tar[.gz] ...\n"; -} - -sub make_tempdir() -{ - my $dirno = 1; - $tmpdir = "TMP$dirno"; - while ( -f $tmpdir or -d $tmpdir ) { - ++$dirno; - $tmpdir = "TMP$dirno"; - } - mkdir($tmpdir,0770) or die "Cannot create temporary directory $tmpdir\n"; -} - -sub one_archive($) -{ - my $archive = shift; - make_tempdir(); - if (! -f $archive) { - print STDERR "$archive is not a valid filename\n"; - return 0; - } - if ( $archive =~ m/\.gz$/ ) { - system("/sw/bin/gunzip", "$archive") == 0 or return 0; - $archive =~ s/\.gz$//; - } - if ( $archive =~ m/.*\.tgz$/ ) { - system("gunzip", "$archive") == 0 or return 0; - $archive =~ s/\.tgz$/.tar/; - } - if ( $archive !~ /\.tar$/) { - print STDERR "$0: $archive not a tar file\n"; - return 0; - } - rename("$archive","$tmpdir/$archive") or die; - chdir("$tmpdir") or die; - system("tar", "xf", "$archive") == 0 or die; - unlink($archive); - system('gzip',glob("*/*")); - system('chmod','-R','a+r,og+w','.'); - system('tar', 'cf', "../$archive", glob("*")) == 0 or die; - chdir('..') or die; - system('rm', '-rf', "$tmpdir")== 0 or die; - return 1; -} - -sub all_archives() { - my $archive; - foreach $archive (@ARGV) { - if (one_archive($archive)) { - print STDERR "$archive succesfully reformatted.\n"; - } else { - print STDERR "Could not reformat $archive\n"; - } - } -} - -if ($#ARGV < 0) { - usage; - exit 1; -} - -all_archives(); - - - -#-------------------------- -# parse_mail such that you get -# $test_url == -# (http://)($host_and_directory)/($release_version)(-test)($number)(.tar.gz) -# make tmpdir under /private/CGAL and go there -# wget $test_url -# gunzip $name == ${release_version}-test${number}.tar.gz -# rm *.txt -# $unpack_dir = cwd -# $testresult_dir = $CGWW/testsuite/$release_version -# test if $testresult_dir exists. -# foreach $name.gz in result*gz { -# to_zipped_format $name.gz -# cd $testresult_dir -# tar xf $unpack_dir/$name -# cd $unpack_dir -# } -# cd $testresult_dir/.. -# make_www_page ${release_version} -