This is an automated email from the git hooks/post-receive script. vdanjean pushed a commit to branch master in repository picard-tools.
commit 516c05947657bb9550ec0886e25d76332ac562e4 Author: Vincent Danjean <[email protected]> Date: Tue Sep 8 11:15:12 2015 +0200 Fix path handling to allow '+' in directory names --- debian/patches/00-for-upstream-fix-testsuite | 2 +- debian/patches/01-for-upstream-fix-classloader | 47 ++++++++++++++++++++++++++ debian/patches/{01-build.xml => 10-build.xml} | 0 debian/patches/series | 3 +- 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/debian/patches/00-for-upstream-fix-testsuite b/debian/patches/00-for-upstream-fix-testsuite index 40ecf11..3a6c393 100644 --- a/debian/patches/00-for-upstream-fix-testsuite +++ b/debian/patches/00-for-upstream-fix-testsuite @@ -2,7 +2,7 @@ Description: Fix a bug in the testsuite This patch fixes the number of arguments of the testIlluminaDataProviderMissingDatas function. Origin: vendor -Forwarded: no +Forwarded: yes --- a/src/tests/java/picard/illumina/parser/IlluminaDataProviderTest.java +++ b/src/tests/java/picard/illumina/parser/IlluminaDataProviderTest.java @@ -259,10 +259,12 @@ public class IlluminaDataProviderTest { diff --git a/debian/patches/01-for-upstream-fix-classloader b/debian/patches/01-for-upstream-fix-classloader new file mode 100644 index 0000000..1d9974b --- /dev/null +++ b/debian/patches/01-for-upstream-fix-classloader @@ -0,0 +1,47 @@ +Description: Fix a bug in path handling + This patch fixes the convertion from URL to path so that paths + containing the '+' character are not converted to ' '. As the + Debian package has +dfsg suffix in its version string, sbuilder + create a directory with this string and the test suite suffer + from this bug. +Origin: vendor +Forwarded: yes +--- a/src/java/picard/cmdline/ClassFinder.java ++++ b/src/java/picard/cmdline/ClassFinder.java +@@ -30,7 +30,8 @@ import java.io.File; + import java.io.IOException; + import java.net.URL; + import java.net.URLClassLoader; +-import java.net.URLDecoder; ++import java.net.URI; ++import java.net.URISyntaxException; + import java.util.*; + import java.util.zip.ZipEntry; + import java.util.zip.ZipFile; +@@ -63,7 +64,7 @@ public class ClassFinder { + // but the jarPath is remembered so that the iteration over the classpath skips anything other than + // the jarPath. + jarPath = jarFile.getCanonicalPath(); +- final URL[] urls = {new URL("file", "", jarPath)}; ++ final URL[] urls = {new File(jarPath).toURI().toURL()}; + loader = new URLClassLoader(urls, Thread.currentThread().getContextClassLoader()); + } + +@@ -95,9 +96,14 @@ public class ClassFinder { + while (urls.hasMoreElements()) { + try { + String urlPath = urls.nextElement().getFile(); +- urlPath = URLDecoder.decode(urlPath, "UTF-8"); +- if ( urlPath.startsWith("file:") ) { +- urlPath = urlPath.substring(5); ++ // convert URL to URI ++ // http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4466485 ++ // using URLDecode does not work if urlPath has a '+' character ++ try { ++ URI uri = new URI(urlPath); ++ urlPath = uri.getPath(); ++ } catch (URISyntaxException e) { ++ log.warn("Cannot convert to URI the " + urlPath + " URL"); + } + if (urlPath.indexOf('!') > 0) { + urlPath = urlPath.substring(0, urlPath.indexOf('!')); diff --git a/debian/patches/01-build.xml b/debian/patches/10-build.xml similarity index 100% rename from debian/patches/01-build.xml rename to debian/patches/10-build.xml diff --git a/debian/patches/series b/debian/patches/series index 2082a43..f213547 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 00-for-upstream-fix-testsuite -01-build.xml +01-for-upstream-fix-classloader +10-build.xml -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/picard-tools.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
