diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2007-03-22 13:56:08 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2007-03-22 13:56:08 +0000 |
commit | c999c4f1b130984eb5dbeb9c4c05f758a6f3daf5 (patch) | |
tree | d3193c2c83ae20bff62cc3c1fa1cff50d924c9c6 /ACE | |
parent | e891fb85473f0dd0d6df96a13ac48890a1f72301 (diff) | |
download | ATCD-c999c4f1b130984eb5dbeb9c4c05f758a6f3daf5.tar.gz |
ChangeLogTag: Thu Mar 22 14:51:46 UTC 2007 Chad Elliott <elliott_c@ociweb.com>
Diffstat (limited to 'ACE')
-rw-r--r-- | ACE/ChangeLog | 31 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/DependencyEditor.pm | 118 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/DependencyGenerator.pm | 77 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/DependencyWriter.pm | 33 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/DependencyWriterFactory.pm | 35 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/MakeDependencyWriter.pm | 32 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/MakeObjectGenerator.pm | 47 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/NMakeDependencyWriter.pm | 53 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/NMakeObjectGenerator.pm | 28 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/ObjectGenerator.pm | 32 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/ObjectGeneratorFactory.pm | 35 | ||||
-rw-r--r-- | ACE/bin/DependencyGenerator/Preprocessor.pm | 147 | ||||
-rwxr-xr-x | ACE/bin/depgen.pl | 193 | ||||
-rwxr-xr-x | ACE/bin/make_release.py | 4 | ||||
-rw-r--r-- | ACE/docs/bczar/bczar.html | 42 |
15 files changed, 71 insertions, 836 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index 7354bcd6be2..af2071e77eb 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,7 +1,36 @@ +Thu Mar 22 14:51:46 UTC 2007 Chad Elliott <elliott_c@ociweb.com> + + * bin/make_release.py: + + Fixed a bug where the input file for bzip2 and gzip was not + correct and the md5sum output file was missing a period. + + * docs/bczar/bczar.html: + + Updated the documentation and fixed some spelling mistakes. + + * bin/depgen.pl: + + Modified to use the dependency generator core that was moved into + MPC. + + * bin/DependencyGenerator/DependencyEditor.pm: + * bin/DependencyGenerator/DependencyGenerator.pm: + * bin/DependencyGenerator/DependencyWriter.pm: + * bin/DependencyGenerator/DependencyWriterFactory.pm: + * bin/DependencyGenerator/MakeDependencyWriter.pm: + * bin/DependencyGenerator/MakeObjectGenerator.pm: + * bin/DependencyGenerator/NMakeDependencyWriter.pm: + * bin/DependencyGenerator/NMakeObjectGenerator.pm: + * bin/DependencyGenerator/ObjectGenerator.pm: + * bin/DependencyGenerator/ObjectGeneratorFactory.pm: + * bin/DependencyGenerator/Preprocessor.pm: + + Removed these files. Wed Mar 21 12:12:26 CDT 2007 Chad Elliott <elliott_c@ociweb.com> - * ACE version 5.5.7 released. + * ACE version 5.5.7 released. Tue Mar 20 12:42:13 UTC 2007 Chad Elliott <elliott_c@ociweb.com> diff --git a/ACE/bin/DependencyGenerator/DependencyEditor.pm b/ACE/bin/DependencyGenerator/DependencyEditor.pm deleted file mode 100644 index 646ae2ae574..00000000000 --- a/ACE/bin/DependencyGenerator/DependencyEditor.pm +++ /dev/null @@ -1,118 +0,0 @@ -package DependencyEditor; - -# ************************************************************ -# Description : Edits existing dependencies. -# Author : Chad Elliott -# Create Date : 2/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; - -use DependencyGenerator; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - return bless { - }, $_[0]; -} - - -sub process { - my($self) = shift; - my($output) = shift; - my($type) = shift; - my($noinline) = shift; - my($macros) = shift; - my($ipaths) = shift; - my($replace) = shift; - my($exclude) = shift; - my($files) = shift; - - ## Back up the original file and receive the contents - my($contents) = undef; - if (-s $output) { - $contents = []; - if (!$self->backup($output, $contents)) { - print STDERR "ERROR: Unable to backup $output\n"; - return 1; - } - } - - ## Write out the new file - my($fh) = new FileHandle(); - if (open($fh, ">$output")) { - if (defined $contents) { - foreach my $line (@$contents) { - print $fh $line; - } - } - - print $fh "# DO NOT DELETE THIS LINE -- depgen.pl uses it.\n", - "# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.\n\n"; - - my($dep) = new DependencyGenerator($macros, $ipaths, $replace, - $type, $noinline, $exclude); - ## Sort the files so the dependencies are reproducible - foreach my $file (sort @$files) { - print $fh $dep->process($file), "\n"; - } - - print $fh "# IF YOU PUT ANYTHING HERE IT WILL GO AWAY\n"; - close($fh); - } - else { - print STDERR "ERROR: Unable to open $output for output\n"; - return 1; - } - - return 0; -} - - -sub backup { - my($self) = shift; - my($source) = shift; - my($contents) = shift; - my($status) = 0; - my($fh) = new FileHandle(); - my($backup) = "$source.bak"; - - if (open($fh, $source)) { - my($oh) = new FileHandle(); - if (open($oh, ">$backup")) { - my($record) = 1; - $status = 1; - while(<$fh>) { - print $oh $_; - if ($record) { - if (index($_, 'DO NOT DELETE') >= 0) { - $record = undef; - } - else { - push(@$contents, $_); - } - } - } - close($oh); - - ## Set file permission - my(@buf) = stat($source); - if (defined $buf[8] && defined $buf[9]) { - utime($buf[8], $buf[9], $backup); - } - } - close($fh); - } - return $status; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/DependencyGenerator.pm b/ACE/bin/DependencyGenerator/DependencyGenerator.pm deleted file mode 100644 index 58caa43b53e..00000000000 --- a/ACE/bin/DependencyGenerator/DependencyGenerator.pm +++ /dev/null @@ -1,77 +0,0 @@ -package DependencyGenerator; - -# ************************************************************ -# Description : Runs the correct dependency generator on the file. -# Author : Chad Elliott -# Create Date : 2/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use Preprocessor; -use DependencyWriterFactory; -use ObjectGeneratorFactory; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($macros) = shift; - my($ipaths) = shift; - my($replace) = shift; - my($type) = shift; - my($noinline) = shift; - my($exclude) = shift; - my($self) = bless {'pre' => new Preprocessor($macros, - $ipaths, $exclude), - 'replace' => $replace, - 'dwrite' => DependencyWriterFactory::create($type), - 'objgen' => ObjectGeneratorFactory::create($type), - 'noinline' => $noinline, - }, $class; - - ## Set the current working directory, but - ## escape regular expression special characters - $self->{'cwd'} = Cwd::getcwd() . '/'; - $self->{'cwd'} =~ s/([\+\-\\\$\[\]\(\)\.])/\\$1/g; - - ## Sort the replace keys to get the longest key first. This way - ## when we are replacing portions of the file path, we replace the - ## most we can. - my(@repkeys) = sort { length($b) <=> length($a) } keys %$replace; - $self->{'repkeys'} = \@repkeys; - - return $self; -} - - -sub process { - my($self) = shift; - my($file) = shift; - - ## Generate the dependency string - my($depstr) = $self->{'dwrite'}->process( - $self->{'objgen'}->process($file), - $self->{'pre'}->process($file, $self->{'noinline'})); - - ## Perform the replacements on the dependency string - if ($depstr =~ s/$self->{'cwd'}//go) { - } - else { - my($replace) = $self->{'replace'}; - foreach my $rep (@{$self->{'repkeys'}}) { - $depstr =~ s/$rep/$$replace{$rep}/g; - } - } - - return $depstr; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/DependencyWriter.pm b/ACE/bin/DependencyGenerator/DependencyWriter.pm deleted file mode 100644 index c0c8243004f..00000000000 --- a/ACE/bin/DependencyGenerator/DependencyWriter.pm +++ /dev/null @@ -1,33 +0,0 @@ -package DependencyWriter; - -# ************************************************************ -# Description : Base class for all Dependency Writers. -# Author : Chad Elliott -# Create Date : 2/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - return bless { - }, $_[0]; -} - - -sub process { - #my($self) = shift; - #my($objects) = shift; - #my($files) = shift; - return ''; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/DependencyWriterFactory.pm b/ACE/bin/DependencyGenerator/DependencyWriterFactory.pm deleted file mode 100644 index 74fdbe2d871..00000000000 --- a/ACE/bin/DependencyGenerator/DependencyWriterFactory.pm +++ /dev/null @@ -1,35 +0,0 @@ -package DependencyWriterFactory; - -# ************************************************************ -# Description : Create DependencyWriter objects. -# Author : Chad Elliott -# Create Date : 5/23/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use GNUDependencyWriter; -use NMakeDependencyWriter; -use MakeDependencyWriter; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub create { - switch: { - $_[0] eq 'gnu' && do { return new GNUDependencyWriter(); }; - $_[0] eq 'nmake' && do { return new NMakeDependencyWriter(); }; - $_[0] eq 'make' && do { return new MakeDependencyWriter(); }; - print STDERR "WARNING: Invalid dependency writer type: $_[0]\n"; - } - - return new DependencyWriter(); -} - - -1; diff --git a/ACE/bin/DependencyGenerator/MakeDependencyWriter.pm b/ACE/bin/DependencyGenerator/MakeDependencyWriter.pm deleted file mode 100644 index ee9d0db4a89..00000000000 --- a/ACE/bin/DependencyGenerator/MakeDependencyWriter.pm +++ /dev/null @@ -1,32 +0,0 @@ -package MakeDependencyWriter; - -# ************************************************************ -# Description : Generates generic Makefile dependencies. -# Author : Chad Elliott -# Create Date : 2/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use DependencyWriter; - -use vars qw(@ISA); -@ISA = qw(DependencyWriter); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub process { - my($objects) = $_[1]; - my($files) = $_[2]; - - ## Sort the dependencies to make them reproducible - return "@$objects: \\\n " . join(" \\\n ", sort @$files) . "\n"; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/MakeObjectGenerator.pm b/ACE/bin/DependencyGenerator/MakeObjectGenerator.pm deleted file mode 100644 index 67e5cf174b8..00000000000 --- a/ACE/bin/DependencyGenerator/MakeObjectGenerator.pm +++ /dev/null @@ -1,47 +0,0 @@ -package MakeObjectGenerator; - -# ************************************************************ -# Description : Generates object files for generic Makefiles. -# Author : Chad Elliott -# Create Date : 5/23/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use ObjectGenerator; - -use vars qw(@ISA); -@ISA = qw(ObjectGenerator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub process { - my($noext) = $_[1]; - my(@objects) = (); - my(@exts) = ('o'); - my(@dirs) = (defined $ENV{VDIR} ? $ENV{VDIR} : ''); - $noext =~ s/\.[^\.]+$//o; - - if (defined $ENV{SOEXT}) { - push(@exts, $ENV{SOEXT}); - } - if (defined $ENV{VSHDIR}) { - push(@dirs, $ENV{VSHDIR}); - } - - foreach my $dirs (@dirs) { - foreach my $ext (@exts) { - push(@objects, "$dirs$noext.$ext"); - } - } - - return \@objects; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/NMakeDependencyWriter.pm b/ACE/bin/DependencyGenerator/NMakeDependencyWriter.pm deleted file mode 100644 index 903406562ac..00000000000 --- a/ACE/bin/DependencyGenerator/NMakeDependencyWriter.pm +++ /dev/null @@ -1,53 +0,0 @@ -package NMakeDependencyWriter; - -# ************************************************************ -# Description : Generates NMake dependencies. -# Author : Chad Elliott -# Create Date : 2/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use DependencyWriter; - -use vars qw(@ISA); -@ISA = qw(DependencyWriter); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub process { - my($sources) = $_[1]; - my($files) = $_[2]; - my($total) = 0; - - $$sources[0] =~ s/\//\\/g; - $$sources[0] =~ s/\\\\/\\/g; - my($dep) = "$$sources[0] :\\\n"; - - ## Sort the dependencies to make them reproducible - foreach my $file (sort @$files) { - $file =~ s/\//\\/g; - $file =~ s/\\\\/\\/g; - if ($file ne $$sources[0]) { - $dep .= "\t\"$file\"\\\n"; - ++$total; - } - } - - if ($total == 0) { - $dep = ''; - } - else { - $dep .= "\n\n"; - } - - return $dep; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/NMakeObjectGenerator.pm b/ACE/bin/DependencyGenerator/NMakeObjectGenerator.pm deleted file mode 100644 index ac4f11fa902..00000000000 --- a/ACE/bin/DependencyGenerator/NMakeObjectGenerator.pm +++ /dev/null @@ -1,28 +0,0 @@ -package NMakeObjectGenerator; - -# ************************************************************ -# Description : Generates object files for NMake Makefiles. -# Author : Chad Elliott -# Create Date : 5/23/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use ObjectGenerator; - -use vars qw(@ISA); -@ISA = qw(ObjectGenerator); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub process { - return [ $_[1] ]; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/ObjectGenerator.pm b/ACE/bin/DependencyGenerator/ObjectGenerator.pm deleted file mode 100644 index d7e92070642..00000000000 --- a/ACE/bin/DependencyGenerator/ObjectGenerator.pm +++ /dev/null @@ -1,32 +0,0 @@ -package ObjectGenerator; - -# ************************************************************ -# Description : Base class for all Object Generators. -# Author : Chad Elliott -# Create Date : 5/23/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - return bless { - }, $_[0]; -} - - -sub process { - #my($self) = shift; - #my($file) = shift; - return []; -} - - -1; diff --git a/ACE/bin/DependencyGenerator/ObjectGeneratorFactory.pm b/ACE/bin/DependencyGenerator/ObjectGeneratorFactory.pm deleted file mode 100644 index e161db948ab..00000000000 --- a/ACE/bin/DependencyGenerator/ObjectGeneratorFactory.pm +++ /dev/null @@ -1,35 +0,0 @@ -package ObjectGeneratorFactory; - -# ************************************************************ -# Description : Create ObjectGenerator objects. -# Author : Chad Elliott -# Create Date : 5/23/2003 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; - -use GNUObjectGenerator; -use NMakeObjectGenerator; -use MakeObjectGenerator; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub create { - switch: { - $_[0] eq 'gnu' && do { return new GNUObjectGenerator(); }; - $_[0] eq 'nmake' && do { return new NMakeObjectGenerator(); }; - $_[0] eq 'make' && do { return new MakeObjectGenerator(); }; - print STDERR "WARNING: Invalid object generator type: $_[0]\n"; - } - - return new ObjectGenerator(); -} - - -1; diff --git a/ACE/bin/DependencyGenerator/Preprocessor.pm b/ACE/bin/DependencyGenerator/Preprocessor.pm deleted file mode 100644 index 66e5d206b66..00000000000 --- a/ACE/bin/DependencyGenerator/Preprocessor.pm +++ /dev/null @@ -1,147 +0,0 @@ -package Preprocessor; - -# ************************************************************ -# Description : Preprocesses the supplied file. -# Author : Chad Elliott -# Create Date : 2/10/2002 -# ************************************************************ - -# ************************************************************ -# Pragmas -# ************************************************************ - -use strict; -use FileHandle; -use File::Basename; - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub new { - my($class) = shift; - my($macros) = shift; - my($ipaths) = shift; - my($exclude) = shift; - return bless {'macros' => $macros, - 'ipaths' => $ipaths, - 'exclude' => $exclude, - 'files' => {}, - 'ifound' => {}, - 'recurse' => 0, - }, $class; -} - - -sub process { - my($self) = shift; - my($file) = shift; - my($noinline) = shift; - my($noincs) = shift; - my($fh) = new FileHandle(); - - if (open($fh, $file)) { - my($ifcount) = 0; - my(@zero) = (); - my($files) = $self->{'files'}; - my($recurse) = ++$self->{'recurse'}; - my($dir) = dirname($file); - - $$files{$file} = []; - while(<$fh>) { - ## As an optimization, use a very simple regular expression on the - ## outside that all of the inner regular expressions have in - ## common. That way we go down the path of if elsif only if it is - ## even possible due to the outside regular expression. - ## index() is faster than a regular expression, so use index first. - next if (index($_, '#') == -1 || not /^\s*#/); - - ## Remove same line c comments (no need to worry about c++ - ## comments due to the regular expressions) inside this if statement. - ## This saves about 5% off of processing the ace directory - ## and we only need to strip comments if we are actually - ## going to look at the string. - $_ =~ s/\/\*.*\*\///o; - - if (/^\s*#\s*endif/) { - --$ifcount; - if (defined $zero[0] && $ifcount == $zero[$#zero]) { - pop(@zero); - } - } - elsif (/^\s*#\s*if\s+0/) { - push(@zero, $ifcount); - ++$ifcount; - } - elsif (/^\s*#\s*if/) { - ++$ifcount; - } - elsif (!defined $zero[0] && - /^\s*#\s*include\s+[<"]([^">]+)[">]/o) { - ## Locate the include file - my($inc) = undef; - if (exists $self->{'ifound'}->{$1}) { - $inc = $self->{'ifound'}->{$1}; - } - else { - foreach my $dirp (@{$self->{'ipaths'}}) { - if (-r "$dirp/$1") { - $inc = "$dirp/$1"; - last; - } - } - - if (!defined $inc) { - ## If the file we're currently looking at contains a - ## directory name then, we need to look for include - ## files in that directory. - if (-r "$dir/$1") { - $inc = "$dir/$1"; - } - } - $self->{'ifound'}->{$1} = $inc; - } - - ## If we've found the include file, then process it too. - next if (not defined $inc); - - $inc =~ s/\\/\//go; - if (!$noinline || - ($recurse == 1 || $inc !~ /\.i(nl)?$/o)) { - push(@{$$files{$file}}, $inc); - if (!defined $$files{$inc}) { - ## Process this file, but do not return the include files - if (!defined $self->{'exclude'}->{substr($inc, rindex($inc, '/') + 1)}) { - $self->process($inc, $noinline, 1); - } - } - } - } - } - close($fh); - - --$self->{'recurse'}; - } - - ## This has to be outside the if (open(... - ## If the last file to be processed isn't accessable then - ## we still need to return the array reference of includes. - if (!$noincs) { - my(@files) = ($file); - my(%ifiles) = (); - - foreach my $processed (@files) { - foreach my $inc (@{$self->{'files'}->{$processed}}) { - if (!defined $ifiles{$inc}) { - $ifiles{$inc} = 1; - push(@files, $inc); - } - } - } - shift(@files); - return \@files; - } -} - - -1; diff --git a/ACE/bin/depgen.pl b/ACE/bin/depgen.pl index 814521f5b0b..bd72496b58d 100755 --- a/ACE/bin/depgen.pl +++ b/ACE/bin/depgen.pl @@ -14,7 +14,6 @@ eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}' # ************************************************************ use strict; -use Config; use FindBin; use File::Spec; use File::Basename; @@ -26,186 +25,32 @@ if ($^O eq 'VMS') { } unshift(@INC, $basePath . '/DependencyGenerator'); -require DependencyEditor; +my($mpcroot) = $ENV{MPC_ROOT}; +my($mpcpath) = (defined $mpcroot ? $mpcroot : + dirname(dirname($basePath)) . '/MPC'); +unshift(@INC, $mpcpath . '/modules/Depgen'); -# ************************************************************ -# Data Section -# ************************************************************ - -my($version) = '1.0'; -my($os) = ($^O eq 'MSWin32' ? 'Windows' : 'UNIX'); -my(%types) = ('gnu' => 1, - 'nmake' => 1, - 'make' => 1, - ); -my(%defaults) = ('UNIX' => ['gnu'], - 'Windows' => ['nmake'], - ); - -# ************************************************************ -# Subroutine Section -# ************************************************************ - -sub usageAndExit { - my($opt) = shift; - my($base) = basename($0); - - if (defined $opt) { - print "$opt.\n"; - } - - print "$base v$version\n" . - "Usage: $base [-D<MACRO>[=VALUE]] [-I<include dir>] [-A] " . - "[-R <VARNAME>]\n" . - " " . (" " x length($base)) . - " [-e <file>] [-f <output file>] [-i] [-t <type>] [-n]\n" . - " " . (" " x length($base)) . " <files...>\n" . - "\n" . - "-D This option sets a macro to an optional value.\n" . - "-I The -I option adds an include directory.\n" . - "-A Replace \$ACE_ROOT and \$TAO_ROOT paths with \$(ACE_ROOT) " . - "and \$(TAO_ROOT)\n respectively.\n" . - "-R Replace \$VARNAME paths with \$(VARNAME).\n" . - "-e Exclude dependencies generated by <file>, but not <file> " . - "itself.\n" . - "-f Specifies the output file. This file will be edited if it " . - "already\n exists.\n" . - "-i Do not print an error if no source files are provided.\n" . - "-n Do not include inline files (ending in .i or .inl) in the " . - "dependencies.\n" . - "-t Use specified type ("; - my(@keys) = sort keys %types; - for(my $i = 0; $i <= $#keys; ++$i) { - print "$keys[$i]" . - ($i != $#keys ? $i == $#keys - 1 ? ' or ' : ', ' : '');; +if (! -d "$mpcpath/modules/Depgen") { + print STDERR "ERROR: Unable to find the MPC DependencyGenerator ", + "modules in $mpcpath.\n"; + if (defined $mpcroot) { + print STDERR "Your MPC_ROOT environment variable does not point to a ", + "valid MPC location.\n"; } - print ") instead of the default.\n" . - " The default is "; - @keys = sort keys %defaults; - for(my $i = 0; $i <= $#keys; ++$i) { - my($def) = $keys[$i]; - print $defaults{$def}->[0] . " on $def" . - ($i != $#keys ? $i == $#keys - 1 ? ' and ' : ', ' : ''); - } - print ".\n"; - exit(0); -} - - -sub setReplace { - my($replace) = shift; - my($name) = shift; - my($value) = shift; - - if (defined $name) { - ## The key will be used in a regular expression. - ## So, we need to escape some special characters. - $name = File::Spec->canonpath($name); - $name =~ s/([\+\-\\\$\[\]\(\)\.])/\\$1/g; - - $$replace{$name} = $value; + else { + print STDERR "You can set the MPC_ROOT environment variable to the ", + "location of MPC.\n"; } + exit(255); } +require Driver; # ************************************************************ # Main Section # ************************************************************ -my($type) = $defaults{$os}->[0]; -my($noinline) = undef; -my(@files) = (); -my(%macros) = (); -my(@ipaths) = (); -my(%replace) = (); -my(%exclude) = (); -my($output) = '-'; -my($needsrc) = 1; - -if (defined $ENV{ACE_ROOT} && !defined $ENV{TAO_ROOT}) { - $ENV{TAO_ROOT} = "$ENV{ACE_ROOT}/TAO"; -} - -for(my $i = 0; $i <= $#ARGV; ++$i) { - my($arg) = $ARGV[$i]; - if ($arg =~ /^\-D(\w+)(=(.*))?/) { - $macros{$1} = $3; - } - elsif ($arg =~ /^\-I(.*)/) { - push(@ipaths, File::Spec->canonpath($1)); - } - elsif ($arg eq '-A') { - setReplace(\%replace, $ENV{ACE_ROOT}, '$(ACE_ROOT)'); - setReplace(\%replace, $ENV{TAO_ROOT}, '$(TAO_ROOT)'); - setReplace(\%replace, $ENV{ACE_PLATFORM_CONFIG}, '$(ACE_PLATFORM_CONFIG)'); - } - elsif ($arg eq '-R') { - ++$i; - $arg = $ARGV[$i]; - if (defined $arg) { - my($val) = $ENV{$arg}; - if (defined $val) { - setReplace(\%replace, $val, "\$($arg)"); - } - } - else { - usageAndExit('Invalid use of -R'); - } - } - elsif ($arg eq '-e') { - ++$i; - $arg = $ARGV[$i]; - if (defined $arg) { - $exclude{$arg} = 1; - } - else { - usageAndExit('Invalid use of -e'); - } - } - elsif ($arg eq '-f') { - ++$i; - $arg = $ARGV[$i]; - if (defined $arg) { - $output = $arg; - } - else { - usageAndExit('Invalid use of -f'); - } - } - elsif ($arg eq '-i') { - $needsrc = undef; - } - elsif ($arg eq '-n') { - $noinline = 1; - } - elsif ($arg eq '-h') { - usageAndExit(); - } - elsif ($arg eq '-t') { - ++$i; - $arg = $ARGV[$i]; - if (defined $arg && defined $types{$arg}) { - $type = $arg; - } - else { - usageAndExit('Invalid use of -t'); - } - } - elsif ($arg =~ /^[\-+]/) { - ## We will ignore unknown options - ## Some options for aCC start with + - } - else { - push(@files, $arg); - } -} - -if (!defined $files[0]) { - if ($needsrc) { - usageAndExit('No files specified'); - } -} - -my($editor) = new DependencyEditor(); -exit($editor->process($output, $type, $noinline, \%macros, - \@ipaths, \%replace, \%exclude, \@files)); +my($driver) = new Driver('UNIX=gnu', + 'automatic=ACE_ROOT,TAO_ROOT,CIAO_ROOT,' . + 'DDS_ROOT,ACE_PLATFORM_CONFIG'); +exit($driver->run(\@ARGV)); diff --git a/ACE/bin/make_release.py b/ACE/bin/make_release.py index 2817df864e4..39359b1b8cc 100755 --- a/ACE/bin/make_release.py +++ b/ACE/bin/make_release.py @@ -536,13 +536,13 @@ def move_packages (name, stage_dir, package_dir): shutil.copy (tar_file, target_file) ex ("bzip2 " + target_file) - ex ("md5sum " + target_file + " > " + target_file + "bz2.md5") + ex ("md5sum " + target_file + ".bz2 > " + target_file + ".bz2.md5") print "\tgzip file....." shutil.copy (tar_file, target_file) ex ("gzip " + target_file) - ex ("md5sum " + target_file + " > " + target_file + "gz.md5") + ex ("md5sum " + target_file + ".gz > " + target_file + ".gz.md5") def create_file_lists (base_dir, prefix, exclude): """ Creates two lists of files: files that need CR->CRLF diff --git a/ACE/docs/bczar/bczar.html b/ACE/docs/bczar/bczar.html index 55b2f0ccb83..d4c361c0c32 100644 --- a/ACE/docs/bczar/bczar.html +++ b/ACE/docs/bczar/bczar.html @@ -35,8 +35,8 @@ problems. <li> Keep an eye on the <a href="http://www.dre.vanderbilt.edu/Stats"> - footprint and performance </a> stats. Any obnormal changes needs to - be brought to the attention of the developer resposible for it + footprint and performance </a> stats. Any abnormal changes needs to + be brought to the attention of the developer responsible for it or to the <a href="mailto:devo-group@list.isis.vanderbilt.edu"> DEVO group </a>. <li> Keep the builds ticking. Any red on the "Last Finished" column @@ -45,7 +45,7 @@ <li> The builds don't cover all the possible configurations. If you get a bug report about a compile error in a particular - configuration, try setting up a build to make sure that it doesnt + configuration, try setting up a build to make sure that it doesn't show up again if it has been fixed. <li> Keep an eye on the <a @@ -60,7 +60,7 @@ the powers of a build Czar. </P> <P> The Build Czar has the power to set up more builds on his own for -his convinience. This +his convenience. This <a href="https://svn.dre.vanderbilt.edu/viewvc/ACE_autobuild/trunk/README?revision=HEAD"> page </a> has a step by step instructions on how to do that. </P> @@ -76,7 +76,7 @@ safe time because the repo stays stable.</p> <hr> <h2>Recipe for Cutting a Beta/Minor Kit</h2> -<P> The build czar is also incharge for the release of the +<P> The build czar is also in charge for the release of the beta. Cutting a beta is as simple as cutting butter if things go well. Here is the procedure followed while cutting a beta: @@ -90,7 +90,7 @@ is interrupted, the cutting process can continue. <li> type <code>screen</code> to start screen.</li> <li> execute commands as normal. Note that Ctrl-A is special in screen, so you need to type Ctrl-A-A to send a Ctrl-A to the shell</li> -<li> should your sesssion be interrupted, reconnect and type <code>screen -x</code></li> +<li> should your session be interrupted, reconnect and type <code>screen -x</code></li> <li> when finished, just type exit twice</li> </ul> <li>Prior to starting this, gather aggregate release notes from all @@ -105,8 +105,8 @@ The best place to create the workspace is under /export/anduriltmp/bczar. Don't the home directory itself, it is an NFS share and not really fast. </li> <li>Checkout like this: -<ul><li>svn co https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT</li> - <li>svn co https://svn.dre.vanderbilt.edu/DOC/MPC/trunk DOC_ROOT/ACE/MPC</li> +<ul><li>svn co --username <your user id> https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT</li> + <li>svn co --username <your user id> https://svn.dre.vanderbilt.edu/DOC/MPC/trunk DOC_ROOT/ACE/MPC</li> </ul> </ul> <li> Set $DOC_ROOT to point to the new @@ -127,7 +127,7 @@ take a couple minutes to complete.</li> <li>The kits end up in <tt>/export/anduriltmp/bczar/packages</tt></li> </ul> <p> -To summarise, the following is a transcript of the steps up to this point executing +To summarize, the following is a transcript of the steps up to this point executing successfully: <p> <code> sm@beatrice ~<br> @@ -163,7 +163,7 @@ TAO/tao/Version.h<br> ace/Version.h<br></code><p> In most cases, a <code>svn revert -R *</code> from DOC_ROOT will suffice.<br /> The tag will also need to be removed: ACE+TAO+CIAO-X_Y_Z -(wher X and Y are the minor and beta release numbers of the release that is to be restarted).<p> +(where X and Y are the minor and beta release numbers of the release that is to be restarted).<p> E.g.:<br> <code> svn rm https://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-X_Y_Z<br /> @@ -171,18 +171,16 @@ svn rm https://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-X_Y_Z<br Note that this <em>only</em> needs to be done if the <em>tagging</em> fails. If kit creation fails, simply restart that process. -<li>The packages and up by default under $DOC_ROOT/packages-PID, you can copy them to the webserver using the following commands. At the moment +<li>You should copy the previous packages to the previous versions directory with the appropriate decorators. +<ul> +<li><code>cd /export/www/download.dre/previous_versions</code></li> +<li>Modify the <code>copy_script</code> to use the correct version X.Y.Z and run it. +</ul> +<li>The packages end up by default under $DOC_ROOT/packages-PID, you can copy them to the webserver using the following commands. At the moment you execute these commands all users can download these packages.</li> <code> cp $DOC_ROOT/packages-PID/ACE* /export/www/download.dre/ACE+TAO-distribution<br> </code> -<li>You shoulde also copy the packages wo the previous versions directory with the appropriate decorators. -<ul> -<li><code>cd $DOC_ROOT/packages-PID</code></li> -<li><code>rename tar X.Y.Z.tar *</code> Where X, Y, and Z are the appropriate major, minor, and beta version numbers for ACE.</li> -<li><code>rename zip X.Y.Z.zip *</code></li> -<li><code>cp * /export/www/download.dre/previous_versions</code</li> -</ul> <li>Once the distribution is ready, get ready for creating doxygen documentation. This is slightly complicated than it requires. We will address the complexity soon.</li> @@ -221,13 +219,13 @@ these before you do anything with them.</li></ul> <li>now we have a bczar Bugzilla user with full privileges. This bczar Bugzilla account would point to bczar user at ISIS. For example, as a new build czar, you could update the .forward file on one of the ISIS hosts, say, naboo.dre.vanderbilt.edu with your build czar email.</li> <li>you should be able to send request through the bugzilla system to email you the password at any time to bczar@dre.vanderbilt.edu</li> <li>here is the description of how to add a new version through Bugzilla.</li> -<li>go to any Bugzilla "Query" page, you should see a yellow box at the bottom. click "Log in" link to log in as bzar@dre.vanderbilt.edu.</li> +<li>go to any Bugzilla "Query" page, you should see a yellow box at the bottom. click "Log in" link to log in as bczar@dre.vanderbilt.edu.</li> <li>look at the yellow box at bottom again. You will see several links following "Edit". Click on the "components" link.</li> <li>you are then at "Select product" page. You should see a list components, i.e., ACE CIAO TAO. Click on the product you want to edit.</li> <li>you are then at "Edit product" page. Scroll down a bit, you should see a list of all versions coming with this product. At the very beginning of the list, you should see "Edit versions" link. Click this link.</li> <li>you should see a "Add a new version" text box and a "Add" link just above the yellow box at the bottom. Click on this link</li> <li>you are then at "Add version of [Name of the product]" page.</li> -<li>you are able to add the new verion now.</li> +<li>you are able to add the new version now.</li> </ul> <li>Now update the documentation at www.dre.vanderbilt.edu/Doxygen.</li> @@ -276,7 +274,7 @@ incarnation).<br> 4. If a build hasn't run in a long time (symptoms are a "red" in the Last Run column of the build scoreboard), delete the .disable file in /path/to/build/directory/BUILD_NAME/ by hand.<br> -5. Think of the group who wrote the scoreboard update script, everytime +5. Think of the group who wrote the scoreboard update script, every time you catch an otherwise not so obvious error with the help of the scoreboard. Tell <a href="mailto:devo-group@list.isis.vanderbilt.edu"> DEVO group </a> about it.<br> @@ -298,7 +296,7 @@ monitor improvement. Instead manually start the builds.<br> 13. Maintain private up-to-date workspaces for problem platforms (read as Solaris).<br> 14. Don't hesitate to ask for help.<br> -15. When you get an account to acess the cvs repo, make sure you are added to the correct groups, for example, gid=100(users),5000(doc),5002(acetaodev),5003(cvs). Otherwise you will have problem to checkout various modules.<br> +15. When you get an account to access the cvs repo, make sure you are added to the correct groups, for example, gid=100(users),5000(doc),5002(acetaodev),5003(cvs). Otherwise you will have problem to checkout various modules.<br> 16. Install your public key to the different machines you have frequent access to avoid typing password.<br> 17. Update this page if you have any more tips for future build czars :-). This page is <code>bugzilla@deuce.doc.wustl.edu:~/.www-docs/index.html</code><br> |