From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Christian Stewart <christian@aperture.us>
Cc: "Yann E . MORIN" <yann.morin.1998@free.fr>,
Christian Stewart via buildroot <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH v7 4/4] package/go: use host compiler when go-bootstrap unsupported
Date: Sun, 23 Jul 2023 00:28:03 +0200 [thread overview]
Message-ID: <20230723002803.12e6545a@windsurf> (raw)
In-Reply-To: <CA+h8R2rgtSsq9V=TmSa2JB53=EEvhPzFwpEEw0edk+v-RyOFCA@mail.gmail.com>
Hello Christian,
On Sat, 22 Jul 2023 15:01:05 -0700
Christian Stewart <christian@aperture.us> wrote:
> The main difference is the Go compiler takes only a minute or so of build
> time. Bootstrapping it is fast and produces reproducible results across any
> of the architectures Buildroot supports, including those for which there
> currently are not any binary Go releases.
>
> Therefore I submit that it is always worth the extra build time to
> bootstrap the Go compiler from source as part of the build as opposed to
> using a precompiled binary. Also it is less maintenance overhead (updating
> hashes for all the platforms) and as the one maintaining this process I
> appreciate that.
>
> Today we download an external toolchain but still depend on a gcc package
> to be installed on the host as well. Depending on the host Go to be
> installed or otherwise provided for the bootstrap process is a decent
> approach for architectures that we can't bootstrap with the C compiler
> alone.
>
> I can see a way we could add an option to do the binary downloads but would
> prefer to keep the logic to depend on the host compiler as a fallback to
> use for bootstrapping as well.
>
> This is fine for legal-info as the bootstrap process builds the compiler
> with itself several times to ensure that only the version built from source
> is used.
Thanks for your feedback. What I meant by "legal-info" probably was
misunderstood. I very commonly run "make <foo>-legal-info" after
merging a version bump of a package. For 99% of our packages, this is a
trivial operation: it downloads the new tarball, extracts it, and
checks the hashes. For golang-package, it is a non-trivial operation as
it requires building go-bootstrap-stage1, go-bootstrap-stage2 and go,
before the package can be downloaded and vendored using "go".
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2023-07-22 22:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 22:08 [Buildroot] [PATCH v7 1/4] package/go-bootstrap: split into two stages: go1.4 and go1.19.10 Christian Stewart via buildroot
2023-07-11 22:08 ` [Buildroot] [PATCH v7 2/4] package/go: adjust comments Christian Stewart via buildroot
2023-07-22 21:09 ` Thomas Petazzoni via buildroot
2023-07-11 22:08 ` [Buildroot] [PATCH v7 3/4] package/go: bump to version 1.20.6 Christian Stewart via buildroot
2023-07-22 21:09 ` Thomas Petazzoni via buildroot
2023-07-11 22:08 ` [Buildroot] [PATCH v7 4/4] package/go: use host compiler when go-bootstrap unsupported Christian Stewart via buildroot
2023-07-22 21:13 ` Thomas Petazzoni via buildroot
2023-07-22 22:01 ` Christian Stewart via buildroot
2023-07-22 22:28 ` Thomas Petazzoni via buildroot [this message]
2023-07-23 3:22 ` Christian Stewart via buildroot
2023-07-25 16:48 ` Thomas Petazzoni via buildroot
2023-07-22 21:08 ` [Buildroot] [PATCH v7 1/4] package/go-bootstrap: split into two stages: go1.4 and go1.19.10 Thomas Petazzoni via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230723002803.12e6545a@windsurf \
--to=buildroot@buildroot.org \
--cc=christian@aperture.us \
--cc=thomas.petazzoni@bootlin.com \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox