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

Felix Natter fnatter at gmx.net
Thu May 21 20:36:34 BST 2020


Andreas Tille <andreas at an3as.eu> writes:

> Hi,

hello Andreas,

> On Wed, May 20, 2020 at 10:07:48PM +0200, Andreas Tille wrote:
>>
>> Thanks.  This was pretty helpful.  Now I need to package the
>> remaining JAR which is not yet packaged from
>>
>>    http://la4j.org/
>
> I made some progress and also uploaded libla4j-java[1] to new.  With
> this I tried to build drop-seq[2] and stumbled upon two issues:
>
> At first a lintian issue:
>
> W: drop-seq-tools: classpath-contains-relative-path usr/share/java/dropseq-2.3.0.jar: lib/FastInfoset-1.2.12.jar, lib/FastInfoset.jar, lib/FastInf
> N:
> N:    The classpath listed in the jar file refers to a potential missing jar
> N:    file. This could be the remnants of a build-time classpath that are not
> N:    relevant for a JAR bundled in a Debian package.
> N:
> N:    Alternatively, the classpath may be correct, but the package is lacking
> N:    a jar file or a symlink to it.
> N:
> N:    Note, Lintian assumes that all (relative) classpaths pointing to
> N:    /usr/share/java/ (but not subdirs thereof) are satisfied by dependencies
> N:    as long as there is at least one strong libX-java dependency.
> N:
> N:    Severity: warning
> N:
> N:    Check: languages/java
>
> I have no idea what this means.  A `grep -Ri fastinfoset` inside the source
> tree remains empty.
>

The (current) problem is this in the jar-executable target:

        <pathconvert property="classpath.manifest" refid="classpath" pathsep=" ">
            <chainedmapper>
                <flattenmapper/>
                <globmapper from="*.jar" to="lib/*.jar"/>
            </chainedmapper>
        </pathconvert>

This causes the classpath for the runnable jar to be prefixed with lib/,
but /usr/share/java/lib/... (or lib/...) does not exist. Please try to change it to:

        <pathconvert property="classpath.manifest" refid="classpath" pathsep=" ">
           <flattenmapper/>
        </pathconvert>

> The other one is a runtime error of the wrapper script:
>
> $ drop-seq
> Error: Could not find or load main class org.broadinstitute.dropseqrna.cmdline.DropSeqMain
> Caused by: java.lang.NoClassDefFoundError:
> picard/cmdline/PicardCommandLine

This is a likely consequence of the lintian above: the dropseq jar does
not refer to the correct classpath entry for picard.jar.

If it still does not work, please post the META-INF/MANIFEST.MF contents
of the usr/share/java/dropseq-2.3.0.jar (you can rename it to .zip, then
open it with an archiver).

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



More information about the Debian-med-packaging mailing list