jpackage and dependencies...

Alexey Semenyuk alexey.semenyuk at oracle.com
Mon Dec 23 14:54:23 UTC 2024


Hi Davide,

For rpm and deb packages jpackage will build the list of required 
packages from the dependencies of shared libraries in the app's runtime 
image.

This dependency resolution is specific to a host where jpackage is 
executed. The dependencies may not be available in other Linux distros 
or different versions of the Linux distro.

This seems to be the cause of the problem some of your users experience. 
They try to install the "FireflyLuciferinLinux.deb" package on Linux 
distros that don't provide the packages required by this package.

There is no option to disable dependency resolution in jpackage. Only 
additional dependencies can be specified with `--linux-package-deps` option.

There are a few options to remove some/all dependencies in jpackage 
Linux packages:

  - uninstall packages you don't want jpackage to add to the target 
deb/rpm packages from the host where you run jpackage;
  - manually remove unwanted dependencies from packages produced by 
jpackage.

Alternatively, users may use the `--ignore-depends` or `--force-depends` 
options of the dpkg command to ignore dependency problems in a deb 
package being installed.

- Alexey


On 12/21/2024 8:24 AM, Davide Perini wrote:
> Hi all,
> is it normal that the .deb files created with jpackage "knows 
> something" about OS dependencies?
>
> Some of my users are complaining that my deb files uses some deps...
>
> sudo dpkg -i FireflyLuciferinLinux.deb
> .....
> dpkg: dependency problems prevent configuration of fireflyluciferin:
>  fireflyluciferin depends on libasound2t64; however:
>   Package libasound2t64 is not installed.
>
>
> This is something new for me.
> Is jpackage able to know what are the needed deps of my app?
>
> Can I configure this behaviour?
>
> Thanks
> Davide



More information about the core-libs-dev mailing list