[Debian-med-packaging] Help to detect java classes in drop-seq (covid-19 relevant) needed

Felix Natter fnatter at gmx.net
Wed May 20 17:12:54 BST 2020


Andreas Tille <andreas at an3as.eu> writes:

> Hi,

hello Andreas,

> I've started packaging of drop-seq[1] and replaced those JARs that are
> replacable by Debian packaged versions.  I also have set CLASS_PATH in
> d/rules, but it seems to be ignored.  I have dealt with similar cases by
> patching it into build.xml but here I have not found the relevant place
> to do so.  I'm aware that I did not yet added all needed classes to
> CLASS_PATH, but currently I get
>
>
>    dh_auto_build
>         ant -Duser.name debian
> Buildfile: /build/drop-seq-2.3.0+dfsg/build.xml
>   [taskdef] Could not load definitions from resource testngtasks. It could not be found.
>
> compile-src:
>     [mkdir] Created dir: /build/drop-seq-2.3.0+dfsg/classes
>     [javac] Compiling 201 source files to /build/drop-seq-2.3.0+dfsg/classes
>     [javac] /build/drop-seq-2.3.0+dfsg/src/java/org/broadinstitute/dropseqrna/TranscriptomeException.java:28: error: package htsjdk.samtools does not exist
>     [javac] import htsjdk.samtools.SAMException;
>     [javac]                       ^
>     [javac] /build/drop-seq-2.3.0+dfsg/src/java/org/broadinstitute/dropseqrna/TranscriptomeException.java:34: error: cannot find symbol
>     [javac] public class TranscriptomeException extends SAMException
>     [javac]                                             ^
>     [javac]   symbol: class SAMException
> ...

Since the upstream jars were in ${lib}, you need to point ${lib} to /usr/share/java/:

diff --git a/debian/patches/debian_packaged_libs.patch b/debian/patches/debian_packaged_libs.patch
index 1d3790c..4fc1ed9 100644
--- a/debian/patches/debian_packaged_libs.patch
+++ b/debian/patches/debian_packaged_libs.patch
@@ -1,6 +1,6 @@
 --- a/build.xml
 +++ b/build.xml
-@@ -35,7 +35,7 @@
+@@ -35,13 +35,15 @@
      <property name="classes.test" location="testclasses"/>
      <property name="test.output" location="dist/test"/>
      <property name="javadoc" location="javadoc"/>
@@ -9,3 +9,13 @@
      <property name="public.dir" location="."/>

      <!-- INIT -->
+     <path id="classpath">
+-        <fileset dir="${lib}">
+-            <include name="*.jar"/>
++        <fileset dir="/usr/share/java">
++            <include name="htsjdk.jar"/>
++            <include name="picard.jar"/>
++            <include name="commons-collections4.jar"/>
+         </fileset>
+     </path>
+     <path id="test.classpath">

You have to add more libraries like these.

Cheers and Best Regards,
--
Felix Natter
debian/rules!



More information about the Debian-med-packaging mailing list