how to split up runtime / development parts in OpenJDK 11?

Matthias Klose doko at
Sat Jul 7 04:07:51 UTC 2018

On 06.07.2018 13:57, Alan Bateman wrote:
> On 06/07/2018 12:15, Matthias Klose wrote:
>> Up to the removal of the jre images in the openjdk-11 builds I used to split 
>> up the runtime (-jre) and development (-jdk) parts for the Linux packages 
>> using the delta of the jre and sdk images directories.  Is there a way how to 
>> tell these jre parts apart from the jdk parts?
> `make legacy-jre-image` will create the JRE image if you really want it.
> I'm not sure what you mean by splitting the runtime image. That may have been 
> interesting with JDK 8 and older but not so since JDK 9 and the move to the new 
> run-time image layout.

If you look at any other packaged software, you most likely see more than one 
binary package made out of a source package, like library packages, application 
packages and development packages (having a -dev or -devel suffix), Other binary 
package might be split out to avoid dependencies on window system libraries. 
And the distro packaging never included the jre components into the sdk packages 
unlike upstream, but instead depended on the jre components.

That's how I see OpenJDK packaged in all distros as well.  I doubt that 
everybody now changes this packaging and includes all -dev dependencies in such 
a single binary package.  But the question remains, which of the binary tools 
for example should go into a runtime package (like the java command), and which 
ones should go into a -dev/-jdk package (like the javac command).

Legacy targets seem to go away with time, so even if we build that and deduce 
what belongs into which binary package, I would prefer a guideline what to put 
into which package. But maybe that's something to sort out in between packagers.


More information about the distro-pkg-dev mailing list