Bug ID | 1082409 |
---|---|
Summary | Major regression in usability of go package |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Development |
Assignee | bnc-team-screening@forge.provo.novell.com |
Reporter | dmacvicar@suse.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
By accident I discovered that I could not compile software because my go was pointing to go1.4 scanner_test.go:7:2: cannot find package "github.com/dmacvicar/someproject" in any of: /usr/lib64/go1.4/src/github.com/dmacvicar/someproject (from $GOROOT) I never installed go1.4 So I tried to remove it: $ sudo zypper rm go go1.4 go1.6 [sudo] password for root: Loading repository data... Reading installed packages... Resolving package dependencies... The following 9 packages are going to be REMOVED: go go1.4 go1.4-doc go1.4-race go1.6 go1.6-doc go1.6-race go-doc go-race I try to install go again: $ sudo zypper in go Loading repository data... Reading installed packages... Resolving package dependencies... The following 11 NEW packages are going to be installed: go go1.4 go1.4-doc go1.4-race go1.6 go1.6-doc go1.6-race go1.9 go1.9-doc go1.9-race go-race The following recommended package was automatically selected: go1.9-doc Again 1.4! I imagined go required go1.4 or something like that, but I locked go1.4 and I was still able to install go. I think the problem lies in that both "go" and "go1.9" provide "go = 1.9", and on top of that "go" requires "go1.9". What is the point of the "go" package? It only confuses the solver. Every goX.X package can still "provide go". That way only the latest will get installed. Additionally, what is the point in having go1.4 there? Is it only to build the whole chain? Then there is a problem with GOROOT. Installing a newer go, updates the alternatives but GOROOT is still pointing to the go1.4 go.