All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring
@ 2023-02-07 17:00 Peter Korsgaard
  2023-02-07 17:00 ` [Buildroot] [PATCH 2/2] support/dependencies/dependencies.sh: ensure git is >= 2.0.0 for vendoring Peter Korsgaard
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Peter Korsgaard @ 2023-02-07 17:00 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni

The vendoring done for cargo / go packages (may) need git, so ensure we
check for it in dependencies, similar to how it is done for packages
directly using git.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 package/pkg-generic.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 5d618c6b39..82187d7db9 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -1250,6 +1250,13 @@ else ifeq ($$($(2)_SITE_METHOD),cvs)
 DL_TOOLS_DEPENDENCIES += cvs
 endif # SITE_METHOD
 
+# cargo/go vendoring (may) need git
+ifeq ($$($(2)_DOWNLOAD_POST_PROCESS),cargo)
+DL_TOOLS_DEPENDENCIES += git
+else ifeq ($$($(2)_DOWNLOAD_POST_PROCESS),go)
+DL_TOOLS_DEPENDENCIES += git
+endif
+
 DL_TOOLS_DEPENDENCIES += $$(call extractor-system-dependency,$$($(2)_SOURCE))
 
 # Ensure all virtual targets are PHONY. Listed alphabetically.
-- 
2.30.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 2/2] support/dependencies/dependencies.sh: ensure git is >= 2.0.0 for vendoring
  2023-02-07 17:00 [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring Peter Korsgaard
@ 2023-02-07 17:00 ` Peter Korsgaard
  2023-02-28 15:52   ` Peter Korsgaard
  2023-02-07 22:06 ` [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring Thomas Petazzoni via buildroot
  2023-02-28 15:52 ` Peter Korsgaard
  2 siblings, 1 reply; 5+ messages in thread
From: Peter Korsgaard @ 2023-02-07 17:00 UTC (permalink / raw)
  To: buildroot

The go vendoring fails on CentOS 7 (which uses git 1.8.3.1) with errors
related to shallow clones:

make docker-compose-source
..
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.4
github.com/docker/compose/v2/pkg/mocks imports
        github.com/theupdateframework/notary/client imports
        github.com/docker/go/canonical/json: github.com/docker/go@v1.5.1-1.0.20160303222718-d30aec9fd63c: invalid pseudo-version: git fetch --unshallow -f origin in /home/jacmet/source/buildroot-mirror/output/host/share/go-path/pkg/mod/cache/vcs/48fbd2dfabec81f4c93170677bfc89087d4bec07a2d08f6ca5ce3d17962677ee: exit status 128:
        fatal: git fetch-pack: expected shallow list
make[1]: *** [/home/jacmet/source/buildroot-mirror/output/build/docker-compose-2.15.1/.stamp_downloaded] Error 1

It works with git 2.0.0 (released May 2014, included in Debian 8), so check
for >= 2.0.0 with logic similar to the GNU patch version check.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 support/dependencies/dependencies.sh | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 88eabe921d..9193b3ee12 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -174,6 +174,16 @@ for prog in perl tar wget cpio unzip rsync bc cmp find xargs ${DL_TOOLS} ; do
 			echo "  xargs is usually part of the findutils package in your distribution"
 		fi
 	fi
+
+	# we need git >= 2.0.0 for shallow clones / vendoring
+	if test $prog = "git" ; then
+		GIT_VERSION="$(git --version | sed -n 's/^git version \(.*\)/\1/p')"
+		GIT_MAJOR="$(echo "${GIT_VERSION}" | cut -d . -f 1)"
+		if [ "${GIT_MAJOR}" -lt 2 ]; then
+			echo "You have git '${GIT_VERSION}' installed. Git >= 2.0.0 is required"
+			exit 1
+		fi
+	fi
 done
 
 if test "${missing_progs}" = "yes" ; then
-- 
2.30.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring
  2023-02-07 17:00 [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring Peter Korsgaard
  2023-02-07 17:00 ` [Buildroot] [PATCH 2/2] support/dependencies/dependencies.sh: ensure git is >= 2.0.0 for vendoring Peter Korsgaard
@ 2023-02-07 22:06 ` Thomas Petazzoni via buildroot
  2023-02-28 15:52 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-07 22:06 UTC (permalink / raw)
  To: Peter Korsgaard; +Cc: buildroot

On Tue,  7 Feb 2023 18:00:39 +0100
Peter Korsgaard <peter@korsgaard.com> wrote:

> The vendoring done for cargo / go packages (may) need git, so ensure we
> check for it in dependencies, similar to how it is done for packages
> directly using git.
> 
> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
> ---
>  package/pkg-generic.mk | 7 +++++++
>  1 file changed, 7 insertions(+)

Both applied, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring
  2023-02-07 17:00 [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring Peter Korsgaard
  2023-02-07 17:00 ` [Buildroot] [PATCH 2/2] support/dependencies/dependencies.sh: ensure git is >= 2.0.0 for vendoring Peter Korsgaard
  2023-02-07 22:06 ` [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring Thomas Petazzoni via buildroot
@ 2023-02-28 15:52 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2023-02-28 15:52 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni

>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

 > The vendoring done for cargo / go packages (may) need git, so ensure we
 > check for it in dependencies, similar to how it is done for packages
 > directly using git.

 > Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

Committed to 2022.11.x and 2022.02.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH 2/2] support/dependencies/dependencies.sh: ensure git is >= 2.0.0 for vendoring
  2023-02-07 17:00 ` [Buildroot] [PATCH 2/2] support/dependencies/dependencies.sh: ensure git is >= 2.0.0 for vendoring Peter Korsgaard
@ 2023-02-28 15:52   ` Peter Korsgaard
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2023-02-28 15:52 UTC (permalink / raw)
  To: buildroot

>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

 > The go vendoring fails on CentOS 7 (which uses git 1.8.3.1) with errors
 > related to shallow clones:

 > make docker-compose-source
 > ..
 > go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.4
 > github.com/docker/compose/v2/pkg/mocks imports
 >         github.com/theupdateframework/notary/client imports
 >         github.com/docker/go/canonical/json: github.com/docker/go@v1.5.1-1.0.20160303222718-d30aec9fd63c: invalid pseudo-version: git fetch --unshallow -f origin in /home/jacmet/source/buildroot-mirror/output/host/share/go-path/pkg/mod/cache/vcs/48fbd2dfabec81f4c93170677bfc89087d4bec07a2d08f6ca5ce3d17962677ee: exit status 128:
 >         fatal: git fetch-pack: expected shallow list
 > make[1]: *** [/home/jacmet/source/buildroot-mirror/output/build/docker-compose-2.15.1/.stamp_downloaded] Error 1

 > It works with git 2.0.0 (released May 2014, included in Debian 8), so check
 > for >= 2.0.0 with logic similar to the GNU patch version check.

 > Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

Committed to 2022.11.x and 2022.02.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-28 15:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-07 17:00 [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring Peter Korsgaard
2023-02-07 17:00 ` [Buildroot] [PATCH 2/2] support/dependencies/dependencies.sh: ensure git is >= 2.0.0 for vendoring Peter Korsgaard
2023-02-28 15:52   ` Peter Korsgaard
2023-02-07 22:06 ` [Buildroot] [PATCH 1/2] package/pkg-generic.mk: require git on the host for packages using cargo/go vendoring Thomas Petazzoni via buildroot
2023-02-28 15:52 ` Peter Korsgaard

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.