[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Packaging libsis-jhdf5-java -- help needed



Hi,

Andreas Tille a écrit le 29/04/2020 à 11:59 :
> Hi Pierre,
> 
> On Tue, Apr 28, 2020 at 10:40:31PM +0200, Pierre Gruet wrote:
>> Hi everyone,
>>
>> I have been trying to package libsis-jhdf5-java, after Andreas imported the
>> last upstream version.
>> This package builds a java package with a .jar file and a jni package with
>> native code used by the .jar.
>>
>> I have been able to:
>> - refresh patches;
>> - get rid of the private header H5private.h of source package hdf5, which is
>> not shipped by any package. Only a few simple preprocessor directives of
>> that file were used;
>> - update the list of build-depends;
>> - have the package build, including the override of dh_auto_test that caused
>> issues previously.
> 
> Thanks a lot.  That's all very helpful!
>  
>> Yet:
>> - it seems that only a few upstream-provided tests are run in dh_auto_test,
>> so having the build complete is maybe not so meaningful :-( ;
>> - I have begun designing tests for the autopkgtest testsuite, using
>> upstream-provided tests, and while around 30 of them pass, there remains a
>> lot of failing tests. It seems that the linking of the jni with the jar is
>> not correctly done at build-time.
>>
>> At that point I would need help, as this package is complicated: the build
>> processes of the jar and the jni are somehow entangled and I do not have
>> enough knowledge of Java packaging to be able to solve the issues I'm facing.
>>
>> Maybe there does not remain so much to be done; if someone has Java
>> knowledge and could look to the current packaging I have put into Salsa [1],
>> this would be really great.
> 
> I've put debian-java@l.d.o in CC since the competence in debian-med for
> Java is not that widely spread.

I've cloned the git repo and attempted a build. But the dh_auto_test
part doesn't execute any test actually:

   debian/rules override_dh_auto_test
make[1]: Entering directory
'/build/libsis-jhdf5-java-F7hNyP/libsis-jhdf5-java-19.04.0+dfsg'
# Run the tests that come with the upstream source.
# The contortions with the CLASSPATH are to try and confirm that the
MANIFEST is
# supplying the correct deps automatically - ie. we should not be
feeding any
# extra JARs in order to make the tests pass.
# The version of testng on trusty does requires us to specifically add
jcommander.jar to the
# CLASSPATH when invoking TestNG.  This seems to be a bug in the testng
package.
# Finally, the tests need to be run in the Zurich timezone.
export CLASSPATH="sourceTest/java:`readlink -f
targets/gradle/libs/sis-jhdf5-1.jar`:$TESTCLASSPATH" \
       JNIPATH="`readlink -f source/c`:/usr/lib/jni" \
       TZ=Europe/Zurich LC_ALL=C ; \
    find sourceTest/java -name '*.java' | env
CLASSPATH="$CLASSPATH:/usr/share/java/commons-lang3.jar:/usr/share/java/commons-io.jar:/usr/share/java/sis-base.jar:/usr/share/java/jarhdf5.jar"
xargs javac && \
    java -Xmx2048M -Djava.library.path="$JNIPATH" org.testng.TestNG
-verbose 2 sourceTest/java/tests.xml
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
[TestNGContentHandler] [WARN] It is strongly recommended to add
"<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"; >" at the top
of your file, otherwise TestNG may fail or not work as expected.
[TestNG] Running:

/build/libsis-jhdf5-java-F7hNyP/libsis-jhdf5-java-19.04.0+dfsg/sourceTest/java/tests.xml

[Utils] Attempting to create
/build/libsis-jhdf5-java-F7hNyP/libsis-jhdf5-java-19.04.0+dfsg/test-output/All/All.xml
[Utils]   Directory
/build/libsis-jhdf5-java-F7hNyP/libsis-jhdf5-java-19.04.0+dfsg/test-output/All
exists: true

===============================================
    All
    Tests run: 0, Failures: 0, Skips: 0
===============================================


===============================================
All
Total tests run: 0, Failures: 0, Skips: 0
===============================================

Best,

_g.


Reply to: