F21 System Wide Change: Headless Java

Jaroslav Reznik jreznik at redhat.com
Fri Nov 15 11:28:11 UTC 2013

= Proposed System Wide Change: Headless Java  =

Change owner(s): Stanislav Ochotnicky <sochotnicky at redhat.com>

Server installations of Fedora should usually not pull in packages related to 
X system or sound subsystem. For this reason part of OpenJDK package has been 
split into headless subpackage which has smaller dependency chain. Fedora 
packages should be migrated to require java-headlesss instead of full java 
package when appropriate.

== Detailed description ==
OpenJDK package in Fedora has been traditionally monolithic, pulling in a lot 
of dependencies including (but not limited to)

* libXrender
* libXi
* libXtst
* pulseaudio 

This is obviously not optimal for minimal server installations where OpenJDK 
is used for web application development and deployment.

Designed after Debian packaging, Fedora OpenJDK package has been split into 
packages providing java and java-headless. This makes it possible for packages 
to use "Requires: java-headless". For most libraries and generic packages this 
is sufficient. End-user applications should keep "Requires: java" to pull in 
full OpenJDK package.

This change aims to convert most Java packages to have "Requires: java-
headless" when appropriate. BuildRequires on java-devel are unaffected. 

== Scope ==
Proposal owners:
* Modify javapackages-tools package to automatically generate "java-headless" 
autorequires (simple change)
* Identify and file bugs for affected packages (repoquery and bugzilla bug 
* (optional) Mass-change spec files that have "Requires: java" to "Requires: 

Other developers:
* Modify spec files to have "Requires: java-headless" instead of "Requires: 
* (note) JavaSIG has several proven packages that could assist with this 

Release engineering:
* mass rebuild is not necessary but it would simplify things 

Policies and guidelines:
* Packaging:Java needs to be modified to account for java-headless package 
existence (Note: there is already a packaging draft that aims to do that among 
other changes) 

devel-announce mailing list
devel-announce at lists.fedoraproject.org

More information about the devel mailing list