[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#45161] [PATCH 0/1] Update go?
From: |
Jack Hill |
Subject: |
[bug#45161] [PATCH 0/1] Update go? |
Date: |
Mon, 14 Dec 2020 16:53:59 -0500 (EST) |
User-agent: |
Alpine 2.21 (DEB 202 2017-01-01) |
On Mon, 14 Dec 2020, David Dashyan wrote:
Hello again!
Jack Hill writes:
I've tested go 1.15 by trying to build the packages reported by `guix refresh -l
go` on x86_64. There are some new build failures, but it doesn't look too
bad. In fact, I've already fixed on of them, by updating go-github-com-kr-pretty
in #45171 [0]. There were a number of packages whose tests failed because of
changes [1] to `go vet`. The new kr-pretty release adjusts to the new vet
behavior with a one line change [2] (kr-pretty had fortunately not fallen into
the incorrect string() usage for which vet is now warning).
May I ask how do you do afterer redefining "go" to point to go-1.15 and
getting list of deppending packages? I mean how one buids all depended
packages in one move if there such a way to do this?
Sure. For me it involved some manual effort. There might be a more clever
way to script it that others can share, but I didn't think it was too bad,
and it allowed me to make notes about what problems I observed as I
encountered them. Nothing I did was Go-specific. Perhaps a small project
for another time, we could add a cookbook recipe for testing upgrades to
languages or other packages with many dependents.
Here's what I did after changing the default go:
* ran `./pre-inst-env guix refresh -l go` and recorded the list of
packages to build.
* ran `./pre-inst-env guix build` with that list.
* After a while there is a build failure, and the end of the log looks
like (the actually failure here is unimportant):
```
FAIL go.etcd.io/bbolt 600.127s
FAIL
command "go" "test" "go.etcd.io/bbolt" failed with status 1
Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
builder for
`/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv' failed
with exit code 1
@ build-failed
/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv - 1
builder for
`/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv' failed
with exit code 1
derivation
'/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv'
offloaded to 'libre-02.local' failed: build of
`/gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv' failed
build of /gnu/store/6dshsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv
failed
View build log at
'/var/log/guix/drvs/6d/shsgwryfj8g27sf24sp7lhnpf639d1-go-etcd-io-bbolt-1.3.5.drv.bz2'.
cannot build derivation
`/gnu/store/23jx3gb17gdhz662d3dsrmfnpp92abw4-chezmoi-1.8.1.drv': 1 dependencies
couldn't be built
guix build: error: build of
`/gnu/store/23jx3gb17gdhz662d3dsrmfnpp92abw4-chezmoi-1.8.1.drv' failed
```
* From this, I make a not the go-etcd-io-bbolt has a build failure, and
that I was unable to attempt chezmoi.
* I remove chezmoi from the list of packages to build and re-run `guix
build`.
Repeat that process until all the remaining packages build, and you should
have a nice list of build failures and builds that could not be attempted.
Hope that helps,
Jack