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

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

 



Hello!

I have updated contingency plan:
https://fedoraproject.org/wiki/Changes/BuildJdkOncePackEverywhere#Contingency_Plan
/ https://fedoraproject.org/w/index.php?title=Changes%2FBuildJdkOncePackEverywhere&type=revision&diff=679828&oldid=679493


Sorry for not writing this out of the box. It was written so many
times I consider it as "widely known" but obviously I was wrong. Sorry
for that.

J.

On Tue, 30 May 2023 at 20:38, Aoife Moloney <amoloney@xxxxxxxxxx> wrote:
>
> This document represents a proposed Change. As part of the Changes
> process, proposals are publicly announced in order to receive
> community feedback. This proposal will only be implemented if approved
> by the Fedora Engineering Steering Committee.
>
> == Summary ==
>
> This is the last step in
> https://fedoraproject.org/wiki/MoveFedoraJDKsToBecomePortableJDKs
> effort. Jdks in fedora are already static, and we repack portable
> tarball into rpms. Currently, the portbale tarball is built for each
> Fedora and Epel version. Goal here is to build each jdk
> (8,11,17,21,latest (20)) only once, in oldest live Fedora xor Epel and
> repack in all live fedoras.
>
> == Owner ==
>
> * Name: [[User:jvanek| Jiri Vanek]]
> * Email: jvanek@xxxxxxxxxx
>
>
> == Detailed Description ==
>
> 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.
>
> * 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
>
> * 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.
>
> 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.
>
> == Feedback ==
>
>
> == Benefit to Fedora ==
>
> java maintainers will finally some free time... No kidding -
> maintenance and *certification* of  so much supported JDKs on so much
> Fedora versions is  brutal.  By building once, and repack, we will
> regain cycles to continue support Fedora with all LTS and one STS
> javas.
>
> If we fail to build once and repack everywhere, java maintainers will
> most likely need to lower the number of JDKs in fedora to system one
> only.
>
> == Scope ==
> * Proposal owners: Technically all jdks (except 8, where some more
> tuning is needed, and epels for java-latest) are prepared, as they
> have portable version, and rpms just reapck it.  Except tuning up the
> jdk8 and epel for latest, scope owners are done.
>
>
> * Other developers: There will be needed significant support from RCM
> and maybe senior fedora leadership to help to finish the build in
> oldest and enable to repack everywhere<!--
>
>
> * '''Release engineering: [https://pagure.io/releng/issue/11438
> #11438]'''  There will be needed significant support from RCM, where
> I'm actually unsure what they will have to do to enable this. The mas
> rebuild will not be needed.
>
>
> * Policies and guidelines: AFAIK none (not needed for this Change)
>
> * Trademark approval: N/A (not needed for this Change)
>
> * Alignment with Community Initiatives: All supported JDKS will remain
> in Fedora in highest possible quality with full QA and certification,
> and its packagers will not lose their minds. note, that QA will still
> run on all live fedoras, not only on the builder one.
>
>
> == Upgrade/compatibility impact ==
>
> The change should be completely transparent to any user.
>
>
> == How To Test ==
>
> `sudo dnf update/install "java*"` will install expected set of working packages.
>
>
> == User Experience ==
>
> The change should be absolutely transparent to any user.
>
>
> == Dependencies ==
>
> To finish this we will need heavy support from RCM, and maybe others.
> Although there are precedents with such package, they all bites. From
> SW point of view, the dependence chain is `normal RPMs build requires
> portable RPMs` and that's all.
>
>
> == Contingency Plan ==
>
> * Contingency mechanism: It should be stright forward to revert back
> to building per OS
> * Contingency deadline: N/A
> * Blocks release?  No. The change can be introduced even on the fly to
> live distributions.
>
> == Documentation ==
>
> N/A (not a System Wide Change)
>
> == Release Notes ==
>
>
>
> --
> Aoife Moloney
>
> Product Owner
>
> Community Platform Engineering Team
>
> Red Hat EMEA
>
> Communications House
>
> Cork Road
>
> Waterford
> _______________________________________________
> 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
_______________________________________________
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