Message ID | cover.1684771100.git.zimon.toutoune@gmail.com |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0CF6627BBEA; Mon, 22 May 2023 17:06:35 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8F3B627BBE2 for <patchwork@mira.cbaines.net>; Mon, 22 May 2023 17:06:33 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1q182u-00042m-F2; Mon, 22 May 2023 12:06:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1q182s-00041X-R6 for guix-patches@gnu.org; Mon, 22 May 2023 12:06:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1q182s-00019g-Hh for guix-patches@gnu.org; Mon, 22 May 2023 12:06:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1q182s-00061y-8V for guix-patches@gnu.org; Mon, 22 May 2023 12:06:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63647] [PATCH 0/2] Fix annoyance with "guix import go" Resent-From: Simon Tournier <zimon.toutoune@gmail.com> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 22 May 2023 16:06:01 +0000 Resent-Message-ID: <handler.63647.B.168477151023117@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 63647 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63647@debbugs.gnu.org Cc: Simon Tournier <zimon.toutoune@gmail.com> X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.168477151023117 (code B ref -1); Mon, 22 May 2023 16:06:01 +0000 Received: (at submit) by debbugs.gnu.org; 22 May 2023 16:05:10 +0000 Received: from localhost ([127.0.0.1]:36038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1q1821-00060m-SO for submit@debbugs.gnu.org; Mon, 22 May 2023 12:05:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:54072) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zimon.toutoune@gmail.com>) id 1q181x-00060Z-4c for submit@debbugs.gnu.org; Mon, 22 May 2023 12:05:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <zimon.toutoune@gmail.com>) id 1q181v-0003aG-Tn for guix-patches@gnu.org; Mon, 22 May 2023 12:05:04 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <zimon.toutoune@gmail.com>) id 1q181r-0000kO-Jz for guix-patches@gnu.org; Mon, 22 May 2023 12:05:03 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-3f50020e0f6so6179775e9.1 for <guix-patches@gnu.org>; Mon, 22 May 2023 09:04:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684771498; x=1687363498; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=7/Sm6YgG1lYCUk8oHeDqaaB8zYoy7QOCsd/98gb1Qw4=; b=OoS7AZkPp7WxtfCdTIAujp0ZCkX7gHE/ay6HamkO2eX7TtEXob28pxUUaQwRmI5LMI xD2KEaHZvxBTajfsjnmOY7BZK3BAgpbk+fO0Xgc9BxzRHJ0O16B0VHFe5OYJe+gwKcHB gobukm2dWo5nmoG6+dgzS5EECSSMDAypmVh991wA3hHT7ztcZ0eiwHR4dLexpoy5d7kt pEt0vO6o8U0ye16nhNGvGDNtIXCEJ8K4QdEXaMw6l1j1GPRPSYSOquAq5A56oefzqIsX z4cdvUcZ6onx+RJOd9G5LzN8fm2xog7MN03bpJd9qSrSoNIWrBy2BMArnSqbG7DOb6Wm ib6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684771498; x=1687363498; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7/Sm6YgG1lYCUk8oHeDqaaB8zYoy7QOCsd/98gb1Qw4=; b=U8D8LNH5mGRIqAWVx5jmzl5V6PvylgQgZ4dlWi53ASeQUR2pZL6jZ/+9zABfr/fUzl 0wBVmZQ2sxZ3He7eSUZmbmJd5Lksv3m3hVkv4H1EBbWnp1pbmut61iQASxVmCbz3mLnM 5xzMH6DhosvQfbHjTLTjTXATJsdEYkpNsNx9HfoZYE/D9ZqxNlN0juFxr8/rAYogcYMX Jbnl+uyuJfwiGjglVRYFtBrk8VGRCC/BxLrA4x59lmrscvnebZou3hlbB99ReaS2Cw69 xWmBMEsHoZ/Hq+nT7rJkE2ekGmAIaTeJ6jN0MrOY25BXVK+XqWPt4Mq4e7DXympR6Z4S 1+ew== X-Gm-Message-State: AC+VfDz3qWEPksbCALxrMtmLCIjpUY79ovxFrMfFFaytftiFUOdJaDDo PsBw+hpyd5cmaE26DQ5/b0Lv0rFCbL8= X-Google-Smtp-Source: ACHHUZ4y/HAarPRfohh0C8prEROv+qwEBaCkgsInnP7crlUOqRiPyEFO/RqtbSRq7Zxw6c929U3E7g== X-Received: by 2002:a5d:4d4b:0:b0:2e4:aa42:7872 with SMTP id a11-20020a5d4d4b000000b002e4aa427872mr7345657wru.4.1684771497649; Mon, 22 May 2023 09:04:57 -0700 (PDT) Received: from localhost.localdomain ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id p17-20020a5d4e11000000b003063772a55bsm8110387wrt.61.2023.05.22.09.04.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 May 2023 09:04:57 -0700 (PDT) From: Simon Tournier <zimon.toutoune@gmail.com> Date: Mon, 22 May 2023 18:04:50 +0200 Message-Id: <cover.1684771100.git.zimon.toutoune@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
Fix annoyance with "guix import go"
|
|
Message
Simon Tournier
May 22, 2023, 4:04 p.m. UTC
Hi, As reported in [1], the Go importer returns backtrace. This patch fixes that. The first patch is about sorting the versions. The second is about warn but not exit. It allows to have a first draft when applying recursive importer. Compare (first patch), --8<---------------cut here---------------start------------->8--- $ guix import go go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@0.41 guix import: error: version v0.41 of go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc is not available hint: Pick one of the following available versions: 0.26.0 0.36.0 0.15.0 0.41.0-rc.1 0.40.0 0.37.0 0.33.0 0.20.0 0.24.0 0.23.0 0.41.0 0.26.1 0.41.1 0.22.0 0.18.0 0.21.0 0.12.0 0.36.4 0.19.0 0.25.0 0.27.0 0.36.2 0.34.0 0.14.0 0.36.3 0.31.0 0.15.1 0.36.1 0.41.0-rc.2 0.32.0 0.28.0 0.35.0 0.42.0-rc.1 0.13.0 0.17.0 0.29.0 0.30.0 0.39.0 0.38.0 0.16.0. $ ./pre-inst-env guix import go go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@0.41 guix import: error: version v0.41 of go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc is not available hint: Pick one of the following available versions: 0.42.0-rc.1 0.41.1 0.41.0-rc.2 0.41.0-rc.1 0.41.0 0.40.0 0.39.0 0.38.0 0.37.0 0.36.4 0.36.3 0.36.2 0.36.1 0.36.0 0.35.0 0.34.0 0.33.0 0.32.0 0.31.0 0.30.0 0.29.0 0.28.0 0.27.0 0.26.1 0.26.0 0.25.0 0.24.0 0.23.0 0.22.0 0.21.0 0.20.0 0.19.0 0.18.0 0.17.0 0.16.0 0.15.1 0.15.0 0.14.0 0.13.0 0.12.0. --8<---------------cut here---------------end--------------->8--- Then instead of, --8<---------------cut here---------------start------------->8--- $ guix import go go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc Backtrace: 14 (primitive-load "/home/simon/.config/guix/current/bin/guix") In guix/ui.scm: 2300:7 13 (run-guix . _) 2263:10 12 (run-guix-command _ . _) In guix/scripts/import.scm: 89:11 11 (guix-import . _) In ice-9/boot-9.scm: 1752:10 10 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _) In guix/scripts/import/go.scm: 116:29 9 (_) In ice-9/exceptions.scm: 406:15 8 (go-module->guix-package* . _) In ice-9/boot-9.scm: 1752:10 7 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _) In guix/import/go.scm: 511:19 6 (go-module->guix-package "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" #:goproxy _ #:version _ # _) In guix/git.scm: 291:4 5 (update-cached-checkout _ #:ref _ #:recursive? _ #:check-out? _ #:starting-commit _ #:log-port _ #:cache-directory _) 277:19 4 (resolve _) In git/reference.scm: 60:8 3 (_ _ _) In git/bindings.scm: 77:2 2 (raise-git-error _) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1683:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1683:16: In procedure raise-exception: Git error: reference 'refs/tags/v0.41.1' not found --8<---------------cut here---------------end--------------->8--- Now it returns (second patch), --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix import go go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc guix import: warning: Git error: reference 'refs/tags/v0.41.1' not found in https://github.com/open-telemetry/opentelemetry-go-contrib (define-public go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc (package (name "go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc") (version "0.41.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/open-telemetry/opentelemetry-go-contrib") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0000000000000000000000000000000000000000000000000000")))) (build-system go-build-system) (arguments '(#:import-path "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc")) (propagated-inputs `(("go-gopkg-in-yaml-v3" ,go-gopkg-in-yaml-v3) ("go-google-golang-org-genproto" ,go-google-golang-org-genproto) ("go-google-golang-org-appengine" ,go-google-golang-org-appengine) ("go-golang-org-x-text" ,go-golang-org-x-text) ("go-golang-org-x-sys" ,go-golang-org-x-sys) ("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2) ("go-golang-org-x-net" ,go-golang-org-x-net) ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib) ("go-github-com-golang-protobuf" ,go-github-com-golang-protobuf) ("go-github-com-go-logr-stdr" ,go-github-com-go-logr-stdr) ("go-github-com-go-logr-logr" ,go-github-com-go-logr-logr) ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew) ("go-cloud-google-com-go-compute-metadata" ,go-cloud-google-com-go-compute-metadata) ("go-cloud-google-com-go-compute" ,go-cloud-google-com-go-compute) ("go-google-golang-org-protobuf" ,go-google-golang-org-protobuf) ("go-google-golang-org-grpc" ,go-google-golang-org-grpc) ("go-go-opentelemetry-io-otel-trace" ,go-go-opentelemetry-io-otel-trace) ("go-go-opentelemetry-io-otel-metric" ,go-go-opentelemetry-io-otel-metric) ("go-go-opentelemetry-io-otel" ,go-go-opentelemetry-io-otel) ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) (home-page "https://go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc") (synopsis #f) (description #f) (license license:asl2.0)))[env] --8<---------------cut here---------------end--------------->8--- Cheers, simon Simon Tournier (2): guix: import: go: Sort hint about available versions. guix: import: go: Catch Git error. guix/import/go.scm | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) base-commit: 849286ba66c96534bddc04df1a47d5692cbc977e
Comments
Hi All, I've been recently trying to update Restic with 'guix import go --recursive github.com/restic/restic'. (I wasn't expecting this to be an easy task, by the way. I knew there are difficulties that have kept us on an old version for a long time. https://issues.guix.gnu.org/63019) Apparently, the import fails on those Go repositories that use a subdirectory/subpackage structure - which brought me to this thread. I was wondering if any of the patches proposed here (or in related #52362, #63001, #64035, #64036) might be worth some final clean up and merge - even if it addresses a subset of the problems? Thanks, cheers, Fabio.
Hi All, I've been recently trying to update Restic with 'guix import go --recursive github.com/restic/restic'. (I wasn't expecting this to be an easy task, by the way. I knew there are difficulties that have kept us on an old version for a long time. https://issues.guix.gnu.org/63019) Apparently, the import fails on those Go repositories that use a subdirectory/subpackage structure - which brought me to this thread. I was wondering if any of the patches proposed here (or in related #52362, #63001, #64035, #64036) might be worth some final clean up and merge - even if it addresses a subset of the problems? Thanks, cheers, Fabio.
Hi, Please see this <https://issues.guix.gnu.org/69827> issue which I try to merge on go-branch. -- Oleg
Hi, It looks like we achieved improvements in importer already which covers this issue. I'd vote for closing this and open a fresh thread after importing more packages. I did import 1700+ already without much trouble. Oleg
Hi Oleg, On Fri, 14 Feb 2025 at 01:25, Sharlatan Hellseher <sharlatanus@gmail.com> wrote: > It looks like we achieved improvements in importer already > which covers this issue. > > I'd vote for closing this and open a fresh thread after importing > more packages. I did import 1700+ already without much trouble. Cool! If I read correctly, “[PATCH v3 2/3] guix: import: go: Catch Git error“ is somehow included with 57fa06352e9f4019298ffda3c066bab7538c8906. What about these two other patches --8<---------------cut here---------------start------------->8--- [PATCH v3 1/3] guix: import: go: Sort hint about available versions. * guix/import/go.scm (validate-version): Sort available versions. --- guix/import/go.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --8<---------------cut here---------------end--------------->8--- and --8<---------------cut here---------------start------------->8--- [PATCH v3 3/3] guix: import: go: Use correct tag for go module in subdirectory. * guix/import/go.scm (vcs->origin): New argument module-path-subdirectory. Use it to get Git tag as described by <https://go.dev/ref/mod>. Co-authored-by: Simon Tournier <zimon.toutoune@gmail.com> --8<---------------cut here---------------end--------------->8--- ? Cheers, simon
Hi Simon --8<---------------cut here---------------start------------->8--- [PATCH v3 3/3] guix: import: go: Use correct tag for go module in subdirectory. * guix/import/go.scm (vcs->origin): New argument module-path-subdirectory. Use it to get Git tag as described by <https://go.dev/ref/mod>. Co-authored-by: Simon Tournier <zimon.toutoune@gmail.com> --8<---------------cut here---------------end--------------->8--- It's on master already a8d5d087086 * import/go: Add diagnostics. 296c78aab64 * import/go: Account for monorepo modules in the Go importer. 18a77fb3f85 * build-system/go: Add subdir parameter to go-version->git-ref. Implemented by Christina O'Donnell <cdo@mutix.org> By running this "go import github.com/moby/sys/mountinfo" produces this package definittion: --8<---------------cut here---------------start------------->8--- (define-public go-github-com-moby-sys-mountinfo (package (name "go-github-com-moby-sys-mountinfo") (version "0.7.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/moby/sys") (commit (go-version->git-ref version #:subdir "mountinfo")))) (file-name (git-file-name name version)) (sha256 (base32 "1i1phx1kk9qa4jf1i1nl23d3f6k9fn2w46274cl76cqw9hjqg868")))) (build-system go-build-system) (arguments (list #:import-path "github.com/moby/sys/mountinfo" #:unpack-path "github.com/moby/sys")) (propagated-inputs (list go-golang-org-x-sys)) (home-page "https://github.com/moby/sys") (synopsis #f) (description "Package mountinfo provides a set of functions to retrieve information about OS mounts.") (license license:asl2.0))) --8<---------------cut here---------------end--------------->8--- Which reflects Golang packaging requirements for Git tags submodules: --8<---------------cut here---------------start------------->8--- git clone https://github.com/moby/sys git -C sys tag --list capability/v0.2.0 capability/v0.3.0 capability/v0.4.0 mount/v0.1.0 mount/v0.1.1 mount/v0.2.0 mount/v0.3.0 mount/v0.3.1 mount/v0.3.2 mount/v0.3.3 mount/v0.3.4 mountinfo/v0.1.0 mountinfo/v0.1.2 mountinfo/v0.1.3 mountinfo/v0.2.0 mountinfo/v0.3.0 mountinfo/v0.3.1 mountinfo/v0.4.0 mountinfo/v0.4.1 mountinfo/v0.5.0 mountinfo/v0.6.0 mountinfo/v0.6.1 mountinfo/v0.6.2 mountinfo/v0.7.0 mountinfo/v0.7.1 mountinfo/v0.7.2 reexec/v0.1.0 sequential/v0.5.0 sequential/v0.6.0 signal/v0.5.0 signal/v0.6.0 signal/v0.7.0 signal/v0.7.1 symlink/v0.1.0 symlink/v0.2.0 symlink/v0.3.0 user/v0.1.0 user/v0.2.0 user/v0.3.0 userns/v0.1.0 --8<---------------cut here---------------end--------------->8--- I guess this one is no longer required (please ensure me ;-) --8<---------------cut here---------------start------------->8--- [PATCH v3 1/3] guix: import: go: Sort hint about available versions. * guix/import/go.scm (validate-version): Sort available versions. --- guix/import/go.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --8<---------------cut here---------------end--------------->8--- --- Oleg