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 Toolybird (Toolybird) - Monday, 11 July 2022, 07:21 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Robin Broda (coderobe)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
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

Closed by  Toolybird (Toolybird)
Monday, 11 July 2022, 07:21 GMT
Reason for closing:  Fixed
Additional comments about closing:  go bindings are no longer built as of
https://github.com/archlinux/svntogit-co mmunity/commit/475ed8fe
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...