ooo-build r13354 - in trunk: . bin bin/piece doc patches/dev300 scratch/split
- From: michael svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r13354 - in trunk: . bin bin/piece doc patches/dev300 scratch/split
- Date: Tue, 22 Jul 2008 19:47:30 +0000 (UTC)
Author: michael
Date: Tue Jul 22 19:47:30 2008
New Revision: 13354
URL: http://svn.gnome.org/viewvc/ooo-build?rev=13354&view=rev
Log:
2008-07-22 Michael Meeks <michael meeks novell com>
* patches/dev300/piece-solenv.diff,
* patches/dev300/piece-target.diff: lots of work.
* bin/piece/install-generic: misc. bug fixing.
* bin/piece/install-bootstrap: don't confuse sloppypatch with
setup_native bits.
* bin/piece/copyexcept: add magic copy that omits exceptions
* bin/piece/install-generic: use it.
* patches/dev300/piece-solenv.diff: output sources of
installed files.
Added:
trunk/bin/piece/copyexcept (contents, props changed)
Modified:
trunk/ChangeLog
trunk/bin/package-ooo
trunk/bin/piece/Makefile.am
trunk/bin/piece/install-bootstrap
trunk/bin/piece/install-generic
trunk/bin/unpack
trunk/doc/split.txt
trunk/patches/dev300/piece-solenv.diff
trunk/patches/dev300/piece-target.diff
trunk/scratch/split/ooo3_bootstrap.spec
trunk/scratch/split/ooo3_ure.spec
Modified: trunk/bin/package-ooo
==============================================================================
--- trunk/bin/package-ooo (original)
+++ trunk/bin/package-ooo Tue Jul 22 19:47:30 2008
@@ -23,7 +23,7 @@
# ln -sf $OOBUILDDIR/solver/$UPD/$INPATH .
if test -f "$TOOLSDIR/bin/piece/install-$PIECE"; then
echo "$PIECE specific install"
- . $TOOLSDIR/bin/piece/install-$PIECE && exit 1
+ source $TOOLSDIR/bin/piece/install-$PIECE || exit 1
fi
exit 0;
fi
Modified: trunk/bin/piece/Makefile.am
==============================================================================
--- trunk/bin/piece/Makefile.am (original)
+++ trunk/bin/piece/Makefile.am Tue Jul 22 19:47:30 2008
@@ -1,6 +1,7 @@
EXTRA_DIST = \
sys-setup \
unpack-l10n \
+ copyexcept \
noulf noulfconv \
${wildcard env-*} \
${wildcard build-*} \
Added: trunk/bin/piece/copyexcept
==============================================================================
--- (empty file)
+++ trunk/bin/piece/copyexcept Tue Jul 22 19:47:30 2008
@@ -0,0 +1,77 @@
+#!/usr/bin/perl -w
+
+use strict;
+use File::Copy;
+
+sub syntax()
+{
+ print "copyexcept [-x exception-file] <src> <dest>\n";
+ print " -x: file containing list of files not to copy\n";
+ print " --help: this message\n";
+}
+
+sub copy_recursive($$$);
+sub copy_recursive($$$)
+{
+ my ($excepts, $src, $dest) = @_;
+
+ if (defined $excepts->{$src}) {
+ print "skipping $src\n";
+ return;
+ }
+
+ if (-d $src) {
+ print "mkdir $dest\n";
+ mkdir $dest || die "Failed to mkdir $dest: $!";
+
+ my $dir;
+ opendir ($dir, $src) || die "Can't open dir $src: $!";
+ my @entries;
+ while (my $name = readdir ($dir)) {
+ $name =~ /^\./ && next;
+ copy_recursive ($excepts, "$src/$name", "$dest/$name");
+ }
+ closedir ($dir);
+ } elsif (-f $src) {
+ print "syscopy $src -> $dest\n";
+ File::Copy::syscopy ($src, $dest) || die "Failed to copy $src -> $dest: $!";
+ } else {
+ print "skipping link $src\n";
+ }
+}
+
+# main ...
+my (@src, $dest, $except);
+
+while (my $arg = shift @ARGV) {
+ if ($arg eq '-h' || $arg eq '--help') {
+ syntax();
+ exit 0;
+ } elsif ($arg eq '-x') {
+ $except = shift @ARGV;
+ } else {
+ push @src, $arg;
+ }
+}
+
+$dest = pop @src;
+ src && defined $dest || die "Missing src or dest\n";
+
+mkdir $dest;
+
+my $ef;
+my %exceptions;
+open ($ef, $except) || die "Can't open $except: $!";
+while (<$ef>) {
+ chomp;
+ # pre-process ?
+ $exceptions{$_} = '1';
+}
+close ($ef);
+
+for my $s (@src) {
+ my $suffix = $s;
+ $suffix =~ s|^.*/||g;
+ print "Copy $s -> $dest/$suffix\n";
+ copy_recursive (\%exceptions, $s, "$dest/$suffix");
+}
Modified: trunk/bin/piece/install-bootstrap
==============================================================================
--- trunk/bin/piece/install-bootstrap (original)
+++ trunk/bin/piece/install-bootstrap Tue Jul 22 19:47:30 2008
@@ -1,6 +1,6 @@
# install bash script - invoked from package-ooo
-ln -s . "$OOINSTDIR/$INPATH"
+ln -sf . "$OOINSTDIR/solver/$INPATH"
# environment
cp -R $OOBUILDDIR/*.[sS]et.sh $DEST
@@ -9,7 +9,7 @@
cp -R $OOBUILDDIR/instsetoo_native $DEST
# setup_native - not built; odd deps ...
-cp $OOBUILDDIR/setup_native/source/packinfo/*.txt $DEST/bin
+cp $OOBUILDDIR/../setup_native/source/packinfo/*.txt $DEST/bin
# ooo-build
mkdir -p $OOINSTDIR/ooo-build/bin
@@ -18,6 +18,7 @@
cp -R $TOOLSDIR/patches/* $OOINSTDIR/ooo-build/patches
# copy pieces of interest into src to be moved out later ...
+echo "copy source pieces"
mkdir -p $OOINSTDIR/ooo-build/src
cp -a \
$TOOLSDIR/src/*.dic \
@@ -29,3 +30,5 @@
$TOOLSDIR/src/*.patch \
$TOOLSDIR/src/*.odb \
$OOINSTDIR/ooo-build/src
+
+echo "done bootstrap specific install"
\ No newline at end of file
Modified: trunk/bin/piece/install-generic
==============================================================================
--- trunk/bin/piece/install-generic (original)
+++ trunk/bin/piece/install-generic Tue Jul 22 19:47:30 2008
@@ -11,7 +11,30 @@
$custom_install $piece $ooo_build_tag $distro
fi
+# ----- monster make_installer section -----
+
+# can't just source $SOLARENV/inc/minor.mk [ sadly ] - missing quotes.
+export BUILD=9319
+export LAST_MINOR=m21
+export OUT="`pwd`/solver/install"
+export LOCAL_OUT=$OUT;
+export LOCAL_COMMON_OUT=$OUT;
+# install from the copy in the solver - to the system
+export SOLARVERSION="`pwd`/solver"
+export LANGS="en-US,en-GB"
+perl -w $SOLARENV/bin/make_installer.pl \
+ -f /usr/lib/ooo-3/solver/instsetoo_native/util/openoffice.lst \
+ -l $LANGS -p OpenOffice -buildid $BUILD -destdir $DESTDIR \
+ -dontstrip -simple $OO_INSTDIR
+
+# ----- end monster make_installer section -----
+
+# Now try to copy the bits we didn't install into a -devel RPM ...
+
SRCDIR="$SOLARPIECEVERSION/$INPATH"
DEST="$DESTDIR$OO_SOLVERDIR"
-mkdir -p $DEST
-cp -R $SRCDIR/* $DEST
+echo "Copy / install remaining devel pieces ..."
+filelist="$DESTDIR/all_filelist.txt"
+$OO_TOOLSDIR/piece/copyexcept -x $filelist $SRCDIR/* $DEST
+rm -f $filelist
+
Modified: trunk/bin/unpack
==============================================================================
--- trunk/bin/unpack (original)
+++ trunk/bin/unpack Tue Jul 22 19:47:30 2008
@@ -179,7 +179,7 @@
ln -s "$BUILDDIR/$CVSTAG-$PIECE" $OOBUILDDIR
# ugly hack around odd positioning of this info
echo "Unpacking setup_native .txt pieces"
- ($OOO_DECOMPRESS_CMD $SRCDIR/setup_native_packinfo-m25.tar.bz2 | $GNUTAR xpf - )
+ ($OOO_DECOMPRESS_CMD $SRCDIR/setup_native_packinfo-m25.tar.bz2 | $GNUTAR xpf - ) || exit
fi
fi
Modified: trunk/doc/split.txt
==============================================================================
--- trunk/doc/split.txt (original)
+++ trunk/doc/split.txt Tue Jul 22 19:47:30 2008
@@ -273,4 +273,28 @@
+ why not just bin it ? :-)
+exciting TODO:
+ +
+%dir %ooo_prefix/%ooo_home/basis3.0
+%dir %ooo_prefix/%ooo_home/LICENSE
+%dir %ooo_prefix/%ooo_home/LICENSE.html
+%dir %ooo_prefix/%ooo_home/README
+%dir %ooo_prefix/%ooo_home/README.html
+%dir %ooo_prefix/%ooo_home/readmes
+%dir %ooo_prefix/%ooo_home/licenses
+%dir %ooo_prefix/%ooo_home/program
+%dir %ooo_prefix/%ooo_home/share
+%dir %ooo_prefix/%ooo_home/ure
+%dir %ooo_prefix/%ooo_home/THIRDPARTYLICENSEREADME.html
+%ooo_prefix/%ooo_home/basis3.0/*
+%ooo_prefix/%ooo_home/LICENSE/*
+%ooo_prefix/%ooo_home/LICENSE.html/*
+%ooo_prefix/%ooo_home/README/*
+%ooo_prefix/%ooo_home/README.html/*
+%ooo_prefix/%ooo_home/readmes/*
+%ooo_prefix/%ooo_home/licenses/*
+%ooo_prefix/%ooo_home/program/*
+%ooo_prefix/%ooo_home/share/*
+%ooo_prefix/%ooo_home/ure/*
+%ooo_prefix/%ooo_home/THIRDPARTYLICENSEREADME.html/*
Modified: trunk/patches/dev300/piece-solenv.diff
==============================================================================
--- trunk/patches/dev300/piece-solenv.diff (original)
+++ trunk/patches/dev300/piece-solenv.diff Tue Jul 22 19:47:30 2008
@@ -44,7 +44,7 @@
--- solenv/bin/modules/installer/scriptitems.pm 2008-07-18 17:54:05.000000000 +0100
+++ solenv/bin/modules/installer/scriptitems.pm 2008-07-18 17:54:05.000000000 +0100
-@@ -1133,6 +1134,7 @@
+@@ -1133,11 +1134,13 @@
if ( ! ( $styles =~ /\bSTARREGISTRY\b/ )) # StarRegistry files will be created later
{
my $filename = $onefile->{'Name'};
@@ -52,8 +52,8 @@
$infoline = "ERROR: Removing file $filename from file list.\n";
push( @installer::globals::logfileinfo, $infoline);
- push(@missingfiles, "ERROR: File not found: $filename\n");
- $error_occured = 1;
+ push(@missingfiles, "ERROR: File not found: $filename\n");
+ $error_occured = 1;
+ }
next; # removing this file from list, if sourcepath is empty
@@ -116,8 +116,52 @@
# and overriding all new values
---- solenv/bin/modules/installer/worker.pm 2008-07-21 15:57:11.000000000 +0100
-+++ solenv/bin/modules/installer/worker.pm 2008-07-21 15:57:11.000000000 +0100
+--- solenv/bin/modules/installer/packagelist.pm 2008-07-22 12:05:12.000000000 +0100
++++ solenv/bin/modules/installer/packagelist.pm 2008-07-22 12:05:12.000000000 +0100
+@@ -501,6 +501,9 @@
+ my $gid = $onepackage->{'module'};
+ my $fileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$scriptfile, "" , 0);
+
++ if ($installer::globals::split) {
++ $$fileref = $ENV{OO_INSTDIR} . "/solver/bin/" . $scriptfile;
++ }
+ if ( $$fileref eq "" ) { installer::exiter::exit_program("ERROR: Could not find script file $scriptfile for module $gid!", "check_packagelist"); }
+
+ my $infoline = "$gid: Using script file: \"$$fileref\"!\n";
+@@ -651,7 +654,13 @@
+ # The file with package information has to be found in path list
+ my $fileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$packinfofile, "" , 0);
+
+- if ( $$fileref eq "" ) { installer::exiter::exit_program("ERROR: Could not find file $packinfofile for module $modulegid!", "collectpackages"); }
++ if ($installer::globals::split) {
++ $$fileref = $ENV{OO_INSTDIR} . "/solver/bin/" . $packinfofile;
++ }
++
++ if ( $$fileref eq "" ) {
++ installer::exiter::exit_program("ERROR: Could not find file $packinfofile for module $modulegid!", "collectpackages");
++ }
+
+ my $infoline = "$modulegid: Using packinfo: \"$$fileref\"!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+
+
+--- solenv/bin/modules/installer/scpzipfiles.pm 2008-07-22 12:42:33.000000000 +0100
++++ solenv/bin/modules/installer/scpzipfiles.pm 2008-07-22 12:42:33.000000000 +0100
+@@ -148,6 +148,8 @@
+
+ my $onefilename = $onefile->{'Name'};
+ my $sourcepath = $onefile->{'sourcepath'};
++
++ next if ($installer::globals::split && $sourcepath eq '');
+
+ if ( $onefilename =~ /^\s*\Q$installer::globals::separator\E/ ) # filename begins with a slash, for instance /registry/schema/org/openoffice/VCL.xcs
+ {
+
+
+
+--- solenv/bin/modules/installer/worker.pm 2008-07-22 13:49:26.000000000 +0100
++++ solenv/bin/modules/installer/worker.pm 2008-07-22 13:49:26.000000000 +0100
@@ -730,6 +730,17 @@
return \ allitems;
}
@@ -136,7 +180,15 @@
###########################################################
# Mechanism for simple installation without packing
###########################################################
-@@ -784,7 +791,19 @@
+@@ -748,6 +759,7 @@
+
+ my $destdir = $installer::globals::destdir;
+ my @lines = ();
++ my @sources = ();
+
+ installer::logger::print_message( "DestDir: $destdir \n" );
+ installer::logger::print_message( "Rootpath: $installer::globals::rootpath \n" );
+@@ -794,7 +799,19 @@
push @lines, "$destination\n";
# printf "cp $sourcepath $destdir$destination\n";
@@ -157,18 +209,33 @@
my $sourcestat = stat($sourcepath);
utime ($sourcestat->atime, $sourcestat->mtime, "$destdir$destination");
chmod (oct($unixrights), "$destdir$destination") || die "Can't change permissions: $!";
-@@ -837,7 +849,8 @@
- push @lines, "$destination\n";
- }
-
-- if ( $destdir ne "" )
-+ if ( !$installer::globals::split && # not needed for split mode
-+ $destdir ne "" )
- {
- my $filelist;
- my $fname = $installer::globals::destdir . "/$packagename";
-
-@@ -2927,6 +2927,9 @@
+@@ -807,6 +820,7 @@
+ utime ($sourcestat->atime, $sourcestat->mtime, "$destdir$destination");
+ chmod (oct($unixrights), "$destdir$destination") || die "Can't change permissions: $!";
+ push @lines, "$destination\n";
++ push @sources, "$sourcepath\n";
+ }
+
+ for ( my $i = 0; $i <= $#{$linksarray}; $i++ )
+@@ -826,9 +826,14 @@
+ push @lines, "$destination\n";
+ }
+
+- if ( $destdir ne "" )
+- {
+- my $filelist;
++ my ($filelist, $fname);
++ if ( $installer::globals::split ) {
++ # don't write file lists, just source lists
++ $fname = $installer::globals::destdir . "/all_filelist.txt";
++ open ($filelist, ">>$fname") || die "Can't open $fname: $!";
++ print $filelist @sources;
++ close ($filelist);
++ } elsif ($destdir ne "" ) {
+ my $fname = $installer::globals::destdir . "/$packagename";
+ open ($filelist, ">$fname") || die "Can't open $fname: $!";
+ print $filelist @lines;
+@@ -2927,6 +2951,9 @@
{
my ( $productlanguagesarrayref, $allvariables ) = @_;
@@ -178,48 +245,3 @@
my %productlanguages = ();
for ( my $i = 0; $i <= $#{$productlanguagesarrayref}; $i++ ) { $productlanguages{${$productlanguagesarrayref}[$i]} = 1; }
-
-
-
-
---- solenv/bin/modules/installer/packagelist.pm 2008-07-22 12:05:12.000000000 +0100
-+++ solenv/bin/modules/installer/packagelist.pm 2008-07-22 12:05:12.000000000 +0100
-@@ -501,6 +501,9 @@
- my $gid = $onepackage->{'module'};
- my $fileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$scriptfile, "" , 0);
-
-+ if ($installer::globals::split) {
-+ $$fileref = $ENV{OO_INSTDIR} . "/solver/bin/" . $scriptfile;
-+ }
- if ( $$fileref eq "" ) { installer::exiter::exit_program("ERROR: Could not find script file $scriptfile for module $gid!", "check_packagelist"); }
-
- my $infoline = "$gid: Using script file: \"$$fileref\"!\n";
-@@ -651,7 +654,13 @@
- # The file with package information has to be found in path list
- my $fileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$packinfofile, "" , 0);
-
-- if ( $$fileref eq "" ) { installer::exiter::exit_program("ERROR: Could not find file $packinfofile for module $modulegid!", "collectpackages"); }
-+ if ($installer::globals::split) {
-+ $$fileref = $ENV{OO_INSTDIR} . "/solver/bin/" . $packinfofile;
-+ }
-+
-+ if ( $$fileref eq "" ) {
-+ installer::exiter::exit_program("ERROR: Could not find file $packinfofile for module $modulegid!", "collectpackages");
-+ }
-
- my $infoline = "$modulegid: Using packinfo: \"$$fileref\"!\n";
- push( @installer::globals::logfileinfo, $infoline);
-
-
-
---- solenv/bin/modules/installer/scpzipfiles.pm 2008-07-22 12:42:33.000000000 +0100
-+++ solenv/bin/modules/installer/scpzipfiles.pm 2008-07-22 12:42:33.000000000 +0100
-@@ -148,6 +148,8 @@
-
- my $onefilename = $onefile->{'Name'};
- my $sourcepath = $onefile->{'sourcepath'};
-+
-+ next if ($installer::globals::split && $sourcepath eq '');
-
- if ( $onefilename =~ /^\s*\Q$installer::globals::separator\E/ ) # filename begins with a slash, for instance /registry/schema/org/openoffice/VCL.xcs
- {
Modified: trunk/patches/dev300/piece-target.diff
==============================================================================
--- trunk/patches/dev300/piece-target.diff (original)
+++ trunk/patches/dev300/piece-target.diff Tue Jul 22 19:47:30 2008
@@ -33,14 +33,7 @@
.ENDIF # "$(JARFILES)"!=""
.IF "$(EXTRAJARFILES)"!=""
NEWCLASS+=$(foreach,i,$(EXTRAJARFILES) $(COMMON_BUILD_TOOLS)$/$i)
-@@ -861,6 +861,6 @@
- .IF "$(PRE)"!=""
- UNOIDLINC!:=-I$(PRE)$/idl $(UNOIDLINC)
- .ENDIF
--UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)$/inc -I$(PRJ)$/$(INPATH)$/idl -I$(OUT)$/inc -I$(SOLARIDLDIR) -I$(SOLARINCDIR)
-+UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)$/inc -I$(PRJ)$/$(INPATH)$/idl -I$(OUT)$/inc $(SOLARIDLINC) -I$(SOLARINCDIR)
-
- CDEFS= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) -D$(CPUNAME)
+
--- solenv/inc/unxlngi6.mk
+++ solenv/inc/unxlngi6.mk
@@ -64,6 +57,15 @@
.IF "$(UPDMINOR)" != ""
EXT_UPDMINOR=.$(UPDMINOR)
+@@ -861,7 +861,7 @@
+ .IF "$(PRE)"!=""
+ UNOIDLINC!:=-I$(PRE)$/idl $(UNOIDLINC)
+ .ENDIF
+-UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)$/inc -I$(PRJ)$/$(INPATH)$/idl -I$(OUT)$/inc -I$(SOLARIDLDIR) -I$(SOLARINCDIR)
++UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)$/inc -I$(PRJ)$/$(INPATH)$/idl -I$(OUT)$/inc $(SOLARIDLINC) -I$(SOLARINCDIR)
+
+ CDEFS= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) -D$(CPUNAME)
+
@@ -1088,10 +1082,6 @@
LOCAL_EXCEPTIONS_FLAGS+=$(CFLAGSEXCEPTIONS)
LOCAL_EXCEPTIONS_FLAGS+=-DEXCEPTIONS_ON
Modified: trunk/scratch/split/ooo3_bootstrap.spec
==============================================================================
--- trunk/scratch/split/ooo3_bootstrap.spec (original)
+++ trunk/scratch/split/ooo3_bootstrap.spec Tue Jul 22 19:47:30 2008
@@ -131,7 +131,7 @@
License: Artistic License; BSD 3-Clause; GPL v2 or later; LaTeX Public License (LPPL); LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL); X11/MIT
Group: Productivity/Office/Suite
Version: 3
-Release: 6
+Release: 7
AutoReqProv: on
PreReq: coreutils /usr/bin/update-mime-database
PreReq: %{?suseconfig_fonts_prereq:%suseconfig_fonts_prereq}
@@ -140,6 +140,7 @@
#Url-help: ftp://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/
Source0: ooo-build-%ooo_build_version.tar.gz
Source1: %ooo_build_tag-bootstrap.tar.bz2
+Source2: setup_native_packinfo-m25.tar.bz2
#
# patches against the upstream sources, must be -p0
# Patch1000: bug-123456-fix-foo.diff # example
@@ -164,7 +165,7 @@
#
# apply patches against ooo-build
# %patch0 # example
-install -m 644 %{S:1} src/
+install -m 644 %{S:1} %{S:2} src/
%build
%if %prepare_build != 0
Modified: trunk/scratch/split/ooo3_ure.spec
==============================================================================
--- trunk/scratch/split/ooo3_ure.spec (original)
+++ trunk/scratch/split/ooo3_ure.spec Tue Jul 22 19:47:30 2008
@@ -21,7 +21,7 @@
License: Artistic License; BSD 3-Clause; GPL v2 or later; LaTeX Public License (LPPL); LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL); X11/MIT
Group: Productivity/Office/Suite
Version: 3
-Release: 6
+Release: 7
AutoReqProv: on
Summary: A Free Office Suite (Framework)
Url: http://www.openoffice.org/
@@ -67,9 +67,15 @@
%files
%defattr(-,root,root)
-# FIXME - should have the actual files in it ! ;-)
-# except we have ~none here - just a devel package (?)
-# is there anything we absolutely need here ?
+%dir %ooo_prefix/%ooo_home/basis3.0
+%dir %ooo_prefix/%ooo_home/program
+%dir %ooo_prefix/%ooo_home/share
+%dir %ooo_prefix/%ooo_home/ure
+%ooo_prefix/%ooo_home/basis3.0/*
+%ooo_prefix/%ooo_home/program/*
+%ooo_prefix/%ooo_home/share/*
+%ooo_prefix/%ooo_home/ure/*
+%ooo_prefix/%ooo_home/basis-link
%files devel
%defattr(-,root,root)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]