ubuntuusers.de

Installation einer .patch datei

Status: Ungelöst | Ubuntu-Version: Ubuntu MATE 18.04 (Bionic Beaver)
Antworten |

hirntot

Anmeldungsdatum:
9. August 2009

Beiträge: 198

hallo liebes forum,

ich habe ein problem mit einem programm namens Sweethome3d, welches nun von einem gewissen hacker mit einer .patch-datei gelöst wurde. die .patch-datei steht mir zur Verfügung, allerdings habe ich keine ahnung wie ich diese installieren kann. das wiki ( patch ) macht mich nicht schlauer; Angeblich kann/soll ich mit dieser .patch-datei eine gewisse andere Datei patchen. ich weiß nämlich nicht ob ich jetzt java oder Sweethome3d patchen soll und wenn ich das wüsste, wüsste ich nicht ,welche Datei ich patchen müsste.

der Inhalt der .patch datei:

---
 src/com/eteks/sweethome3d/io/URLContentClassLoader.java |   21 ++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

--- a/src/com/eteks/sweethome3d/io/URLContentClassLoader.java
+++ b/src/com/eteks/sweethome3d/io/URLContentClassLoader.java
@@ -21,6 +21,7 @@ package com.eteks.sweethome3d.io;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.MalformedURLException;
 import java.net.URISyntaxException;
 import java.net.URL;
 
@@ -37,15 +38,31 @@ class URLContentClassLoader extends Clas
     this.url = url;
   }
 
+  private URL getResourceURL(String name)
+	  throws URISyntaxException, MalformedURLException {
+    return new URL("jar:" + this.url.toURI() + "!/" + name);
+  }
+
+  @Override
+  public URL findResource(final String name) {
+    try {
+      return getResourceURL(name);
+    } catch (IOException ex) {
+      return null;
+    } catch (URISyntaxException ex) {
+      return null;
+    }
+  }
+
   @Override
   public InputStream getResourceAsStream(String name) {
     try {
       // Return a stream managed by URLContent to be able to delete the writable files accessed with jar protocol
-      return new URLContent(new URL("jar:" + this.url.toURI() + "!/" + name)).openStream();
+      return new URLContent(getResourceURL(name)).openStream();
     } catch (IOException ex) {
       return null;
     } catch (URISyntaxException ex) {
       return null;
     }
   }
-}
\ No newline at end of file
+}

die Quelle: https://sourceforge.net/p/sweethome3d/bugs/832/

(hat für OpenSuse funktioniert, hoffentlich auch für mich)

dank und gruß

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17528

Patch Dateien unter Linux werden auf den Quellcode vom Programm angewendet. Für Laien ist es oft einfacher eine neuere/gefixte Version zu installieren.

mfg Stefan

Antworten |