RFR: JDK-8231283: Evaluate option to install Linux packages in /usr hierarchy

Alexey Semenyuk alexey.semenyuk at oracle.com
Mon Jun 8 14:26:22 UTC 2020


Please review fix [2] for jpackage bug [1].

Add support to jpackage to create Linux packages installing app images 
in '/usr' tree with splicing of the app image.

For --install-dir=/usr jpackag option the resulting Debian package will 
have the following layout:
- Launchers will be installed in `/usr/bin` directory
- Java runtime will be installed in `/usr/lib/$PACKAGE_NAME/runtime` 
directory
- `app` directory of the app image will be installed in 
`/usr/lib/$PACKAGE_NAME/app` directory
- copyright file will be installed in 
`/usr/share/doc/$PACKAGE_NAME/copyright` file

RPM package will have the following layout:
- Launchers will be installed in `/usr/bin` directory
- Java runtime will be installed in `/usr/lib/$PACKAGE_NAME/runtime` 
directory
- `app` directory of the app image will be installed in 
`/usr/lib/$PACKAGE_NAME/app` directory

For --install-dir=/usr/local jpackag option the resulting Debian package 
will have the following layout:
- Launchers will be installed in `/usr/local/bin` directory
- Java runtime will be installed in 
`/usr/local/lib/$PACKAGE_NAME/runtime` directory
- `app` directory of the app image will be installed in 
`/usr/local/lib/$PACKAGE_NAME/app` directory
- copyright file will be installed in 
`/usr/share/doc/$PACKAGE_NAME/copyright` file

RPM package will have the following layout:
- Launchers will be installed in `/usr/local/bin` directory
- Java runtime will be installed in 
`/usr/local/lib/$PACKAGE_NAME/runtime` directory
- `app` directory of the app image will be installed in 
`/usr/local/lib/$PACKAGE_NAME/app` directory

For any other prefixes starting with `/usr` no app image splicing will 
happen and package layout will be the same as for installing at the 
default `/opt` prefix.

- Alexey

[1] https://bugs.openjdk.java.net/browse/JDK-8231283

[2] http://cr.openjdk.java.net/~asemenyuk/8231283/webrev.00



More information about the core-libs-dev mailing list