Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#68644 - [libguestfs] Files installed to /usr/lib/go break go get all

Attached to Project: Community Packages
Opened by FallenWarrior2k (FallenWarrior2k) - Monday, 16 November 2020, 16:16 GMT
Last edited by Doug Newgard (Scimmia) - Monday, 16 November 2020, 17:15 GMT
Task Type Bug Report
Category Upstream Bugs
Status Assigned
Assigned To Robin Broda (coderobe)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

The libguestfs package installs a set of files to /usr/lib/go:

$ pacman -Ql libguestfs | grep /usr/lib/go
libguestfs /usr/lib/go/
libguestfs /usr/lib/go/pkg/
libguestfs /usr/lib/go/pkg/linux_amd64/
libguestfs /usr/lib/go/pkg/linux_amd64/libguestfs.org/
libguestfs /usr/lib/go/pkg/linux_amd64/libguestfs.org/guestfs/
libguestfs /usr/lib/go/pkg/linux_amd64/libguestfs.org/guestfs/guestfs.a
libguestfs /usr/lib/go/src/
libguestfs /usr/lib/go/src/pkg/
libguestfs /usr/lib/go/src/pkg/libguestfs.org/
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_010_load_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_020_create_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_030_create_flags_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_040_create_multiple_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_050_handle_properties_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_060_explicit_close_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_070_optargs_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_100_launch_test.go
libguestfs /usr/lib/go/src/pkg/libguestfs.org/guestfs/guestfs_900_rstringlist_test.go

This, however, seems to confuse Golang's CLI tooling, as it tries to update this package when asked to update everything, then fails with a permission error.
I have raised an issue with upstream (https://github.com/golang/go/issues/42620), but was told this was an issue with this package.

Steps to reproduce:
With libguestfs and go installed, try running `go get all` or `go get -u all`. It will fail with the error shown in the upstream issue.
This task depends upon

Comment by Doug Newgard (Scimmia) - Monday, 16 November 2020, 16:32 GMT
Sounds more like the problem is trying to update pacman-installed packages with go get. Bad idea all around.
Comment by FallenWarrior2k (FallenWarrior2k) - Monday, 16 November 2020, 16:54 GMT
No, that is not what I tried to do, and it was never my intention.
I ran the command as part of regular workflow, as my regular user, honestly not even knowing the pacman-managed files existed until I got hit by the error described above.
To quote upstream: "On the other hand, it is not expected that distros add their own package to GOROOT/src. That location is reserved for the Go standard library."
Comment by Doug Newgard (Scimmia) - Monday, 16 November 2020, 17:12 GMT
If that's the case, you should be talking to libguestfs upstream. All Arch does here is `make INSTALLDIRS=vendor DESTDIR="$pkgdir" install`

Loading...