Btw. rpmbuild 4.8 (default on RedHat 6) shows the same issue :
rpmbuild --version RPM version 4.8.0 rpmbuild --eval=%{_target_cpu} x86_64 rpmbuild: no spec files given for build So I think a check for rpmbuild > (maybe >= ?) 4.10 would make sense , otherwise a lot of the tools/jpackage tests fail . Best regards, Matthias > -----Original Message----- > From: Baesken, Matthias > Sent: Dienstag, 11. Februar 2020 13:15 > To: core-libs-dev@openjdk.java.net; 'alexey.semen...@oracle.com' > <alexey.semen...@oracle.com> > Subject: RE: tools/jpackage/linux - tests (from 8212780: Packaging Tool > Implementation) > > 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.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 > > > > > >