Message: 2
Date: Fri, 7 Feb 2020 11:40:36 -0800
From: Alexey Semenyuk <alexey.semen...@oracle.com>
To: core-libs-dev@openjdk.java.net
Subject: Re: tools/jpackage/linux - tests (from 8212780: Packaging
Tool Implementation)
Message-ID: <0e495cc2-000f-ee46-f0ac-b2f08b084...@oracle.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Hi Matthias,
On 2/7/2020 12:17 AM, Baesken, Matthias wrote:
Hello, I started to look a bit into the tools/jpackage/linux - tests (from
8212780).
So far I noticed the following issues , maybe someone could comment on
them ?
rpm/rpmbuild version requirements
------------------------------------------------------
We still have some older Suse Linux 11 systems , but those systems have
rather old rpm/rpmbuild versions. On those systems the
tools/jpackage/linux - tests do not work (probably because of old
rpm(build)) .
For example we have issues with this version:
rpmbuild --version
RPM version 4.4.2.3
On newer systems with RPM version 4.11.2 the tests do not show the
issues.
Is there some requirement for a minimum rpm version (like 4.10 or 4.11)
to run the tools/jpackage/linux - tests ?
Tests should pass with rpm v4.0 or newer.
getting packages does not work everywhere/ on all distros ?
---------------------------------------------------------------------------------------
On our Ubuntu 18 linux ppc64le test machine , the test
tools/jpackage/linux/AppCategoryTest.java (and maybe other tests) tries
to find out rpm packages of various files .
However calling rpm whatprovides fails (maybe because it is Ubuntu ?) .
Example :
Running [rpm, -q, --queryformat, %{name}\\n, -q, --whatprovides,
/lib/powerpc64le-linux-gnu/libbsd.so.0]
file /lib/powerpc64le-linux-gnu/libbsd.so.0 is not owned by any package
java.io.IOException: Command [rpm, -q, --queryformat, %{name}\\n, -q, --
whatprovides, /lib/powerpc64le-linux-gnu/libbsd.so.0] exited with 1 code
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Executor.executeExp
ectSuccess(Executor.java:73)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.LinuxRpmBundler.la
mbda$initLibProvidersLookup$7(LinuxRpmBundler.java:187)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.LibProvidersLookup.l
ambda$execute$1(LibProvidersLookup.java:67)
at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.
java:195)
at
java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.jav
a:1694)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:4
84)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeli
ne.java:474)
at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Reduc
eOps.java:913)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:2
34)
at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:
578)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.LibProvidersLookup.
execute(LibProvidersLookup.java:78)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.LinuxPackageBundler
.getListOfNeededPackages(LinuxPackageBundler.java:184)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.LinuxPackageBundler
.createDefaultReplacementData(LinuxPackageBundler.java:210)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.LinuxPackageBundler
.execute(LinuxPackageBundler.java:140)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.generate
Bundle(Arguments.java:641)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.processA
rguments(Arguments.java:514)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.execute(Main.jav
a:98)
at
jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.main(Main.java:52
)
Do you expect those tests to work on Ubuntu ?
No, rpm test are not supposed to pass on Ubuntu.
To disable running rpm tests on Ubuntu please set
"jpackage.test.disabledPackagers" system property to "rpm":
-Djpackage.test.disabledPackagers=rpm.
- Alexey