From 5f1e7c747accd642e3e7f31af95b9afb87b313ad Mon Sep 17 00:00:00 2001 From: Geert-Jan Giezeman Date: Tue, 7 Jul 1998 15:26:56 +0000 Subject: [PATCH] Converting a submitted TestResults file to an appropriate format for the www archive (uncompressing and recompressing). --- .../test_handling/to_zipped_format | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 Packages/Maintenance/test_handling/to_zipped_format diff --git a/Packages/Maintenance/test_handling/to_zipped_format b/Packages/Maintenance/test_handling/to_zipped_format new file mode 100755 index 00000000000..e386f2bf1df --- /dev/null +++ b/Packages/Maintenance/test_handling/to_zipped_format @@ -0,0 +1,71 @@ +#!/net/bin/perl5 -w + +use strict; + +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("/net/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(); + +