Re: F39 Change Proposal: Build JDKs once, repack everywhere (System-Wide Change)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aoife Moloney wrote:
> As described in
> https://fedoraproject.org/wiki/MoveFedoraJDKsToBecomePortableJDKs ;
> during last year, packaging of JDKs had changed dramatically. As
> described in same wiki page, and individual sub changes and devel
> threads, with primary reason this - to lower maintenance and still
> keep fedora java friendly.

And these changes have made the Fedora Java packages basically useless, 
because there is really no advantage anymore to be had over just using, 
e.g., Adoptium builds. Your changes have removed the choice from users to 
choose between a Java built the upstream way (Adoptium and others) and a 
Java built according to the Fedora Packaging Guidelines as all Fedora 
packages are supposed to be (but yours no longer are).

> * In first system wide change, we had changed JDKs to build properly
> as standalone, portable jdk - the wey JDK is supposed to be built. I
> repeat, we spent ten years by patching JDK to become properly dynamic
> against system libs, and all patches went usptream, but it become
> fight which can not be win

This is already against the best practices recommended by the Fedora 
Packaging Guidelines, and arguably even against a mandatory rule (because 
you say all the patches allowing unbundling went upstream):

https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/

"All packages whose upstreams allow them to be built against system 
libraries must be built against system libraries."

> * as a second step we introduced portable rpms, which do not have any
> system integration, only builds JDK and pack final tarball in RPM for
> free use.
> * In third step - without any noise, just verified with fesco -
> https://pagure.io/fesco/issue/2907 - we stopped building JDK in fully
> integrated rpms. Instead of this, normal RPMS BUildRequire portable
> rpms and just unpack it, and repack it.

In short, you build an RPM containing a tarball instead of unpacked files, 
and then have the final RPM BR that intermediate RPM, untar the tarball, and 
repackage it. A really ugly hack that goes against any packaging best 
practices and maybe even subtly violates the letter of the Fedora Packaging 
Guidelines (it is definitely against the spirit).

I do not understand why FESCo approved this hackery. It brings no advantages 
whatsoever to the user, it just makes the builds take longer overall for no 
good reason.

> Now last step is ahead - to build portable LTS JDKs 8,11,17 and 21 in
> oldest live Fedora, and repack everywhere. java-latest-openjdk, which
> contains latest STS jdk - currently 20, soon briefly 21 and a bit
> alter 22... Should be built in latest live EPEL - epel8 now. We have
> verified, that such repacked JDKs work fine.

And that part is completely against Fedora Packaging Guidelines. Fedora does 
not allow repackaging binary blobs built on another distribution (and RHEL 
*is* another distribution). Such binary blobs can be used only for 
bootstrapping, which implies that they MUST be replaced with something built 
on the targeted Fedora release before reaching end users.

https://docs.fedoraproject.org/en-US/packaging-guidelines/what-can-be-packaged/#prebuilt-binaries-or-libraries

        Kevin Kofler
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux