jpackage Are the RPM Requires necessary?

Alexey Semenyuk alexey.semenyuk at oracle.com
Thu Mar 26 19:39:06 UTC 2020



On 3/26/2020 11:17 AM, Sverre Moe wrote:
> Running jpackage to build an RPM will add some Requires to the package.
>
> It comes from the Template file:
> https://github.com/openjdk/jdk/blob/jdk-14%2B36/src/jdk.incubator.jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/template.spec
>
> Autoprov: 0
> Autoreq: 0
> %if "xPACKAGE_DEFAULT_DEPENDENCIES" != x || "xPACKAGE_CUSTOM_DEPENDENCIES"
> != x
> Requires: PACKAGE_DEFAULT_DEPENDENCIES PACKAGE_CUSTOM_DEPENDENCIES
> %endif
>
> Building on OpenSUSE will give us these Requires:
> +%if "xglibc, libX11-6, libXau6, libXext6, libXi6, libXrender1, libXtst6,
> libasound2, libxcb1, libz1" != x || "x" != x
> +Requires: glibc, libX11-6, libXau6, libXext6, libXi6, libXrender1,
> libXtst6, libasound2, libxcb1, libz1
> +%endif
> +
> +#avoid ARCH subfolder
>
> We override the RPM spec file with resource directory. I copied the RPM
> spec file content from the one jpackage generated and added something extra
> to it.
>
> Unfortunately this RPM will not install on Fedora, but installs fine on
> OpenSUSE where I built it.
>
> Installing on Fedora will spew out this line for all these Requires.
> nothing provides libX11-6
>
> Are these Requires needed by Java?
Yes. The list of required packages is built automatically by jpackage by 
analyzing dependencies of dynamic libraries of JRE bundled with the 
application being packed.
On different distributes the same package can have different names. 
Seems like the package that is named on OpenSuSE as ' libX11-6' is named 
as 'libX11' on Fedora.

> What is the consequences if these are
> not available on the system installing the RPM?
Installation will fail.

- Alexey
> It is an JavaFX application we are packaging.
>
> /Sverre



More information about the core-libs-dev mailing list