summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2002-04-20 21:59:14 +0000
committerMartin Schlemmer <azarah@gentoo.org>2002-04-20 21:59:14 +0000
commit978507424ca1ae04c3e56cae5aedeea6128026be (patch)
tree5817410e1bb9af94851109216491f343d5f72c13 /app-office/openoffice-bin
parentvirtual/cron -> sys-apps/dcron (diff)
downloadgentoo-2-978507424ca1ae04c3e56cae5aedeea6128026be.tar.gz
gentoo-2-978507424ca1ae04c3e56cae5aedeea6128026be.tar.bz2
gentoo-2-978507424ca1ae04c3e56cae5aedeea6128026be.zip
Initial binary ebuild for OpenOffice
Diffstat (limited to 'app-office/openoffice-bin')
-rw-r--r--app-office/openoffice-bin/ChangeLog17
-rw-r--r--app-office/openoffice-bin/files/641d/read_ins.pl404
-rw-r--r--app-office/openoffice-bin/files/641d/read_ins.pl.orig321
-rw-r--r--app-office/openoffice-bin/files/641d/regcomp-641d.tbz2bin0 -> 11185 bytes
-rw-r--r--app-office/openoffice-bin/files/641d/registry-641d.tbz2bin0 -> 126826 bytes
-rw-r--r--app-office/openoffice-bin/files/digest-openoffice-bin-641d1
-rw-r--r--app-office/openoffice-bin/openoffice-bin-641d.ebuild120
7 files changed, 863 insertions, 0 deletions
diff --git a/app-office/openoffice-bin/ChangeLog b/app-office/openoffice-bin/ChangeLog
new file mode 100644
index 000000000000..06bb23cc3c98
--- /dev/null
+++ b/app-office/openoffice-bin/ChangeLog
@@ -0,0 +1,17 @@
+# ChangeLog for app-office/openoffice-bin
+# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
+# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-bin/ChangeLog,v 1.1 2002/04/20 21:59:14 azarah Exp $
+
+*openoffice-bin-641d (20 Apr 2002)
+
+ 20 Apr 2002; M.Schlemmer <azarah@gentoo.org> openoffice-bin-641d.ebuild :
+
+ Add initial version.
+
+ 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
+
+ Added initial ChangeLog which should be updated whenever the package is
+ updated in any way. This changelog is targetted to users. This means that the
+ comments should well explained and written in clean English. The details about
+ writing correct changelogs are explained in the skel.ChangeLog file which you
+ can find in the root directory of the portage repository.
diff --git a/app-office/openoffice-bin/files/641d/read_ins.pl b/app-office/openoffice-bin/files/641d/read_ins.pl
new file mode 100644
index 000000000000..f1fbc1082e49
--- /dev/null
+++ b/app-office/openoffice-bin/files/641d/read_ins.pl
@@ -0,0 +1,404 @@
+#!/usr/bin/perl
+#
+# Author: Preston A. Elder <prez@goth.net>
+#
+# Modified: Martin Schlemmer <azarah@gentoo.org>
+#
+# 20 Apr 2002: Change from STANDALONE to NETWORK. Also do not create
+# the "InstLanguages" entry in the "Installation" section.
+# Fixed a stray "Styles" entry in the "Installation" section.
+# Updated to add " Installed\t = YES" to appropriate "Module"
+# sections. Added output to first remove stale config files.
+# Modify to support $RUNARGS, as we dont want one script to
+# do all the work.
+#
+# NOTE: as I dont know any perl to start with, things may not
+# be done by the book ... feel free to fix .. =)
+
+use strict;
+
+my ($prefix) = $ENV{PREFIX};
+my ($instdir) = $ENV{INSTDIR};
+my ($destdir) = $ENV{DESTDIR};
+my ($regcomp) = $ENV{REGCOMP};
+my ($runargs) = $ENV{RUNARGS};
+
+if (!length($runargs))
+{
+ $runargs = "install register createdb";
+}
+
+die if (!length($instdir) || !length($destdir) || !length($regcomp));
+
+my ($finaldestdir) = $destdir;
+$finaldestdir =~ s/^$prefix//;
+$finaldestdir = "/" . $finaldestdir if ($finaldestdir !~ /^\//);
+
+my (%directories, %packages, %files, %shortcuts, @dblines);
+my ($tmp, %useddirs, %profiles, %profileitems, @components);
+
+my ($directory, $parent, $hostname, $component);
+my ($file, $filename, $package, $dir, $perms);
+my ($installation, $product, $version, $language);
+my ($shortcut, $scname, $fileid, $scdir);
+my ($profile, $p_name, $p_dir, $profileitem);
+my ($pi_profile, $pi_sect, $pi_key, $pi_value);
+
+$directories{PREDEFINED_PROGDIR} = [ "", $destdir ];
+$directories{PREDEFINED_CONFIGDIR} = [ "", $ENV{HOME} ];
+
+open(FH, "$instdir/setup.ins");
+while (<FH>)
+{
+ chomp;
+
+ if (/^End/)
+ {
+ if (length($directory) && length($parent) && length($hostname))
+ {
+ $directories{$directory} = [ $parent, $hostname ];
+ }
+ $directory = $parent = $hostname = "";
+
+ if (length($file))
+ {
+ if (length($filename))
+ {
+ $files{$file} = [ $filename, $dir ];
+ push(@components, $filename) if ($component);
+ }
+ if (length($package) && length($dir) && length($perms))
+ {
+ $packages{$package} = [ $dir, $perms ];
+ }
+ }
+ $component = 0;
+ $file = $filename = $package = $dir = $perms = "";
+
+ if (length($installation))
+ {
+ if (length($product) && length($version))
+ {
+ push(@dblines, "\tDefaultDestPath = \"" . $product . $version . "\";");
+ }
+ push(@dblines, "\tDestPath = \"" . $finaldestdir . "\";");
+ push(@dblines, "\tSourcePath = \"" . $instdir . "\";");
+ push(@dblines, "\tMode = NETWORK;");
+ push(@dblines, "\tInstallFromNet = NO;");
+ }
+ $installation = $language = "";
+
+ if (length($shortcut) && length($scname) && length($fileid) && length($scdir))
+ {
+ $shortcuts{$shortcut} = [ $scname, $fileid, $scdir ];
+ }
+ $shortcut = $scname = $fileid = $scdir = "";
+
+ if (length($profile) && length($p_name) && length($p_dir))
+ {
+ $profiles{$profile} = [ $p_name, $p_dir ];
+ }
+ $profile = $p_name = $p_dir = "";
+
+ if (length($profileitem) && length($pi_profile) && length($pi_sect) && length($pi_key))
+ {
+ $profileitems{$pi_profile}->{$pi_sect}->{$pi_key} = $pi_value;
+ }
+ $profileitem = $pi_profile = $pi_sect = $pi_key = $pi_value = "";
+ }
+ elsif (/^Installation\s+(\S+)/)
+ {
+ $installation = $1;
+ }
+ elsif (/^Directory\s+(\S+)/)
+ {
+ $directory = $1;
+ }
+ elsif (/^File\s+(\S+)/)
+ {
+ $file = $1;
+ }
+ elsif (/^Shortcut\s+(\S+)/)
+ {
+ $shortcut = $1;
+ }
+ elsif (/^Profile\s+(\S+)/)
+ {
+ $profile = $1;
+ }
+ elsif (/^ProfileItem\s+(\S+)/)
+ {
+ $profileitem = $1;
+ }
+ elsif (length($installation))
+ {
+ if (/^\s*DefaultDestPath\s*=/)
+ {
+ next;
+ }
+ if (/^\s*ProductName\s*=\s*\"([^;]+)\";/)
+ {
+ $product = $1;
+ }
+ elsif (/^\s*ProductVersion\s*=\s*\"([^"]+)\";/)
+ {
+ $version = $1;
+ }
+ elsif (/^\s*DefaultLanguage\s*=\s*\"([^"]+)\";/)
+ {
+ $language = $1;
+ }
+ }
+ elsif (length($directory))
+ {
+ if (/^\s*ParentID\s*=\s*([^;]+);/)
+ {
+ $parent = $1;
+ }
+ elsif (/^\s*HostName\s*=\s*\"([^"]+)\";/)
+ {
+ $hostname = $1;
+ }
+ }
+ elsif (length($file))
+ {
+ if (/^\s*Name\s*=\s*\"([^"]+)\";/)
+ {
+ $filename = $1;
+ }
+ elsif (/^\s*PackedName\s*=\s*\"([^"]+)\";/)
+ {
+ $package = $1;
+ }
+ elsif (/^\s*Dir\s*=\s*([^;]+);/)
+ {
+ $dir = $1;
+ }
+ elsif (/^\s*UnixRights\s*=\s*([^;]+);/)
+ {
+ $perms = $1;
+ }
+ elsif (/^\s*Styles\s*=\s*\(.*UNO_COMPONENT.*\);/)
+ {
+ $component = 1;
+ }
+ }
+ elsif (length($shortcut))
+ {
+ if (/^\s*Name\s*=\s*\"([^"]+)\";/)
+ {
+ $scname = $1;
+ }
+ elsif (/^\s*FileID\s*=\s*([^;]+);/)
+ {
+ $fileid = $1;
+ }
+ elsif (/^\s*Dir\s*=\s*([^;]+);/)
+ {
+ $scdir = $1;
+ }
+ }
+ elsif (length($profile))
+ {
+ if (/^\s*Name\s*=\s*\"([^"]+)\";/)
+ {
+ $p_name = $1;
+ }
+ elsif (/^\s*Dir\s*=\s*([^;]+);/)
+ {
+ $p_dir = $1;
+ }
+ }
+ elsif (length($profileitem))
+ {
+ if (/^\s*ProfileID\s*=\s*([^;]+);/)
+ {
+ $pi_profile = $1;
+ }
+ elsif (/^\s*Section\s*=\s*\"([^"]+)\";/)
+ {
+ $pi_sect = $1;
+ }
+ elsif (/^\s*Key\s*=\s*\"([^"]+)\";/)
+ {
+ $pi_key = $1;
+ }
+ elsif (/^\s*Value\s*=\s*\"([^"]+)\";/)
+ {
+ $pi_value = $1;
+ }
+ }
+
+ my ($line) = $_;
+ $line =~ s/[']/'"'"'/g;
+ chop($line);
+
+ push(@dblines, $line);
+}
+close(FH);
+
+sub getFilePath
+{
+ my ($rv);
+ my ($lookfor) = shift;
+
+ if (defined($directories{$lookfor}))
+ {
+ if (defined($directories{@{$directories{$lookfor}}[0]}))
+ {
+ $rv = getFilePath(@{$directories{$lookfor}}[0]);
+ }
+ $rv .= "/" if (length($rv));
+ $rv .= @{$directories{$lookfor}}[1];
+ }
+ return $rv;
+}
+
+foreach $tmp (sort keys %packages)
+{
+ my ($dir) = getFilePath($packages{$tmp}[0]);
+ $useddirs{$dir} = ".";
+}
+
+print "#!/bin/sh\n";
+
+if ($runargs =~ /install/)
+{
+ print "mkdir -p $destdir\n";
+ print "chmod 755 $destdir\n";
+
+ foreach $tmp (sort keys %useddirs)
+ {
+ print "mkdir -p $tmp\n";
+ print "chmod 755 $tmp\n";
+ }
+
+ print "mkdir /tmp/inst$$\n";
+ print "cd /tmp/inst$$\n";
+
+ foreach $tmp (sort keys %packages)
+ {
+ print "rm -f *\n";
+ print "unzip $instdir/$tmp\n";
+ print "chmod $packages{$tmp}[1] *\n";
+ print "mv * " . getFilePath($packages{$tmp}[0]) . "\n";
+ }
+
+ print "cd $destdir\n";
+ print "rm -rf /tmp/inst$$\n";
+
+ foreach $tmp (sort keys %shortcuts)
+ {
+ if (defined($files{@{$shortcuts{$tmp}}[1]}) &&
+ defined($directories{@{$shortcuts{$tmp}}[2]}))
+ {
+ my ($newdir) = getFilePath($files{$shortcuts{$tmp}[1]}[1]);
+ $newdir =~ s/^$prefix//;
+ $newdir = "/" . $newdir if ($newdir !~ /^\//);
+ print "ln -sf $newdir/$files{$shortcuts{$tmp}[1]}[0] " .
+ getFilePath($shortcuts{$tmp}[2]) . "/$shortcuts{$tmp}[0]\n";
+ }
+ }
+}
+
+if ($runargs =~ /createdb/)
+{
+ foreach $tmp (sort keys %profiles)
+ {
+ if (defined($directories{@{$profiles{$tmp}}[1]}))
+ {
+ my ($dir) = getFilePath($profiles{$tmp}[1]);
+ my ($sect);
+ foreach $sect (sort keys %{$profileitems{$tmp}})
+ {
+ # First remove any stale config files
+ my ($cfgfile) = $profiles{$tmp}[0];
+ if ($cfgfile !~ /sversionrc/)
+ {
+ print "rm -f $dir/$profiles{$tmp}[0]\n";
+ }
+ print "echo '[" . $sect . "]' >>$dir/$profiles{$tmp}[0]\n";
+ my ($key);
+ foreach $key (sort keys %{$profileitems{$tmp}->{$sect}})
+ {
+ my ($key2) = $key;
+ $key2 =~ s/\%PRODUCTNAME/$product/;
+ $key2 =~ s/\%PRODUCTVERSION/$version/;
+ my ($value) = $profileitems{$tmp}->{$sect}->{$key};
+ $value =~ s,<installmode>,NETWORK,;
+ $value =~ s/<productkey>/$product $version/;
+ $value =~ s,<workpath_url>,file://$finaldestdir,;
+ print "echo '$key2=$value' >>$dir/$profiles{$tmp}[0]\n";
+ }
+ print "echo '' >>$dir/$profiles{$tmp}[0]\n";
+ }
+ }
+ }
+}
+
+if ($runargs =~ /register/)
+{
+ print "LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:$destdir/program; export LD_LIBRARY_PATH\n";
+ foreach $tmp (sort @components)
+ {
+ print "$regcomp -register -c $destdir/program/$tmp -r $destdir/program/applicat.rdb\n";
+ }
+}
+
+if ($runargs =~ /install/)
+{
+ print "cp $instdir/LICENSE* $destdir\n";
+ print "cp $instdir/README* $destdir\n";
+}
+
+if ($runargs =~ /createdb/)
+{
+ print "rm -f $destdir/program/instdb.ins\n";
+
+ my ($ismod) = "0";
+ my ($isinst) = "0";
+ my ($modname) = "foo";
+ foreach $tmp (@dblines)
+ {
+ # NETWORK installation
+ $tmp =~ s,<installmode>,NETWORK,;
+
+ # Are we in the "Installation" section?
+ if ($tmp =~ /^Installation/)
+ {
+ $isinst = "1";
+ }
+ elsif ($tmp =~ /^End/)
+ {
+ $isinst = "0";
+ }
+
+ # Do not print a "Styles" line for the "Installation" section
+ if (!(($isinst =~ "1") and ($tmp =~ /Styles/)))
+ {
+ print "echo '$tmp' >>$destdir/program/instdb.ins\n";
+ }
+
+ # Are we in a "Module" section?
+ if ($tmp =~ /^Module/)
+ {
+ $ismod = "1";
+ $modname = $tmp;
+ }
+ elsif ($tmp =~ /^End/)
+ {
+ $ismod = "0";
+ }
+ # All modules are installed
+ if (($ismod =~ "1") and ($tmp =~ /Default/))
+ {
+ print "echo '\tInstalled\t = YES;' >>$destdir/program/instdb.ins\n";
+ }
+ # gid_Module_Root should also be "installed"
+ elsif (($ismod =~ "1") and ($modname =~ /gid_Module_Root/) and ($tmp =~ /Description/))
+ {
+ print "echo '\tInstalled\t = YES;' >>$destdir/program/instdb.ins\n";
+ }
+ }
+}
+
diff --git a/app-office/openoffice-bin/files/641d/read_ins.pl.orig b/app-office/openoffice-bin/files/641d/read_ins.pl.orig
new file mode 100644
index 000000000000..e1f99847fa60
--- /dev/null
+++ b/app-office/openoffice-bin/files/641d/read_ins.pl.orig
@@ -0,0 +1,321 @@
+#!/usr/bin/perl
+#
+
+use strict;
+
+my ($prefix) = $ENV{PREFIX};
+my ($instdir) = $ENV{INSTDIR};
+my ($destdir) = $ENV{DESTDIR};
+my ($regcomp) = $ENV{REGCOMP};
+
+die if (!length($instdir) || !length($destdir) || !length($regcomp));
+
+my ($finaldestdir) = $destdir;
+$finaldestdir =~ s/^$prefix//;
+$finaldestdir = "/" . $finaldestdir if ($finaldestdir !~ /^\//);
+
+my (%directories, %packages, %files, %shortcuts, @dblines);
+my ($tmp, %useddirs, %profiles, %profileitems, @components);
+
+my ($directory, $parent, $hostname, $component);
+my ($file, $filename, $package, $dir, $perms);
+my ($installation, $product, $version, $language);
+my ($shortcut, $scname, $fileid, $scdir);
+my ($profile, $p_name, $p_dir, $profileitem);
+my ($pi_profile, $pi_sect, $pi_key, $pi_value);
+
+$directories{PREDEFINED_PROGDIR} = [ "", $destdir ];
+$directories{PREDEFINED_CONFIGDIR} = [ "", $ENV{HOME} ];
+
+open(FH, "$instdir/setup.ins");
+while (<FH>) {
+ chomp;
+
+ if (/^End/)
+ {
+ if (length($directory) && length($parent) && length($hostname))
+ {
+ $directories{$directory} = [ $parent, $hostname ];
+ }
+ $directory = $parent = $hostname = "";
+
+ if (length($file))
+ {
+ if (length($filename))
+ {
+ $files{$file} = [ $filename, $dir ];
+ push(@components, $filename) if ($component);
+ }
+ if (length($package) && length($dir) && length($perms))
+ {
+ $packages{$package} = [ $dir, $perms ];
+ }
+ }
+ $component = 0;
+ $file = $filename = $package = $dir = $perms = "";
+
+ if (length($installation))
+ {
+ if (length($product) && length($version))
+ {
+ push(@dblines, "\tDefaultDestPath = \"" . $product . $version . "\";");
+ }
+ if (length($language))
+ {
+ push(@dblines, "\tInstLanguages = \"" . $language . ":1:1\";");
+ }
+ push(@dblines, "\tDestPath = \"" . $finaldestdir . "\";");
+ push(@dblines, "\tSourcePath = \"" . $instdir . "\";");
+ push(@dblines, "\tMode = STANDALONE;");
+ }
+ $installation = $language = "";
+
+ if (length($shortcut) && length($scname) && length($fileid) && length($scdir))
+ {
+ $shortcuts{$shortcut} = [ $scname, $fileid, $scdir ];
+ }
+ $shortcut = $scname = $fileid = $scdir = "";
+
+ if (length($profile) && length($p_name) && length($p_dir))
+ {
+ $profiles{$profile} = [ $p_name, $p_dir ];
+ }
+ $profile = $p_name = $p_dir = "";
+
+ if (length($profileitem) && length($pi_profile) && length($pi_sect) && length($pi_key))
+ {
+ $profileitems{$pi_profile}->{$pi_sect}->{$pi_key} = $pi_value;
+ }
+ $profileitem = $pi_profile = $pi_sect = $pi_key = $pi_value = "";
+ }
+ elsif (/^Installation\s+(\S+)/)
+ {
+ $installation = $1;
+ }
+ elsif (/^Directory\s+(\S+)/)
+ {
+ $directory = $1;
+ }
+ elsif (/^File\s+(\S+)/)
+ {
+ $file = $1;
+ }
+ elsif (/^Shortcut\s+(\S+)/)
+ {
+ $shortcut = $1;
+ }
+ elsif (/^Profile\s+(\S+)/)
+ {
+ $profile = $1;
+ }
+ elsif (/^ProfileItem\s+(\S+)/)
+ {
+ $profileitem = $1;
+ }
+ elsif (length($installation))
+ {
+ if (/^\s*DefaultDestPath\s*=/)
+ {
+ next;
+ }
+ if (/^\s*ProductName\s*=\s*\"([^;]+)\";/)
+ {
+ $product = $1;
+ }
+ elsif (/^\s*ProductVersion\s*=\s*\"([^"]+)\";/)
+ {
+ $version = $1;
+ }
+ elsif (/^\s*DefaultLanguage\s*=\s*\"([^"]+)\";/)
+ {
+ $language = $1;
+ }
+ }
+ elsif (length($directory))
+ {
+ if (/^\s*ParentID\s*=\s*([^;]+);/)
+ {
+ $parent = $1;
+ }
+ elsif (/^\s*HostName\s*=\s*\"([^"]+)\";/)
+ {
+ $hostname = $1;
+ }
+ }
+ elsif (length($file))
+ {
+ if (/^\s*Name\s*=\s*\"([^"]+)\";/)
+ {
+ $filename = $1;
+ }
+ elsif (/^\s*PackedName\s*=\s*\"([^"]+)\";/)
+ {
+ $package = $1;
+ }
+ elsif (/^\s*Dir\s*=\s*([^;]+);/)
+ {
+ $dir = $1;
+ }
+ elsif (/^\s*UnixRights\s*=\s*([^;]+);/)
+ {
+ $perms = $1;
+ }
+ elsif (/^\s*Styles\s*=\s*\(.*UNO_COMPONENT.*\);/)
+ {
+ $component = 1;
+ }
+ }
+ elsif (length($shortcut))
+ {
+ if (/^\s*Name\s*=\s*\"([^"]+)\";/)
+ {
+ $scname = $1;
+ }
+ elsif (/^\s*FileID\s*=\s*([^;]+);/)
+ {
+ $fileid = $1;
+ }
+ elsif (/^\s*Dir\s*=\s*([^;]+);/)
+ {
+ $scdir = $1;
+ }
+ }
+ elsif (length($profile))
+ {
+ if (/^\s*Name\s*=\s*\"([^"]+)\";/)
+ {
+ $p_name = $1;
+ }
+ elsif (/^\s*Dir\s*=\s*([^;]+);/)
+ {
+ $p_dir = $1;
+ }
+ }
+ elsif (length($profileitem))
+ {
+ if (/^\s*ProfileID\s*=\s*([^;]+);/)
+ {
+ $pi_profile = $1;
+ }
+ elsif (/^\s*Section\s*=\s*\"([^"]+)\";/)
+ {
+ $pi_sect = $1;
+ }
+ elsif (/^\s*Key\s*=\s*\"([^"]+)\";/)
+ {
+ $pi_key = $1;
+ }
+ elsif (/^\s*Value\s*=\s*\"([^"]+)\";/)
+ {
+ $pi_value = $1;
+ }
+ }
+
+ my ($line) = $_;
+ $line =~ s/[']/'"'"'/g;
+ chop($line);
+
+ push(@dblines, $line);
+}
+close(FH);
+
+sub getFilePath
+{
+ my ($rv);
+ my ($lookfor) = shift;
+
+ if (defined($directories{$lookfor}))
+ {
+ if (defined($directories{@{$directories{$lookfor}}[0]}))
+ {
+ $rv = getFilePath(@{$directories{$lookfor}}[0]);
+ }
+ $rv .= "/" if (length($rv));
+ $rv .= @{$directories{$lookfor}}[1];
+ }
+ return $rv;
+}
+
+foreach $tmp (sort keys %packages)
+{
+ my ($dir) = getFilePath($packages{$tmp}[0]);
+ $useddirs{$dir} = ".";
+}
+
+print "#!/bin/sh\n";
+
+print "mkdir -p $destdir\n";
+print "chmod 755 $destdir\n";
+
+foreach $tmp (sort keys %useddirs)
+{
+ print "mkdir -p $tmp\n";
+ print "chmod 755 $tmp\n";
+}
+
+print "mkdir /tmp/inst$$\n";
+print "cd /tmp/inst$$\n";
+
+foreach $tmp (sort keys %packages)
+{
+ print "rm -f *\n";
+ print "unzip $instdir/$tmp\n";
+ print "chmod $packages{$tmp}[1] *\n";
+ print "mv * " . getFilePath($packages{$tmp}[0]) . "\n";
+}
+
+print "cd $destdir\n";
+print "rm -rf /tmp/inst$$\n";
+
+foreach $tmp (sort keys %shortcuts)
+{
+ if (defined($files{@{$shortcuts{$tmp}}[1]}) &&
+ defined($directories{@{$shortcuts{$tmp}}[2]}))
+ {
+ my ($newdir) = getFilePath($files{$shortcuts{$tmp}[1]}[1]);
+ $newdir =~ s/^$prefix//;
+ $newdir = "/" . $newdir if ($newdir !~ /^\//);
+ print "ln -sf $newdir/$files{$shortcuts{$tmp}[1]}[0] " .
+ getFilePath($shortcuts{$tmp}[2]) . "/$shortcuts{$tmp}[0]\n";
+ }
+}
+
+foreach $tmp (sort keys %profiles)
+{
+ if (defined($directories{@{$profiles{$tmp}}[1]}))
+ {
+ my ($dir) = getFilePath($profiles{$tmp}[1]);
+ my ($sect);
+ foreach $sect (sort keys %{$profileitems{$tmp}})
+ {
+ print "echo '[" . $sect . "]' >>$dir/$profiles{$tmp}[0]\n";
+ my ($key);
+ foreach $key (sort keys %{$profileitems{$tmp}->{$sect}})
+ {
+ my ($key2) = $key;
+ $key2 =~ s/\%PRODUCTNAME/$product/;
+ $key2 =~ s/\%PRODUCTVERSION/$version/;
+ my ($value) = $profileitems{$tmp}->{$sect}->{$key};
+ $value =~ s/<installmode>/STANDALONE/;
+ $value =~ s/<productkey>/$product $version/;
+ $value =~ s,<workpath_url>,file://$finaldestdir,;
+ print "echo '$key2 = $value' >>$dir/$profiles{$tmp}[0]\n";
+ }
+ print "echo '' >>$dir/$profiles{$tmp}[0]\n";
+ }
+ }
+}
+
+print "LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:$destdir/program; export LD_LIBRARY_PATH\n";
+foreach $tmp (sort @components)
+{
+ print "$regcomp -register -c $destdir/program/$tmp -r $destdir/program/applicat.rdb\n";
+}
+
+print "cp $instdir/LICENSE* $destdir\n";
+print "cp $instdir/README* $destdir\n";
+
+foreach $tmp (@dblines)
+{
+ print "echo '$tmp' >>$destdir/program/instdb.ins\n";
+}
diff --git a/app-office/openoffice-bin/files/641d/regcomp-641d.tbz2 b/app-office/openoffice-bin/files/641d/regcomp-641d.tbz2
new file mode 100644
index 000000000000..46a1110d8df4
--- /dev/null
+++ b/app-office/openoffice-bin/files/641d/regcomp-641d.tbz2
Binary files differ
diff --git a/app-office/openoffice-bin/files/641d/registry-641d.tbz2 b/app-office/openoffice-bin/files/641d/registry-641d.tbz2
new file mode 100644
index 000000000000..f3f5b7eee65b
--- /dev/null
+++ b/app-office/openoffice-bin/files/641d/registry-641d.tbz2
Binary files differ
diff --git a/app-office/openoffice-bin/files/digest-openoffice-bin-641d b/app-office/openoffice-bin/files/digest-openoffice-bin-641d
new file mode 100644
index 000000000000..2e9396149cc7
--- /dev/null
+++ b/app-office/openoffice-bin/files/digest-openoffice-bin-641d
@@ -0,0 +1 @@
+MD5 970c701d9ca584bbf6d9113956fbc51c install641D_linux_intel.tar.gz 69450027
diff --git a/app-office/openoffice-bin/openoffice-bin-641d.ebuild b/app-office/openoffice-bin/openoffice-bin-641d.ebuild
new file mode 100644
index 000000000000..9f30951a2c96
--- /dev/null
+++ b/app-office/openoffice-bin/openoffice-bin-641d.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# Author: Martin Schlemmer <azarah@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-bin/openoffice-bin-641d.ebuild,v 1.1 2002/04/20 21:59:14 azarah Exp $
+
+# NOTE: There are two big issues that should be addressed.
+#
+# 1) The registry should be generated as done via "./setup -net",
+# and not via the tarball.
+#
+# 2) Language support and fonts should be addressed.
+#
+# It will also be good to generate regcomp via some other method.
+
+MY_PV="`echo ${PV} | gawk '{ print toupper($1) }'`"
+LOC="/opt"
+MAIN_VER="`echo ${PV} |sed -e "s:[a-z]::g"`"
+S="${WORKDIR}/normal"
+DESCRIPTION="OpenOffice productivity suite"
+SRC_URI="http://ny1.mirror.openoffice.org/${MY_PV}/install${MY_PV}_linux_intel.tar.gz
+ http://sf1.mirror.openoffice.org/install${MY_PV}_linux_intel.tar.gz"
+HOMEPAGE="http://www.openoffice.org"
+
+DEPEND="virtual/glibc
+ >=sys-devel/perl-5.0
+ virtual/x11
+ app-arch/zip
+ app-arch/unzip
+ >=virtual/jdk-1.3.1"
+
+SLOT="0"
+
+src_install() {
+
+ # Generate a install script
+ PREFIX=${D}
+ REGCOMP=${S}/regcomp
+ INSTDIR=${S}
+ DESTDIR=${D}${LOC}/OpenOffice-${PV}
+ export PREFIX REGCOMP INSTDIR DESTDIR
+ export RUNARGS="install"
+ ${FILESDIR}/${PV}/read_ins.pl >${S}/gentoo-install.sh || die
+ chmod 0755 ${S}/gentoo-install.sh
+
+ # Generate a register and createdb scripts
+ PREFIX=""
+ REGCOMP=${LOC}/OpenOffice-${PV}/program/regcomp
+ INSTDIR=${S}
+ DESTDIR=${LOC}/OpenOffice-${PV}
+ export PREFIX REGCOMP INSTDIR DESTDIR
+ export RUNARGS="register"
+ ${FILESDIR}/${PV}/read_ins.pl >${S}/gentoo-register.sh || die
+ chmod 0755 ${S}/gentoo-register.sh
+ export RUNARGS="createdb"
+ ${FILESDIR}/${PV}/read_ins.pl >${S}/gentoo-createdb.sh || die
+ chmod 0755 ${S}/gentoo-createdb.sh
+
+ # Install to ${D}
+ ${S}/gentoo-install.sh || die "Failed to install data to ${D}!"
+
+ # Install regcomp. For this we need to compile OO without
+ # CFLAGS/CXXFLAGS. I dont know when the config server API may
+ # change, so this included regcomp may not work for future
+ # versions of OO.
+ cd ${D}${LOC}/OpenOffice-${PV}/program
+ tar -jxf ${FILESDIR}/${PV}/regcomp-${PV}.tbz2 || \
+ die "Could not unpack regcomp!"
+
+ # Unpack the registry needed for NETWORK installation.
+ # This my need to be updated for future versions of OO.
+ # Install binary with "./setup -net" to generate.
+ cd ${D}${LOC}/OpenOffice-${PV}/share/config/registry
+ rm -rf *
+ tar -jxpf ${FILESDIR}/${PV}/registry-${PV}.tbz2 || \
+ die "Could not unpack registry!"
+
+ # Generate ISO resource files.
+ cd ${D}${LOC}/OpenOffice-${PV}/program/resource
+ for x in ooo*.res
+ do
+ cp ${x} ${x/ooo/iso}
+ done
+
+ # Create the global fonts.dir file
+ cd ${D}${LOC}/OpenOffice-${PV}/share/fonts/truetype
+ cp -f fonts.dir fonts_dir.global
+
+ # Create misc directories
+ cd ${D}${LOC}/OpenOffice-${PV}
+ mkdir -p user/config/registry/instance/org/openoffice/{Office,ucb}
+ mkdir -p user/psprint/{driver,fontmetric}
+ mkdir -p user/{autocorr,backup,plugin,store,temp,template}
+
+ # Move the register and createdb scripts to ${D}
+ cp -f ${S}/gentoo-register.sh ${D}${LOC}/OpenOffice-${PV}/program
+ cp -f ${S}/gentoo-createdb.sh ${D}${LOC}/OpenOffice-${PV}/program
+}
+
+pkg_postinst() {
+ if [ "${ROOT}" = "/" ]
+ then
+ for x in bootstraprc configmgrrc instdb.ins sofficerc unorc
+ do
+ if [ -e ${LOC}/OpenOffice-${PV}/program/${x} ]
+ then
+ rm -f ${LOC}/OpenOffice-${PV}/program/${x} >/dev/null
+ fi
+ done
+ ${LOC}/OpenOffice-${PV}/program/gentoo-createdb.sh || die
+ echo ">>> Registering components (this may take a few minutes)..."
+ ${LOC}/OpenOffice-${PV}/program/gentoo-register.sh &>/dev/null || die
+ fi
+
+ # Make sure these do not get nuked.
+ cd ${ROOT}${LOC}/OpenOffice-${PV}
+ mkdir -p user/config/registry/instance/org/openoffice/{Office,ucb}
+ mkdir -p user/psprint/{driver,fontmetric}
+ mkdir -p user/{autocorr,backup,plugin,store,temp,template}
+}
+