summaryrefslogtreecommitdiff
path: root/javainstaller2
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2008-07-17 15:27:34 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2008-07-17 15:27:34 +0000
commit2cae06cfaa4b0c994b07f0be326b88342d3dd210 (patch)
tree92368198c2b9bf8d0994f982e295099441f4ff51 /javainstaller2
parentfecd14ed95d697deecc7a1891b94e46988a4f0f2 (diff)
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
Diffstat (limited to 'javainstaller2')
-rwxr-xr-xjavainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java156
-rwxr-xr-xjavainstaller2/src/JavaSetup/org/openoffice/setup/SetupData/PackageDescription.java13
2 files changed, 122 insertions, 47 deletions
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 */