From aa1bf9c01468c24b1533ea8f75c256f726ad4684 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Sun, 25 Nov 2007 14:20:53 +0000 Subject: [PATCH] - avoid referencing non-unix platform symbols (we don't compile those classes) Changed files: Azureus-platform.patch -> 1.1 --- Azureus-platform.patch | 350 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 350 insertions(+) create mode 100644 Azureus-platform.patch diff --git a/Azureus-platform.patch b/Azureus-platform.patch new file mode 100644 index 0000000..f59baff --- /dev/null +++ b/Azureus-platform.patch @@ -0,0 +1,350 @@ +--- Azureus-3.0.3.4/com/aelitis/azureus/core/update/impl/AzureusRestarterImpl.java 2007-11-25 16:13:19.744461541 +0200 ++++ Azureus-3.0.3.4-new/com/aelitis/azureus/core/update/impl/AzureusRestarterImpl.java 2007-11-25 16:07:36.824808968 +0200 +@@ -30,8 +30,6 @@ + import org.gudy.azureus2.platform.PlatformManager; + import org.gudy.azureus2.platform.PlatformManagerFactory; + import org.gudy.azureus2.platform.unix.ScriptAfterShutdown; +-import org.gudy.azureus2.platform.win32.access.AEWin32Access; +-import org.gudy.azureus2.platform.win32.access.AEWin32Manager; + import org.gudy.azureus2.update.UpdaterUtils; + + import com.aelitis.azureus.core.AzureusCore; +@@ -297,141 +295,6 @@ + return null; + } + +- private boolean restartViaEXE(PrintWriter log, +- String exeUpdater, +- String[] properties, +- String[] parameters, +- String backupJavaRunString, +- boolean update_only) +- { +- String azRunner = null; +- File fileRestart = null; +- if (!update_only) { +- try { +- azRunner = PlatformManagerFactory.getPlatformManager().getApplicationCommandLine(); +- } catch (PlatformManagerException e) { +- // TODO Auto-generated catch block +- e.printStackTrace(); +- } +- } +- +- try { +- int result; +- AEWin32Access accessor = AEWin32Manager.getAccessor(true); +- if (accessor == null) { +- result = -123; +- } else { +- if (azRunner != null) { +- // create a batch file to run the updater, then to restart azureus +- // bceause the updater would restart azureus as administrator user +- // and confuse the user +- fileRestart = FileUtil.getUserFile("restart.bat"); +- String s = "title Azureus Updater Runner\r\n"; +- s += exeUpdater + " \"updateonly\""; +- for (int i = 1; i < parameters.length; i++) { +- s += " \"" + parameters[i].replaceAll("\\\"", "") + "\""; +- } +- s += "\r\n"; +- s += "start \"\" \"" + azRunner + "\""; +- FileUtil.writeBytesAsFile(fileRestart.getAbsolutePath(), s.getBytes()); +- +- result = accessor.shellExecute(null, fileRestart.getAbsolutePath(), +- null, SystemProperties.getApplicationPath(), +- AEWin32Access.SW_SHOWMINIMIZED); +- } else { +- String execEXE = "\"-J" + getClassPath().replaceAll("\\\"", "") +- + "\" "; +- +- for (int i = 0; i < properties.length; i++) { +- execEXE += "\"-J" + properties[i].replaceAll("\\\"", "") + "\" "; +- } +- +- for (int i = 0; i < parameters.length; i++) { +- execEXE += " \"" + parameters[i].replaceAll("\\\"", "") + "\""; +- } +- +- log.println("Launch via " + exeUpdater + " params " + execEXE); +- result = accessor.shellExecute(null, exeUpdater, execEXE, +- SystemProperties.getApplicationPath(), AEWin32Access.SW_NORMAL); +- } +- } +- +- /* +- * Some results: +- * 0: OOM +- * 2: FNF +- * 3: Path Not Foud +- * 5: Access Denied (User clicked cancel on admin access dialog) +- * 8: OOM +- * 11: Bad Format +- * 26: Sharing Violation +- * 27: Association incomplete +- * 28: DDE Timeout +- * 29: DDE Fail +- * 30: DDE Busy +- * 31: No Association +- * 32: DLL Not found +- * >32: OK! +- */ +- log.println(" -> " + result); +- +- if (result <= 32) { +- String sErrorReason = ""; +- String key = null; +- +- switch (result) { +- case 0: +- case 8: +- key = "oom"; +- break; +- +- case 2: +- key = "fnf"; +- break; +- +- case 3: +- key = "pnf"; +- break; +- +- case 5: +- key = "denied"; +- break; +- +- case 11: +- key = "bad"; +- break; +- +- case -123: +- key = "nowin32"; +- break; +- +- default: +- sErrorReason = "" + result; +- break; +- } +- if (key != null) { +- sErrorReason = MessageText.getString("restart.error." + key, +- new String[] { +- exeUpdater, +- SystemProperties.getApplicationPath(), +- }); +- } +- Logger.log(new LogAlert(false, LogAlert.AT_ERROR, +- MessageText.getString("restart.error", new String[] { +- sErrorReason +- }))); +- return false; +- } +- } catch (Throwable f) { +- +- f.printStackTrace(log); +- +- return javaSpawn(log, backupJavaRunString); +- } +- +- return true; +- } +- + + // ****************** This code is copied into Restarter / Updater so make changes there too !!! + +@@ -446,107 +309,9 @@ + String[] parameters, + boolean update_only) + { +- if(Constants.isOSX){ +- +- restartAzureus_OSX(log,mainClass,properties,parameters); +- +- }else if( Constants.isUnix ){ +- +- restartAzureus_Unix(log,mainClass,properties,parameters); +- +- }else{ +- +- restartAzureus_win32(log,mainClass,properties,parameters,update_only); +- } ++ restartAzureus_Unix(log,mainClass,properties,parameters); + } + +- private void +- restartAzureus_win32( +- PrintWriter log, +- String mainClass, +- String[] properties, +- String[] parameters, +- boolean update_only) +- { +- String exeUpdater = getExeUpdater(log); // Not for Updater.java +- +- String exec; +- +- //Classic restart way using Runtime.exec directly on java(w) +- exec = "\"" + JAVA_EXEC_DIR + "javaw\" " + getClassPath() + getLibraryPath(); +- +- for (int i = 0; i < properties.length; i++) { +- exec += properties[i] + " "; +- } +- +- exec += mainClass; +- +- for (int i = 0; i < parameters.length; i++) { +- exec += " \"" + parameters[i] + "\""; +- } +- +- if (exeUpdater != null) { +- restartViaEXE(log, exeUpdater, properties, parameters, exec, update_only); +- } else { +- if (log != null) { +- log.println(" " + exec); +- } +- +- if (!win32NativeRestart(log, exec)) { +- javaSpawn(log, exec); +- } +- } +- } +- +- +- private boolean +- javaSpawn( +- PrintWriter log, +- String execString) +- { +- try { +- // hmm, try java method - this WILL inherit handles but might work :) +- +- log.println("Using java spawn"); +- +- //NOTE: no logging done here, as we need the method to return right away, before the external process completes +- Process p = Runtime.getRuntime().exec(execString); +- +- log.println(" -> " + p); +- +- return true; +- } catch (Throwable g) { +- +- g.printStackTrace(); +- return false; +- } +- } +- +- private void +- restartAzureus_OSX( +- PrintWriter log, +- String mainClass, +- String[] properties, +- String[] parameters) +- { +- +- String exec = "\"" + JAVA_EXEC_DIR + "java\" " + getClassPath() + getLibraryPath(); +- +- for (int i=0;i