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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.