From 2cae06cfaa4b0c994b07f0be326b88342d3dd210 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Thu, 17 Jul 2008 15:27:34 +0000 Subject: INTEGRATION: CWS native168 (1.7.4); FILE MERGED 2008/07/11 14:02:55 is 1.7.4.1: #158211# force parameter for system integration packages --- .../openoffice/setup/Installer/LinuxInstaller.java | 156 +++++++++++++++------ .../setup/SetupData/PackageDescription.java | 13 +- 2 files changed, 122 insertions(+), 47 deletions(-) (limited to 'javainstaller2') diff --git a/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java b/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java index b5846adc4d12..fc4104cbdc7c 100755 --- a/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java +++ b/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: LinuxInstaller.java,v $ - * $Revision: 1.7 $ + * $Revision: 1.8 $ * * This file is part of OpenOffice.org. * @@ -184,6 +184,14 @@ public class LinuxInstaller extends Installer { // relocations: "/opt/staroffice8=" + fixedInstallDir; } + // Some packages have to be installed with parameter "--force", if the link "/usr/bin/soffice" + // already exists. These pacakges return true with methode "useForce()". + boolean useForce = false; + if ( packageData.useForce() ) { + File sofficeLink = new File("/usr/bin/soffice"); + if ( sofficeLink.exists() ) { useForce = true; } + } + String rpmCommand = ""; String[] rpmCommandArray; String databasePath = null; @@ -203,55 +211,111 @@ public class LinuxInstaller extends Installer { useLocalDatabase = true; } - if (useLocalDatabase) { - if ( relocations != null ) - { - rpmCommand = "rpm --upgrade --ignoresize -vh " + - "--relocate " + relocations + " " + databaseString + - " " + databasePath + " " + packageName; - rpmCommandArray = new String[9]; - rpmCommandArray[0] = "rpm"; - rpmCommandArray[1] = "--upgrade"; - rpmCommandArray[2] = "--ignoresize"; - rpmCommandArray[3] = "-vh"; - rpmCommandArray[4] = "--relocate"; - rpmCommandArray[5] = relocations; - rpmCommandArray[6] = databaseString; - rpmCommandArray[7] = databasePath; - rpmCommandArray[8] = packageName; + if (useForce) { + if (useLocalDatabase) { + if ( relocations != null ) { + rpmCommand = "rpm --upgrade --ignoresize --force -vh " + + "--relocate " + relocations + " " + databaseString + + " " + databasePath + " " + packageName; + rpmCommandArray = new String[10]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "--force"; + rpmCommandArray[4] = "-vh"; + rpmCommandArray[5] = "--relocate"; + rpmCommandArray[6] = relocations; + rpmCommandArray[7] = databaseString; + rpmCommandArray[8] = databasePath; + rpmCommandArray[9] = packageName; + } else { + rpmCommand = "rpm --upgrade --ignoresize --force -vh " + + databaseString + " " + databasePath + " " + packageName; + rpmCommandArray = new String[8]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "--force"; + rpmCommandArray[4] = "-vh"; + rpmCommandArray[5] = databaseString; + rpmCommandArray[6] = databasePath; + rpmCommandArray[7] = packageName; + } } else { - rpmCommand = "rpm --upgrade --ignoresize -vh " + - databaseString + " " + databasePath + " " + packageName; - rpmCommandArray = new String[7]; - rpmCommandArray[0] = "rpm"; - rpmCommandArray[1] = "--upgrade"; - rpmCommandArray[2] = "--ignoresize"; - rpmCommandArray[3] = "-vh"; - rpmCommandArray[4] = databaseString; - rpmCommandArray[5] = databasePath; - rpmCommandArray[6] = packageName; + if ( relocations != null ) + { + rpmCommand = "rpm --upgrade --ignoresize --force -vh " + + "--relocate " + relocations + " " + packageName; + rpmCommandArray = new String[8]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "--force"; + rpmCommandArray[4] = "-vh"; + rpmCommandArray[5] = "--relocate"; + rpmCommandArray[6] = relocations; + rpmCommandArray[7] = packageName; + } else { + rpmCommand = "rpm --upgrade --ignoresize --force -vh " + packageName; + rpmCommandArray = new String[6]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "--force"; + rpmCommandArray[4] = "-vh"; + rpmCommandArray[5] = packageName; + } } } else { - if ( relocations != null ) - { - rpmCommand = "rpm --upgrade --ignoresize -vh " + - "--relocate " + relocations + " " + packageName; - rpmCommandArray = new String[7]; - rpmCommandArray[0] = "rpm"; - rpmCommandArray[1] = "--upgrade"; - rpmCommandArray[2] = "--ignoresize"; - rpmCommandArray[3] = "-vh"; - rpmCommandArray[4] = "--relocate"; - rpmCommandArray[5] = relocations; - rpmCommandArray[6] = packageName; + if (useLocalDatabase) { + if ( relocations != null ) { + rpmCommand = "rpm --upgrade --ignoresize -vh " + + "--relocate " + relocations + " " + databaseString + + " " + databasePath + " " + packageName; + rpmCommandArray = new String[9]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "-vh"; + rpmCommandArray[4] = "--relocate"; + rpmCommandArray[5] = relocations; + rpmCommandArray[6] = databaseString; + rpmCommandArray[7] = databasePath; + rpmCommandArray[8] = packageName; + } else { + rpmCommand = "rpm --upgrade --ignoresize -vh " + + databaseString + " " + databasePath + " " + packageName; + rpmCommandArray = new String[7]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "-vh"; + rpmCommandArray[4] = databaseString; + rpmCommandArray[5] = databasePath; + rpmCommandArray[6] = packageName; + } } else { - rpmCommand = "rpm --upgrade --ignoresize -vh " + packageName; - rpmCommandArray = new String[5]; - rpmCommandArray[0] = "rpm"; - rpmCommandArray[1] = "--upgrade"; - rpmCommandArray[2] = "--ignoresize"; - rpmCommandArray[3] = "-vh"; - rpmCommandArray[4] = packageName; + if ( relocations != null ) + { + rpmCommand = "rpm --upgrade --ignoresize -vh " + + "--relocate " + relocations + " " + packageName; + rpmCommandArray = new String[7]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "-vh"; + rpmCommandArray[4] = "--relocate"; + rpmCommandArray[5] = relocations; + rpmCommandArray[6] = packageName; + } else { + rpmCommand = "rpm --upgrade --ignoresize -vh " + packageName; + rpmCommandArray = new String[5]; + rpmCommandArray[0] = "rpm"; + rpmCommandArray[1] = "--upgrade"; + rpmCommandArray[2] = "--ignoresize"; + rpmCommandArray[3] = "-vh"; + rpmCommandArray[4] = packageName; + } } } diff --git a/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java b/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java index 3ded9327063e..ab011a148eba 100755 --- a/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java +++ b/javainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: PackageDescription.java,v $ - * $Revision: 1.7 $ + * $Revision: 1.8 $ * * This file is part of OpenOffice.org. * @@ -102,6 +102,7 @@ public class PackageDescription implements TreeNode { private boolean isApplicationPackage = false; private boolean isJavaPackage = false; private boolean installCanFail = false; + private boolean useForce = false; private boolean isNewInstalled = false; private boolean wasAlreadyInstalled = false; @@ -209,6 +210,10 @@ public class PackageDescription implements TreeNode { return installCanFail; } + public boolean useForce() { + return useForce; + } + public void setIsNewInstalled(boolean installed) { isNewInstalled = installed; } @@ -452,6 +457,12 @@ public class PackageDescription implements TreeNode { installCanFail = Parser.parseBoolean(installCanFailValue); } + subSection = section.getElement("useforce"); + if (subSection != null) { + String useForceValue = subSection.getValue(); + useForce = Parser.parseBoolean(useForceValue); + } + } /* query information about the physical (rpm/pkg/msi...) package itself */ -- cgit