diff options
Diffstat (limited to 'odk/configure.pl')
-rwxr-xr-x | odk/configure.pl | 312 |
1 files changed, 95 insertions, 217 deletions
diff --git a/odk/configure.pl b/odk/configure.pl index ac88c0064e5f..eee53241e17e 100755 --- a/odk/configure.pl +++ b/odk/configure.pl @@ -43,23 +43,11 @@ $main::operatingSystem = `$main::sdkpath/config.guess | cut -d"-" -f3,4`; chomp ($main::operatingSystem); $main::OO_SDK_HOME = $main::sdkpath; -#$main::OO_SDK_HOME = ""; $main::OO_SDK_HOME_SUGGESTION = $main::sdkpath; -$main::OFFICE_OR_URE = "Office"; -$main::OFFICE_OR_URE_SUGGESTION = "Office"; - $main::OFFICE_HOME = ""; -$main::OFFICE_BASE_HOME = substr($main::sdkpath, 0, rindex($main::sdkpath, "/sdk")); - -if ( $main::operatingSystem =~ m/darwin/ ) -{ -# $main::OO_SDK_URE_HOME = `cd $main::sdkpath/../ure-link && pwd`; -} else { - $main::OO_SDK_URE_HOME = `cd $main::sdkpath/../ure-link && pwd`; -} -chomp($main::OO_SDK_URE_HOME); +#$main::OFFICE_BASE_HOME = substr($main::sdkpath, 0, rindex($main::sdkpath, "/sdk")); $main::OO_SDK_MAKE_HOME = ""; $main::makeName = "make"; @@ -115,143 +103,106 @@ $main::skipOutputDir = 0; $main::return = 0; -if ( $main::OFFICE_OR_URE eq "Office" ) +if ( $main::operatingSystem =~ m/darwin/ ) { - if ( $main::operatingSystem =~ m/darwin/ ) - { # used for a SDK as part of the office installation -# $main::OFFICE_HOME = `cd $main::sdkpath/../../.. && pwd`; -# chomp($main::OFFICE_HOME); -# print " Used Office = $main::OFFICE_HOME\n"; - print " Used SDK = $main::OO_SDK_HOME\n\n"; - - $main::OFFICE_HOME_SUGGESTION = searchMacOffice(); - while ( (! -d "$main::OFFICE_HOME" ) || - ((-d "$main::OFFICE_HOME") && (! -d "$main::OFFICE_HOME/Contents/MacOS")) ) - { - print " Enter the Office installation directory [$main::OFFICE_HOME_SUGGESTION]: "; - $main::OFFICE_HOME = readStdIn(); - chop($main::OFFICE_HOME); - if ( $main::OFFICE_HOME eq "" ) - { - $main::OFFICE_HOME = $main::OFFICE_HOME_SUGGESTION; - } - - if ( ! -d "$main::OFFICE_HOME" ) - { - $main::OFFICE_HOME = ""; - print " Error: An office installation is required, please specify the path to a valid installation.\n"; - } +# $main::OFFICE_HOME = `cd $main::sdkpath/../../.. && pwd`; +# chomp($main::OFFICE_HOME); +# print " Used Office = $main::OFFICE_HOME\n"; + print " Used SDK = $main::OO_SDK_HOME\n\n"; + + $main::OFFICE_HOME_SUGGESTION = searchMacOffice(); + while ( (! -d "$main::OFFICE_HOME" ) || + ((-d "$main::OFFICE_HOME") && (! -d "$main::OFFICE_HOME/Contents/MacOS")) ) + { + print " Enter the Office installation directory [$main::OFFICE_HOME_SUGGESTION]: "; + $main::OFFICE_HOME = readStdIn(); + chop($main::OFFICE_HOME); + if ( $main::OFFICE_HOME eq "" ) + { + $main::OFFICE_HOME = $main::OFFICE_HOME_SUGGESTION; + } - # check more details - if ( -d "$main::OFFICE_HOME/Contents/basis-link" ) { - $main::OFFICE_BASE_HOME = "$main::OFFICE_HOME/Contents/basis-link"; - if ( -d "$main::OFFICE_BASE_HOME/ure-link" ) { - $main::OO_SDK_URE_HOME = "$main::OFFICE_BASE_HOME/ure-link"; - } else { - $main::OFFICE_HOME = ""; - $main::OFFICE_BASE_HOME = ""; - $main::OO_SDK_URE_HOME = ""; - print " Error: no URE found in office installation, please specify the path to a valid installation.\n"; - } - } else { - $main::OFFICE_HOME = ""; - $main::OFFICE_BASE_HOME = ""; - $main::OO_SDK_URE_HOME = ""; - print " Error: no base layer found in office installation, please specify the path to a valid installation.\n"; - } - } - } else + if ( ! -d "$main::OFFICE_HOME" ) { - $main::OFFICE_HOME_SUGGESTION = searchoffice(); + $main::OFFICE_HOME = ""; + print " Error: An office installation is required, please specify the path to a valid installation.\n"; + } - if ( $main::OFFICE_HOME_SUGGESTION eq "" ) { - # prepare Office path - $main::OFFICE_HOME_SUGGESTION = searchprog("soffice"); - } +# $main::OFFICE_BASE_HOME = "$main::OFFICE_HOME/Contents"; + } +} else +{ + $main::OFFICE_HOME_SUGGESTION = searchoffice(); - if ( ! $main::OFFICE_HOME_SUGGESTION eq "" ) - { - my $tmpOffice = readlink "$main::OFFICE_HOME_SUGGESTION/soffice"; + if ( $main::OFFICE_HOME_SUGGESTION eq "" ) { + # prepare Office path + $main::OFFICE_HOME_SUGGESTION = searchprog("soffice"); + } - if ( $tmpOffice eq "" ) - { - $tmpOffice = "$main::OFFICE_HOME_SUGGESTION/soffice"; - } + if ( ! $main::OFFICE_HOME_SUGGESTION eq "" ) + { + my $tmpOffice = readlink "$main::OFFICE_HOME_SUGGESTION/soffice"; - my $offset = rindex($tmpOffice, "/program/soffice"); - if ( $offset != -1 ) - { - $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset); - } else - { - $offset = rindex($tmpOffice, "/soffice"); - if ( $offset != -1 ) - { - $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset); - } else - { - $main::OFFICE_HOME_SUGGESTION = ""; - } - } - } + if ( $tmpOffice eq "" ) + { + $tmpOffice = "$main::OFFICE_HOME_SUGGESTION/soffice"; + } - while ( (! -d "$main::OFFICE_HOME" ) || - ((-d "$main::OFFICE_HOME") && (! -d "$main::OFFICE_HOME/program")) ) + my $offset = rindex($tmpOffice, "/program/soffice"); + if ( $offset != -1 ) + { + $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset); + } else + { + $offset = rindex($tmpOffice, "/soffice"); + if ( $offset != -1 ) { - print " Enter the Office installation directory [$main::OFFICE_HOME_SUGGESTION]: "; - $main::OFFICE_HOME = readStdIn(); - chop($main::OFFICE_HOME); - if ( $main::OFFICE_HOME eq "" ) - { - $main::OFFICE_HOME = $main::OFFICE_HOME_SUGGESTION; - } + $main::OFFICE_HOME_SUGGESTION = substr($tmpOffice, 0, $offset); + } else + { + $main::OFFICE_HOME_SUGGESTION = ""; + } + } + } - if ( ! -d "$main::OFFICE_HOME" ) - { - $main::OFFICE_HOME = ""; - print " Error: An office installation is required, please specify the path to a valid installation.\n"; - } else - { - # special work for a network installation, no prgram directory but a link to the soffice binary - if ( (! -d "$main::OFFICE_HOME/program") && (-e "$main::OFFICE_HOME/soffice") ) - { - my $soserver = `ls -l $OFFICE_HOME_SUGGESTION/soffice | sed -n 's/.* -> //p'`; - $soserver= substr($soserver, 0, rindex($soserver, "program") - 1); + while ( (! -d "$main::OFFICE_HOME" ) || + ((-d "$main::OFFICE_HOME") && (! -d "$main::OFFICE_HOME/program")) ) + { + print " Enter the Office installation directory [$main::OFFICE_HOME_SUGGESTION]: "; + $main::OFFICE_HOME = readStdIn(); + chop($main::OFFICE_HOME); + if ( $main::OFFICE_HOME eq "" ) + { + $main::OFFICE_HOME = $main::OFFICE_HOME_SUGGESTION; + } - if ( ! -d $soserver ) - { - $main::OFFICE_HOME = ""; - print " Error: An office installation is required, please specify the path to a valid installation.\n"; - } else - { - $main::OFFICE_HOME = $soserver; - } - } - } + if ( ! -d "$main::OFFICE_HOME" ) + { + $main::OFFICE_HOME = ""; + print " Error: An office installation is required, please specify the path to a valid installation.\n"; + } else + { + # special work for a network installation, no prgram directory but a link to the soffice binary + if ( (! -d "$main::OFFICE_HOME/program") && (-e "$main::OFFICE_HOME/soffice") ) + { + my $soserver = `ls -l $OFFICE_HOME_SUGGESTION/soffice | sed -n 's/.* -> //p'`; + $soserver= substr($soserver, 0, rindex($soserver, "program") - 1); + + if ( ! -d $soserver ) + { + $main::OFFICE_HOME = ""; + print " Error: An office installation is required, please specify the path to a valid installation.\n"; + } else + { + $main::OFFICE_HOME = $soserver; + } } } -} -else -{ - # prepare URE path - $main::OO_SDK_URE_HOME_SUGGESTION = "/opt/openoffice/ure"; - $main::OO_SDK_URE_HOME_SUGGESTION = "" unless - -e "$main::OO_SDK_URE_HOME_SUGGESTION/bin/uno"; - for (;;) - { - print " Enter the URE installation directory", - " [$main::OO_SDK_URE_HOME_SUGGESTION]: "; - $main::OO_SDK_URE_HOME = readStdIn(); - chop $main::OO_SDK_URE_HOME; - $main::OO_SDK_URE_HOME = $main::OO_SDK_URE_HOME_SUGGESTION if - $main::OO_SDK_URE_HOME eq "" && - $main::OO_SDK_URE_HOME_SUGGESTION ne ""; - last if -e "$main::OO_SDK_URE_HOME/bin/uno"; - print " Error: A valid URE installation is required.\n"; } } + # prepare GNU make path while ( (!$main::correctVersion) && ((! -d "$main::OO_SDK_MAKE_HOME" ) || @@ -573,25 +524,18 @@ while ( (!$main::skipOutputDir) && } # prepare auto deployment -if ( $main::OFFICE_OR_URE eq "Office" ) +while ( $main::SDK_AUTO_DEPLOYMENT eq "" || + ((! $main::SDK_AUTO_DEPLOYMENT eq "YES") && + (! $main::SDK_AUTO_DEPLOYMENT eq "NO")) ) { - while ( $main::SDK_AUTO_DEPLOYMENT eq "" || - ((! $main::SDK_AUTO_DEPLOYMENT eq "YES") && - (! $main::SDK_AUTO_DEPLOYMENT eq "NO")) ) - { - print " Automatic deployment of UNO components (YES/NO) [$main::SDK_AUTO_DEPLOYMENT_SUGGESTION]: "; - $main::SDK_AUTO_DEPLOYMENT = uc <STDIN>; - chop($main::SDK_AUTO_DEPLOYMENT); - if ( $main::SDK_AUTO_DEPLOYMENT eq "" ) - { - $main::SDK_AUTO_DEPLOYMENT = "YES"; - } + print " Automatic deployment of UNO components (YES/NO) [$main::SDK_AUTO_DEPLOYMENT_SUGGESTION]: "; + $main::SDK_AUTO_DEPLOYMENT = uc <STDIN>; + chop($main::SDK_AUTO_DEPLOYMENT); + if ( $main::SDK_AUTO_DEPLOYMENT eq "" ) + { + $main::SDK_AUTO_DEPLOYMENT = "YES"; } } -else -{ - $main::SDK_AUTO_DEPLOYMENT = "NO"; -} prepareScriptFile("setsdkenv_unix.sh.in", "setsdkenv_unix.sh"); chmod 0644, "$main::OO_SDK_CONFIG_HOME/$main::hostname/setsdkenv_unix.sh"; @@ -714,19 +658,6 @@ sub searchMacOffice if (-d "/Applications/OpenOffice.app" ) { return "/Applications/OpenOffice.app" } - if (-d "/Applications/OpenOffice.org.app" ) { - return "/Applications/OpenOffice.org.app" - } - if (-d "/Applications/Oracle Open Office.app" ) { - return "/Applications/Oracle Open Office.app"; - } - if (-d "/Applications/StarOffice.app" ) { - return "/Applications/StarOffice.app"; - } - if (-d "/Applications/StarSuite.app" ) { - return "/Applications/StarSuite.app"; - } - return ""; } @@ -744,59 +675,7 @@ sub searchoffice if (-d $officepath && -e "$officepath/program/soffice") { return $officepath; } - # fallback - my $tmpversion = $main::OO_MAJORVERSION; -# if ( $main::OO_MINORVERSION > 0) { -# $tmpversion = "$tmpversion.$main::OO_MINORVERSION"; -# } - - $officepath = "$tmpOffice/oracle_open_office$tmpversion"; - if (-d $officepath && -e "$officepath/program/soffice") { - return $officepath; - } - - my $tmpversion = $main::OO_MAJORVERSION + 6; - if ( $main::OO_MINORVERSION > 0) { - $tmpversion = "$tmpversion.$main::OO_MINORVERSION"; - } - - $officepath = "$tmpOffice/staroffice$tmpversion"; - if (-d $officepath && -e "$officepath/program/soffice") { - return $officepath; - } - $officepath = "$tmpOffice/StarOffice$tmpversion"; - if (-d $officepath && -e "$officepath/program/soffice") { - return $officepath; - } - $officepath = "$tmpOffice/starsuite$tmpversion"; - if (-d $officepath && -e "$officepath/program/soffice") { - return $officepath; - } - $officepath = "$tmpOffice/StarSuite$tmpversion"; - if (-d $officepath && -e "$officepath/program/soffice") { - return $officepath; - } - $officepath = ""; - - # search other potential matching office versions - my $path = "/opt/"; - my $entry = ""; - my $version = "0"; - for $entry (glob($path.'*')) { - ## if the file is a directory - if( -d $entry) { - - if ($entry =~ m#(.+(o|O)ffice(\.org){0,1}(\d([\d\.]){0,2}))# || - $entry =~ m#(.+(s|S)uite(.*)(\d([\d\.]){0,2}))# ) - { - if ($4 > $version) { - $version = $4; - $officepath = $entry; - } - } - } - } - return $officepath; + return ""; } @@ -865,8 +744,7 @@ sub prepareScriptFile() $_ =~ s#\@OO_SDK_NAME\@#$main::OO_SDK_NAME#go; $_ =~ s#\@OO_SDK_HOME\@#$main::OO_SDK_HOME#go; $_ =~ s#\@OFFICE_HOME\@#$main::OFFICE_HOME#go; - $_ =~ s#\@OFFICE_BASE_HOME\@#$main::OFFICE_BASE_HOME#go; - $_ =~ s#\@OO_SDK_URE_HOME\@#$main::OO_SDK_URE_HOME#go; +# $_ =~ s#\@OFFICE_BASE_HOME\@#$main::OFFICE_BASE_HOME#go; $_ =~ s#\@OO_SDK_MAKE_HOME\@#$main::OO_SDK_MAKE_HOME#go; $_ =~ s#\@OO_SDK_ZIP_HOME\@#$main::OO_SDK_ZIP_HOME#go; $_ =~ s#\@OO_SDK_CAT_HOME\@#$main::OO_SDK_CAT_HOME#go; |