From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Christian Stewart <christian@paral.in>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH v1 1/1] package/balena-engine: bump to version 20.10.26
Date: Sun, 5 Feb 2023 16:35:52 +0100 [thread overview]
Message-ID: <20230205153552.GS2960@scaer> (raw)
In-Reply-To: <20230202132650.1537778-1-christian@paral.in>
Christian, All,
On 2023-02-02 05:26 -0800, Christian Stewart via buildroot spake thusly:
> This update requires a workaround for the non-standard vendor/ structure in the
> balena-engine repository, which has an invalid vendor/modules.txt file.
>
> Removing the vendor/modules.txt file fixes the build error.
>
> Reference: https://github.com/moby/moby/issues/44618#issuecomment-1343565705
>
> The go download post-process script uses go mod init to create the go.mod file
That's not correct. The download go-post-process script does not run
that command at all.
Furthermore, in the case of the balena-engine package, the
go-post-process script actually does absolutely nothing at all. Indeed,
it will notice that the vendor/ directory already exists, and thus will
exit early:
17 # Already vendored tarball, nothing to do
18 if tar tf "${output}" | grep -q "^[^/]*/vendor" ; then
19 exit 0
20 fi
21
22 post_process_unpack "${base_name}" "${output}"
23
24 # Do the Go vendoring
25 pushd "${base_name}" > /dev/null
26
27 if [ ! -f go.mod ]; then
28 echo "ERROR: no vendor/ folder and no go.mod, aborting"
29 exit 1
30 fi
31
32 go mod vendor -v -modcacherw
33 popd > /dev/null
34
35 post_process_repack $(pwd) "${base_name}" "${output}"
Furthermore, for balena-engine, this all works because it is not using
the go-mod infra, and despite this uses a populated vendor/ directory.
So, we're not running the vendoring as it is already done, and we can
thus delete the problematic file.
So, you'll have to reword/rework the explanations.
Note that this also applies to your other patches touching the
docker-related packages, notably "package/docker-engine: bump version to
v23.0.0", so I'll mark the rest of that series as changes requested too.
Regards,
Yann E. MORIN.
> which specifies a language version of go1.16 on default. Use go mod edit to
> adjust the go.mod file to the required minimum version go1.19 for generic types
> used by docker-engine. (Fixes a build error).
>
> Remove the vendor/archive sub-tree (fixes a build error) because Go no longer
> allows having duplicate packages in GOPATH and GOROOT. vendor/archive/tar cannot
> be in vendor/ because it exists in the standard library. Remove it from vendor/.
>
> https://github.com/balena-os/balena-engine/releases/tag/v20.10.26
>
> Signed-off-by: Christian Stewart <christian@paral.in>
> ---
> package/balena-engine/balena-engine.hash | 2 +-
> package/balena-engine/balena-engine.mk | 14 +++++++++++++-
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/package/balena-engine/balena-engine.hash b/package/balena-engine/balena-engine.hash
> index 4adb8ce561..6a92a40cc8 100644
> --- a/package/balena-engine/balena-engine.hash
> +++ b/package/balena-engine/balena-engine.hash
> @@ -1,3 +1,3 @@
> # Locally computed
> -sha256 4fb38109d133d499de366466a612fb6f523ea99d56fcd69b45dc494a75fbce0f balena-engine-20.10.21.tar.gz
> +sha256 1482b64e35d5406be719e362647ed7d0599cf4eead7770247ebd972c4c85ede5 balena-engine-20.10.26.tar.gz
> sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE
> diff --git a/package/balena-engine/balena-engine.mk b/package/balena-engine/balena-engine.mk
> index ecfb62bfbf..3b8b2f9ac6 100644
> --- a/package/balena-engine/balena-engine.mk
> +++ b/package/balena-engine/balena-engine.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -BALENA_ENGINE_VERSION = 20.10.21
> +BALENA_ENGINE_VERSION = 20.10.26
> BALENA_ENGINE_SITE = $(call github,balena-os,balena-engine,v$(BALENA_ENGINE_VERSION))
>
> BALENA_ENGINE_LICENSE = Apache-2.0
> @@ -34,6 +34,18 @@ BALENA_ENGINE_TAGS = \
>
> BALENA_ENGINE_BUILD_TARGETS = cmd/balena-engine
>
> +# remove the conflicting vendor/modules.txt
> +# remove the conflicting vendor/archive (not allowed in go1.20)
> +# https://github.com/moby/moby/issues/44618#issuecomment-1343565705
> +define BALENA_ENGINE_CONFIGURE_CMDS
> + if [ -f $(@D)/vendor/modules.txt ]; then \
> + rm $(@D)/vendor/modules.txt; \
No need to test if a file exists before removing it; just
unconditionally delete it:
rm -f $(@D)/vendor/modules.txt
> + fi
> + if [ -d $(@D)/vendor/archive ]; then \
> + rm -rf $(@D)/vendor/archive; \
Ditto, just delete the directory without checking whether it exists.
Regards,
Yann E. MORIN.
> + fi
> +endef
> +
> ifeq ($(BR2_INIT_SYSTEMD),y)
> BALENA_ENGINE_DEPENDENCIES += systemd
> BALENA_ENGINE_TAGS += journald
> --
> 2.39.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2023-02-05 15:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-02 13:26 [Buildroot] [PATCH v1 1/1] package/balena-engine: bump to version 20.10.26 Christian Stewart via buildroot
2023-02-05 15:35 ` Yann E. MORIN [this message]
2023-02-06 5:11 ` Christian Stewart 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=20230205153552.GS2960@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=christian@paral.in \
--cc=thomas.petazzoni@bootlin.com \
/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