Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.

       * sources.am: Regenerated.
       * gcj/javaprims.h: Regenerated.
       * Makefile.in: Regenerated.
       * gcj/Makefile.in: Regenerated.
       * include/Makefile.in: Regenerated.
       * testsuite/Makefile.in: Regenerated.

       * gnu/java/lang/VMInstrumentationImpl.java: New override.
       * gnu/java/net/local/LocalSocketImpl.java: Likewise.
       * gnu/classpath/jdwp/VMMethod.java: Likewise.
       * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
       interface.
       * java/lang/Thread.java: Add UncaughtExceptionHandler.
       * java/lang/reflect/Method.java: Implements GenericDeclaration and
       isSynthetic(),
       * java/lang/reflect/Field.java: Likewise.
       * java/lang/reflect/Constructor.java
       * java/lang/Class.java: Implements Type, GenericDeclaration,
       getSimpleName() and getEnclosing*() methods.
       * java/lang/Class.h: Add new public methods.
       * java/lang/Math.java: Add signum(), ulp() and log10().
       * java/lang/natMath.cc (log10): New function.
       * java/security/VMSecureRandom.java: New override.
       * java/util/logging/Logger.java: Updated to latest classpath
       version.
       * java/util/logging/LogManager.java: New override.

From-SVN: r113887
This commit is contained in:
Mark Wielaard 2006-05-18 17:29:21 +00:00
parent eaec4980e1
commit 4f9533c772
1640 changed files with 126485 additions and 104808 deletions

View file

@ -1,164 +0,0 @@
#!/usr/bin/perl -w
# Purpose is to move patches from upload directory to
# public patches directory. Any file not matching the correct
# pattern is deleted. Any patch file without a README and the
# file was last modified more than 120 minutes ago is deleted.
# Any README file without a patch file which was last modified
# more than 120 minutes ago is deleted.
#
# notes to self: as long as this runs as root do not worry
# about quota problems or disk space
use strict;
my ($upload_dir) = "/home/ftp/classpath/incoming";
my ($public_dir) = "/home/ftp/classpath/pub/patches";
my ($user) = "classpath";
my ($group) = "classpath";
my ($mode_dir) = "775";
my ($mode_file) = "664";
my (@patches) = ();
use vars qw($upload_dir $public_dir @patches $user $group
$mode_dir $mode_file);
# main
{
@patches = &getPatches();
&movePatches(@patches);
}
#---------------------------------------------------------------
# Purpose: To remove files not matching the correct pattern.
# To remove README files without patches (last modified greater
# than 2 hours). To remove patches without README files (last
# modified greater than 2 hours).
#---------------------------------------------------------------
sub getPatches
{
my (@patches) = ();
my (@entries) = ();
my (%maybe) = ();
my ($entry, $debug, $prefix, $junk, $file, $patch, $readme) = "";
my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime,
$mtime, $ctime, $blksize, $blocks) = "";
$debug = 1;
opendir(INCOMING, "$upload_dir") || die "could not open $upload_dir\n";
@entries = grep( !/^\.\S+/, readdir(INCOMING)); # no .*
closedir(INCOMING);
foreach $entry (sort @entries)
{
if (($entry eq ".") || ($entry eq "..")) { next; }
if (-d "$upload_dir/$entry")
{
print "Directory: $upload_dir/$entry/\n";
}
elsif (-e "$upload_dir/$entry")
{
if ($entry eq ".message") { next; }
if ($entry eq "README") { next; }
if ($entry !~ /^\w+-\d\d\d\d\d\d-\d+\.patch\.(gz|README)$/)
{
print "REGEX FAILED: $entry\n";
unlink("$upload_dir/$entry");
}
else
{
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,
$ctime,$blksize,$blocks) = stat("$upload_dir/$entry");
if ($size > 512000)
{
print "LARGE PATCH: $entry\n";
unlink("$upload_dir/$entry");
}
else
{
($prefix,$junk) = split(/(\.gz|\.README)/, $entry, 2);
$maybe{$prefix} += 1;
}
}
}
}
foreach $entry (keys(%maybe))
{
if ($maybe{$entry} == 2)
{
$patch = "$entry.gz";
$readme = "$entry.README";
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,
$ctime,$blksize,$blocks) = stat($patch);
if (time-$mtime > 900)
{
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,
$ctime,$blksize,$blocks) = stat($readme);
if (time-$mtime > 900)
{
$patches[$#patches+1] = $entry;
}
}
}
else
{
if (-e "$upload_dir/$entry.gz")
{
unlink("$upload_dir/$entry.gz");
print "STALE PATCH: $entry.gz\n";
}
elsif (-e "$upload_dir/$entry.README")
{
unlink("$upload_dir/$entry.README");
print "STALE README: $entry.README\n";
}
}
}
return (@patches);
}
#---------------------------------------------------------------
# Purpose: To move the patches to the proper directory and set
# the permissions correctly.
#---------------------------------------------------------------
sub movePatches
{
my (@patches) = @_;
my ($patch) = "";
my ($fail) = 0;
if (!(-d "$public_dir"))
{
system("mkdir -p $public_dir");
system("chown $user.$group $public_dir");
system("chmod $mode_dir $public_dir");
}
foreach $patch (@patches)
{
if (-e "$public_dir/$patch.gz")
{
print "Patch exists: $public_dir/$patch.gz\n";
$fail = 1;
}
if (-e "$public_dir/$patch.README")
{
print "README exists: $public_dir/$patch.README\n";
$fail = 1;
}
if ($fail == 0)
{
system("mv $upload_dir/$patch.gz $public_dir/$patch.gz");
system("mv $upload_dir/$patch.README $public_dir/$patch.README");
system("chown $user.$group $public_dir/*");
system("chmod $mode_file $public_dir/*");
open(MAIL, "|mail -s \"Classpath: $patch uploaded\" core\@classpath.org") || die "could not open mail\n";
print MAIL "GNU Classpath FTP Maintenance\n";
print MAIL "\n";
print MAIL "Added Files:\n";
print MAIL "ftp://ftp.classpath.org/pub/patches/$patch.gz\n";
print MAIL "ftp://ftp.classpath.org/pub/patches/$patch.README\n\n";
close(MAIL);
}
}
}