All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH next 05/12] support/download/go-post-process: implement Go vendoring support
Date: Wed, 25 Nov 2020 21:52:03 +0100	[thread overview]
Message-ID: <20201125215203.030cdb99@windsurf.home> (raw)
In-Reply-To: <CA+h8R2rQcCzEt6TtqjEHYMoJurXrqJQ=UsimFHBzg+1hzx9Q+g@mail.gmail.com>

Hello,

On Wed, 25 Nov 2020 12:45:59 -0800
Christian Stewart <christian@paral.in> wrote:


> diff --git a/package/pkg-download.mk b/package/pkg-download.mk
> index c914d016e2..29462ebaa4 100644
> --- a/package/pkg-download.mk
> +++ b/package/pkg-download.mk
> @@ -112,6 +112,7 @@ define DOWNLOAD
>   -o '$($(2)_DL_DIR)/$(notdir $(1))' \
>   $(if $($(2)_DOWNLOAD_POST_PROCESS),-p '$($(2)_DOWNLOAD_POST_PROCESS)') \
>   $(if $($(2)_GIT_SUBMODULES),-r) \
> + $(if $($(2)_GOMOD),-g '$($(2)_GOMOD)') \
>   $(foreach uri,$(call DOWNLOAD_URIS,$(1),$(2)),-u $(uri)) \
>   $(QUIET) \
>   -- \
> diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper
> index 2d74554213..2fc530f24f 100755
> --- a/support/download/dl-wrapper
> +++ b/support/download/dl-wrapper
> @@ -17,7 +17,7 @@
>  # We want to catch any unexpected failure, and exit immediately.
>  set -e
> 
> -export BR_BACKEND_DL_GETOPTS=":hc:d:o:n:N:H:ru:qf:e"
> +export BR_BACKEND_DL_GETOPTS=":hc:d:g:o:n:N:H:ru:qf:e"
> 
>  main() {
>      local OPT OPTARG
> @@ -25,11 +25,12 @@ main() {
>      local -a uris
> 
>      # Parse our options; anything after '--' is for the backend
> -    while getopts ":c:d:D:o:n:N:H:rf:u:qp:" OPT; do
> +    while getopts ":c:d:D:g:o:n:N:H:rf:u:qp:" OPT; do
>          case "${OPT}" in
>          c)  cset="${OPTARG}";;
>          d)  dl_dir="${OPTARG}";;
>          D)  old_dl_dir="${OPTARG}";;
> +        g)  gomod_init="${OPTARG}";;

Unfortunately, this is not really a very good solution, because the
dl-wrapper is generic, and if we start adding language-specific and
backend-specific options, it's really going to become a nightmare :-/

>  # Do the Go vendoring
>  pushd ${base_name} > /dev/null
> +if [ -n "${gomod_init}" ]; then
> +    # Note: does nothing if go.mod already exists.
> +    go mod init ${gomod_init}

So this cannot simply be conditional on go.mod existing or not, because
we need the name of the Go module ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2020-11-25 20:52 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-19 21:36 [Buildroot] [PATCH next 00/12] Support for Cargo and Go vendoring Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 01/12] support/download/dl-wrapper: add concept of download post-processing Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 02/12] package/pkg-download.mk: add <pkg>_DOWNLOAD_POST_PROCESS variable Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 03/12] package/pkg-download.mk: add <pkg>_DL_ENV variable Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 04/12] support/download/post-process-helpers: add helper function for post process scripts Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 05/12] support/download/go-post-process: implement Go vendoring support Thomas Petazzoni
2020-11-25 20:28   ` Christian Stewart
2020-11-25 20:37     ` Thomas Petazzoni
2020-11-25 20:51       ` Christian Stewart
2020-11-25 20:45     ` Christian Stewart
2020-11-25 20:52       ` Thomas Petazzoni [this message]
2020-11-25 20:54         ` Christian Stewart
2020-11-25 21:02           ` Christian Stewart
2020-11-25 21:07   ` Ryan Barnett
2020-11-25 21:12     ` Christian Stewart
2020-11-25 21:21       ` Christian Stewart
2020-11-25 21:49         ` Ryan Barnett
2020-11-19 21:36 ` [Buildroot] [PATCH next 06/12] package/tinifier: new package Thomas Petazzoni
2020-11-21 16:37   ` Ryan Barnett
2020-11-21 18:04     ` Yann E. MORIN
2020-11-22  6:08       ` Christian Stewart
2020-11-22 20:25         ` Sam Voss
2020-11-23 14:48       ` Ryan Barnett
2020-12-10 21:46       ` Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 07/12] package/pkg-cargo.mk: introduce the cargo package infrastructure Thomas Petazzoni
2020-11-25 19:46   ` Ryan Barnett
2020-11-25 20:35     ` Thomas Petazzoni
2020-12-10 15:48   ` [Buildroot] [PATCH 1/1] package/pkg-cargo.mk: make sure .cargo/config is used Patrick Havelange
2020-12-10 20:31     ` Thomas Petazzoni
2020-12-16 13:40       ` Patrick Havelange
2020-12-16 17:33         ` Sam Voss
2020-12-16 13:58   ` [Buildroot] [PATCH next 07/12] package/pkg-cargo.mk: introduce the cargo package infrastructure Patrick Havelange
2020-12-16 14:23     ` Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 08/12] docs/manual/cargo: document the cargo-package infrastructure Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 09/12] package/ripgrep: convert to cargo infrastructure Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 10/12] package/sentry-cli: convert to host-cargo-package infrastructure Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 11/12] support/download/cargo-post-process, package/pkg-cargo.mk: enable vendoring for Cargo packages Thomas Petazzoni
2020-11-19 21:36 ` [Buildroot] [PATCH next 12/12] docs/manual/adding-packages-cargo.txt: rewrite explanation about dependency management Thomas Petazzoni

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=20201125215203.030cdb99@windsurf.home \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@busybox.net \
    /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.