GNU bug report logs - #63001
Go importer doesn't know MODULE/vX.Y version tags

Previous Next

Package: guix;

Reported by: "Timo Wilken" <guix <at> twilken.net>

Date: Fri, 21 Apr 2023 17:41:01 UTC

Severity: normal

Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#63001: closed (Go importer doesn't know MODULE/vX.Y version tags)
Date: Sat, 25 Jan 2025 13:32:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 25 Jan 2025 13:31:10 +0000
with message-id <87zfjfqau9.fsf <at> gmail.com>
and subject line Go importer doesn't know MODULE/vX.Y version tags
has caused the debbugs.gnu.org bug report #63001,
regarding Go importer doesn't know MODULE/vX.Y version tags
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
63001: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63001
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "Timo Wilken" <guix <at> twilken.net>
To: <bug-guix <at> gnu.org>
Subject: Go importer doesn't know MODULE/vX.Y version tags
Date: Fri, 21 Apr 2023 19:39:53 +0200
Some Golang repositories apparently use a tagging scheme where each
submodule in the repo gets its own tags.

In this case, the example is cloud.google.com/go and its submodules
(hosted at https://github.com/googleapis/google-cloud-go).

For example, for the cloud.google.com/go/longrunning submodule at
version 0.4.1, the Go importer should look for a tag called
"refs/tags/longrunning/v0.4.1" in the Git repository.

#+begin_example
$ guix import go -r cloud.google.com/go/longrunning
Backtrace:
          19 (primitive-load "/home/timo/.config/guix/current/bin/gu…")
In guix/ui.scm:
   2300:7 18 (run-guix . _)
  2263:10 17 (run-guix-command _ . _)
In guix/scripts/import.scm:
    89:11 16 (guix-import . _)
In ice-9/boot-9.scm:
  1752:10 15 (with-exception-handler _ _ #:unwind? _ # _)
In guix/scripts/import/go.scm:
   114:22 14 (_)
In guix/import/utils.scm:
   638:27 13 (recursive-import _ #:repo->guix-package _ #:guix-name . #)
   630:33 12 (lookup-node "cloud.google.com/go/longrunning" #f)
In guix/memoization.scm:
     98:0 11 (mproc "cloud.google.com/go/longrunning" # #<procedure…> …)
In unknown file:
          10 (_ #<procedure 7fb3e173c820 at guix/memoization.scm:17…> …)
In guix/import/go.scm:
   685:10  9 (_ _ #:version _ #:repo _)
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? _ # _)
In guix/import/go.scm:
   511:19  6 (go-module->guix-package "cloud.google.com/go/longrunn…" …)
In guix/git.scm:
    291:4  5 (update-cached-checkout _ #:ref _ #:recursive? _ # _ # _ …)
   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.4.1' not found
#+end_example

The same is true for other modules, e.g.
github.com/Azure/azure-sdk-for-go/sdk/internal, where the tag is
called "refs/tags/sdk/internal/v1.3.0" instead:

#+begin_example
$ guix import go -r github.com/Azure/azure-sdk-for-go/sdk/internal
Backtrace:
          19 (primitive-load "/home/timo/.config/guix/current/bin/gu…")
In guix/ui.scm:
   2300:7 18 (run-guix . _)
  2263:10 17 (run-guix-command _ . _)
In guix/scripts/import.scm:
    89:11 16 (guix-import . _)
In ice-9/boot-9.scm:
  1752:10 15 (with-exception-handler _ _ #:unwind? _ # _)
In guix/scripts/import/go.scm:
   114:22 14 (_)
In guix/import/utils.scm:
   638:27 13 (recursive-import _ #:repo->guix-package _ #:guix-name . #)
   630:33 12 (lookup-node "github.com/Azure/azure-sdk-for-go/sdk/in…" …)
In guix/memoization.scm:
     98:0 11 (mproc "github.com/Azure/azure-sdk-for-go/sdk/internal" …)
In unknown file:
          10 (_ #<procedure 7fa449ec0300 at guix/memoization.scm:17…> …)
In guix/import/go.scm:
   685:10  9 (_ _ #:version _ #:repo _)
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? _ # _)
In guix/import/go.scm:
   511:19  6 (go-module->guix-package "github.com/Azure/azure-sdk-f…" …)
In guix/git.scm:
    291:4  5 (update-cached-checkout _ #:ref _ #:recursive? _ # _ # _ …)
   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/v1.3.0' not found
#+end_example


[Message part 3 (message/rfc822, inline)]
From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 63001-done <at> debbugs.gnu.org
Subject: Go importer doesn't know MODULE/vX.Y version tags
Date: Sat, 25 Jan 2025 13:31:10 +0000
[Message part 4 (text/plain, inline)]
Hi,

The latest changes in go-importer have resolved it:

--8<---------------cut here---------------start------------->8---
~$ guix describe
Generation 72   Jan 24 2025 22:18:29    (current)
  guix ea7a6fa
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: ea7a6fa8c66ef3cfd0ccdec6c0a7a3e7ab3dfc9c

~$ guix import go cloud.google.com/go/longrunning
guix import: Importing package "cloud.google.com/go/longrunning"...
(define-public go-cloud-google-com-go-longrunning
  (package
    (name "go-cloud-google-com-go-longrunning")
    (version "0.6.4")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/googleapis/google-cloud-go")
             (commit (go-version->git-ref version
                                          #:subdir "longrunning"))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0w04dgxk0lx5k4s255ladf5w8n2nivvhp5vlyb2va96j5aa8j2q5"))))
    (build-system go-build-system)
    (arguments
     (list
      #:import-path "cloud.google.com/go/longrunning"
      #:unpack-path "cloud.google.com/go"))
    (propagated-inputs (list go-google-golang-org-protobuf
                             go-google-golang-org-grpc
                             go-google-golang-org-genproto-googleapis-rpc
                             go-google-golang-org-genproto-googleapis-api
                             go-google-golang-org-genproto
                             go-google-golang-org-api
                             go-github-com-googleapis-gax-go-v2
                             go-cloud-google-com-go))
    (home-page "https://cloud.google.com/go")
    (synopsis "longrunning")
    (description
     "Package longrunning supports Long Running Operations for the Google Cloud
Libraries.  See google.golang.org/genproto/googleapis/longrunning for its
service definition.")
    (license license:asl2.0)))
--8<---------------cut here---------------end--------------->8---

The recursive operation is tests against restic and it imported 400 new
packages after 1h.

Closing as resolved.

--
Thanks,
Oleg
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 115 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.