Bug 2376795

Summary: Split ecj into runtime-agnostic ecj-lib subpackage for library consumers like Tomcat
Product: [Fedora] Fedora Reporter: Dimitris Soumis <dsoumis>
Component: ecjAssignee: Alexander Bokovoy <abokovoy>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: abokovoy, bitchecker, dbhole, eclipse-sig, omajid
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dimitris Soumis 2025-07-07 11:31:26 UTC
While improving the compatibility of the tomcat package with third-party Java runtimes such as Temurin, I encountered a consistent issue where dnf installs java-21-openjdk-headless even when a valid JRE is already present (e.g. temurin-21-jre).

The cause is the dependency chain from tomcat -> ecj. This results in a runtime dependency on OpenJDK, even though the underlying Java library (used by Tomcat) does not need it.

To resolve this and support a runtime-agnostic model, I propose splitting the package into:
    ecj : CLI tool, retains dependency on OpenJDK
    ecj-lib : library JAR, no Java dependency, usable with any JRE/JDK

This would allow applications like Tomcat to depend only on ecj-lib, ensuring compatibility with third-party Java runtimes out of the box.

Reproducible: Always

Steps to Reproduce:
1.Enable temurin repo and install temurin-21-jre
2.Install tomcat
3.Observe that java-21-openjdk-headless is still installed via the ecj dependency
Actual Results:
OpenJDK is installed even though the declared Requires: of tomcat is compatible with Temurin.

Expected Results:
If ecj-lib existed without an explicit Java dependency, Tomcat could be used with any compatible JRE.

Additional Information:
Related discussion: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/ABYNCTW4OEXBTYJ2QCBQLAIRBD3GC335/

Comment 1 Alexander Bokovoy 2025-07-07 11:42:44 UTC
Thank you for filing this bug. Feel free (yourself or I saw Mikolaj offered a help) to submit a pull request with proposed changes. I am merely a guard for this package to make sure it does not break Dogtag dependency tree and through that FreeIPA.

Comment 2 bitchecker 2025-09-11 17:23:44 UTC
Hi,
any news on this?