'How to add dependencies to DEB created by JPackage?
I have a java application that I package with jpackage and receive a debian package.
At runtime the application relies on another piece of software being installed, and it comes from another debian package. I want the Ubuntu package manager to automatically resolve this dependency. But that means I have to declare the dependency somehow in my debian package.
What do I need to do to jpackage so that it creates the debian archive with my additional dependency?
Solution 1:[1]
So I resolved it by overriding jpackage resources, as mentioned in https://docs.oracle.com/en/java/javase/15/jpackage/override-jpackage-resources.html#GUID-405708DC-0243-49FC-84D9-B2A7F0A011A9.
DEB packages contain a control file which contains the metadata required for package management. Inside this file the dependencies to other files are declared. Create a directory containing your desired control file, then specify --resource-dir and the path to your directory on the jpackage command line. Rather than generating it's own control file jpackage will copy the given resource into the DEB.
Hints:
- To get a first example of this control file, just open the DEB using some archive manager and extract the control file.
- To be still flexible for version numbers or other stuff in that file it is advisable to generate it using some templating mechanism of your build system.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Hiran Chaudhuri |
