----- Original Message ----- > From: "Fabio Valentini" <decathorpe@xxxxxxxxx> > To: "Development discussions related to Fedora" <devel@xxxxxxxxxxxxxxxxxxxxxxx> > Sent: Tuesday, May 12, 2020 9:44:33 AM > Subject: Re: Re-Launching the Java SIG > > On Tue, May 12, 2020 at 3:34 PM Alex Scheel <ascheel@xxxxxxxxxx> wrote: > > > > Obviously count us in, Fabio :-) > > *Us* means the three guys from the Dogtag PKI team? :) Yeah, but mostly expect Dinesh and I :) > > > Do we need a two-step bootstrap process? A first (offline) step where we > > run > > gradle-wrapper and fetch all the resources, put all online dependencies > > into a > > SRPM/lookaside cache and "finish" the bootstrap build in Koji (giving us a > > bootstrapped version which works) and then replacing _all_ assets with > > versions > > built using the bootstrapped gradle and finally rebuilding gradle? > > > > It'd be hell to set up the first time (two .specs?) and hell to make sure > > we > > get every package at the right version. But theoretically possible? :-) > > > > > > But it might allow us to skip incremental bootstrap from a really old > > gradle > > version and might even get us a process which works for future bootstraps. > > That's an innocent thought :) I'm afraid it won't work though. > Do you think gradle is downloading source code for its dependencies? > Nope, it only downloads prebuilt JARs. Right -- I wasn't suggesting that it'd download source code. Merely that a binary-JAR-bootstrapped Gradle could be used to (re)-build all of the libraries it needed (from source this time!) and then re-build itself (using those source-built libraries and building a new gradle from source). The internet-downloaded JARs could be put into lookaside and the SRPM could pull them, put them in the right location, and finish the initial Gradle build. Koji would finish the build and the resulting gradle would be available for us to use. IIRC the restriction on source code builds of packages can be waived for bootstrap-only builds. So for initial build of gradle, we're fine using the binary wrapper as long as we fully replace it with source-only builds. Someone with a more recent understanding of packaging policy can weigh in here though. > > So the build script loads a prebuilt gradle-wraper.jar (that's shipped > with the gradle sources) that then in turn downloads more prebuilt > JARs from the gradle repository to satisfy gradle's build dependencies > which are then used to actually build full gradle ... Right :) So we'd take all of those new downloads and put them into lookaside and ship a SPRM that finishes the build based off of those internet-downloaded JARs. This satisifies Koji's no-internet policy while giving us a (hopefully) useful Gradle build system as output. > _______________________________________________ > 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 > _______________________________________________ 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