This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to branch master in repository snappy-java.
commit 2bd87dfbf5e83c953d4f01910d0d72c768028ab0 Author: Andreas Tille <[email protected]> Date: Tue Aug 14 09:50:46 2012 +0200 There is no point in hacking in LoadSnappy classe since it is better to provide a previous version of snappy-java as separate package --- debian/changelog | 3 +- debian/patches/add_missing_file.patch | 247 ---------------------------------- 2 files changed, 1 insertion(+), 249 deletions(-) diff --git a/debian/changelog b/debian/changelog index bca9aa4..cdf370e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,6 @@ snappy-java (1.0.4.1~dfsg-2) UNRELEASED; urgency=low - * Stupidly inject missing file LoadSnappy.java as quilt patch for - the purpose of testing. + * Debian Med team takes over maintenance of this package -- Andreas Tille <[email protected]> Wed, 08 Aug 2012 09:21:35 +0200 diff --git a/debian/patches/add_missing_file.patch b/debian/patches/add_missing_file.patch deleted file mode 100644 index 4a4c245..0000000 --- a/debian/patches/add_missing_file.patch +++ /dev/null @@ -1,247 +0,0 @@ ---- /dev/null -+++ snappy-java/src/main/java/org/xerial/snappy/LoadSnappy.java -@@ -0,0 +1,244 @@ -+/*-------------------------------------------------------------------------- -+ * Copyright 2011 Taro L. Saito -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ *--------------------------------------------------------------------------*/ -+//-------------------------------------- -+// snappy-java Project -+// -+// LoadSnappy.java -+// Since: 2011/03/29 -+// -+// $URL$ -+// $Author$ -+//-------------------------------------- -+package org.xerial.snappy; -+ -+import java.io.BufferedInputStream; -+import java.io.ByteArrayOutputStream; -+import java.io.File; -+import java.io.FileInputStream; -+import java.io.FileOutputStream; -+import java.io.IOException; -+import java.io.InputStream; -+import java.net.URL; -+import java.security.DigestInputStream; -+import java.security.MessageDigest; -+import java.security.NoSuchAlgorithmException; -+import java.util.Properties; -+ -+/** -+ * This class loads a native library of Snappy according to the platform of the -+ * user. -+ * -+ * @author leo -+ * -+ */ -+public class LoadSnappy -+{ -+ private static boolean isLoaded = false; -+ -+ public static boolean load() { -+ if (!isLoaded) { -+ loadSnappyNativeLibrary(); -+ } -+ return isLoaded; -+ } -+ -+ /** -+ * Computes the MD5 value of the input stream -+ * -+ * @param input -+ * @return -+ * @throws IOException -+ * @throws NoSuchAlgorithmException -+ */ -+ static String md5sum(InputStream input) throws IOException { -+ BufferedInputStream in = new BufferedInputStream(input); -+ -+ try { -+ MessageDigest digest = java.security.MessageDigest.getInstance("MD5"); -+ DigestInputStream digestInputStream = new DigestInputStream(in, digest); -+ for (; digestInputStream.read() >= 0;) { -+ -+ } -+ ByteArrayOutputStream md5out = new ByteArrayOutputStream(); -+ md5out.write(digest.digest()); -+ return md5out.toString(); -+ } -+ catch (NoSuchAlgorithmException e) { -+ throw new IllegalStateException("MD5 algorithm is not available: " + e); -+ } -+ finally { -+ in.close(); -+ } -+ } -+ -+ /** -+ * Extract the specified library file to the target folder -+ * -+ * @param libFolderForCurrentOS -+ * @param libraryFileName -+ * @param targetFolder -+ * @return -+ */ -+ private static boolean extractAndLoadLibraryFile(String libFolderForCurrentOS, String libraryFileName, -+ String targetFolder) { -+ String nativeLibraryFilePath = libFolderForCurrentOS + "/" + libraryFileName; -+ final String prefix = "snappy-" + getVersion() + "-"; -+ -+ String extractedLibFileName = prefix + libraryFileName; -+ File extractedLibFile = new File(targetFolder, extractedLibFileName); -+ -+ try { -+ if (extractedLibFile.exists()) { -+ // test md5sum value -+ String md5sum1 = md5sum(LoadSnappy.class.getResourceAsStream(nativeLibraryFilePath)); -+ String md5sum2 = md5sum(new FileInputStream(extractedLibFile)); -+ -+ if (md5sum1.equals(md5sum2)) { -+ return loadNativeLibrary(targetFolder, extractedLibFileName); -+ } -+ else { -+ // remove old native library file -+ boolean deletionSucceeded = extractedLibFile.delete(); -+ if (!deletionSucceeded) { -+ throw new IOException("failed to remove existing native library file: " -+ + extractedLibFile.getAbsolutePath()); -+ } -+ } -+ } -+ -+ // extract file into the current directory -+ InputStream reader = LoadSnappy.class.getResourceAsStream(nativeLibraryFilePath); -+ FileOutputStream writer = new FileOutputStream(extractedLibFile); -+ byte[] buffer = new byte[1024]; -+ int bytesRead = 0; -+ while ((bytesRead = reader.read(buffer)) != -1) { -+ writer.write(buffer, 0, bytesRead); -+ } -+ -+ writer.close(); -+ reader.close(); -+ -+ if (!System.getProperty("os.name").contains("Windows")) { -+ try { -+ Runtime.getRuntime().exec(new String[] { "chmod", "755", extractedLibFile.getAbsolutePath() }) -+ .waitFor(); -+ } -+ catch (Throwable e) {} -+ } -+ -+ return loadNativeLibrary(targetFolder, extractedLibFileName); -+ } -+ catch (IOException e) { -+ System.err.println(e.getMessage()); -+ return false; -+ } -+ -+ } -+ -+ private static synchronized boolean loadNativeLibrary(String path, String name) { -+ File libPath = new File(path, name); -+ if (libPath.exists()) { -+ -+ try { -+ System.load(new File(path, name).getAbsolutePath()); -+ return true; -+ } -+ catch (UnsatisfiedLinkError e) { -+ throw new SnappyError(SnappyErrorCode.FAILED_TO_LOAD_NATIVE_LIBRARY, e); -+ } -+ -+ } -+ else -+ return false; -+ } -+ -+ private static void loadSnappyNativeLibrary() { -+ if (isLoaded) -+ return; -+ -+ // Try loading the library from org.xerial.snappy.lib.path library path */ -+ String snappyNativeLibraryPath = System.getProperty("org.xerial.snappy.lib.path"); -+ String snappyNativeLibraryName = System.getProperty("org.xerial.snappy.lib.name"); -+ -+ // Resolve the library file name with a suffix (e.g., dll, .so, etc.) -+ if (snappyNativeLibraryName == null) -+ snappyNativeLibraryName = System.mapLibraryName("snappy"); -+ -+ if (snappyNativeLibraryPath != null) { -+ if (loadNativeLibrary(snappyNativeLibraryPath, snappyNativeLibraryName)) { -+ isLoaded = true; -+ return; -+ } -+ } -+ -+ // Load the os-dependent library from a jar file -+ snappyNativeLibraryPath = "/org/xerial/snappy/native/" + OSInfo.getNativeLibFolderPathForCurrentOS(); -+ -+ if (LoadSnappy.class.getResource(snappyNativeLibraryPath + "/" + snappyNativeLibraryName) == null) { -+ // use nested VM version -+ return; -+ } -+ -+ // Temporary library folder. Use the value of java.io.tmpdir -+ String tempFolder = new File(System.getProperty("java.io.tmpdir")).getAbsolutePath(); -+ // Try extracting the library from jar -+ if (extractAndLoadLibraryFile(snappyNativeLibraryPath, snappyNativeLibraryName, tempFolder)) { -+ isLoaded = true; -+ return; -+ } -+ -+ isLoaded = false; -+ return; -+ } -+ -+ private static void getNativeLibraryFolderForTheCurrentOS() { -+ String osName = OSInfo.getOSName(); -+ String archName = OSInfo.getArchName(); -+ -+ } -+ -+ public static int getMajorVersion() { -+ String[] c = getVersion().split("\\."); -+ return (c.length > 0) ? Integer.parseInt(c[0]) : 1; -+ } -+ -+ public static int getMinorVersion() { -+ String[] c = getVersion().split("\\."); -+ return (c.length > 1) ? Integer.parseInt(c[1]) : 0; -+ } -+ -+ public static String getVersion() { -+ -+ URL versionFile = LoadSnappy.class.getResource("/META-INF/maven/org.xerial.snappy/snappy-java/pom.properties"); -+ if (versionFile == null) -+ versionFile = LoadSnappy.class.getResource("/META-INF/maven/org.xerial.snappy/snappy-java/VERSION"); -+ -+ String version = "unknown"; -+ try { -+ if (versionFile != null) { -+ Properties versionData = new Properties(); -+ versionData.load(versionFile.openStream()); -+ version = versionData.getProperty("version", version); -+ version = version.trim().replaceAll("[^0-9\\.]", ""); -+ } -+ } -+ catch (IOException e) { -+ System.err.println(e); -+ } -+ return version; -+ } -+ -+} -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/snappy-java.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

