tools/jpackage/linux - tests (from 8212780: Packaging Tool Implementation)
Alexey Semenyuk
alexey.semenyuk at oracle.com
Tue Feb 11 15:51:49 UTC 2020
Hi Matthias,
I confirm jpackage works with rpmbuild v4.11.3.
- Alexey
On 2/11/2020 4:15 AM, Baesken, Matthias wrote:
> Hi Alexey, with rpmbuild 4.4 on SLES11 we get the additional output "rpmbuild: no spec files given for build" when calling rpmbuild --eval=%{_target_cpu} ,
> This seems to mess up the test e.g. jdk/test/jdk/tools/jpackage/linux/AppCategoryTest.java :
>
>
> rpmbuild --eval=%{_target_cpu}
> x86_64
> rpmbuild: no spec files given for build
>
>> rpmbuild --version
> RPM version 4.4.2.3
>
>
> While on SLES12 with rpmbuild 4.11 we do not get this additional output :
>
> rpmbuild --eval=%{_target_cpu}
> x86_64
> % rpmbuild --version
> RPM version 4.11.2
>
>
> What is the oldest rpmbuild you can confirm to work ?
>
> Best regards , Matthias
>
>
>
>> Message: 2
>> Date: Fri, 7 Feb 2020 11:40:36 -0800
>> From: Alexey Semenyuk <alexey.semenyuk at oracle.com>
>> To: core-libs-dev at openjdk.java.net
>> Subject: Re: tools/jpackage/linux - tests (from 8212780: Packaging
>> Tool Implementation)
>> Message-ID: <0e495cc2-000f-ee46-f0ac-b2f08b084d4c at 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
>>>
More information about the core-libs-dev
mailing list