Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 941389 - app-containers/containers-image-5.32.2 calls commands that do not exist: go
Summary: app-containers/containers-image-5.32.2 calls commands that do not exist: go
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Rahil Bhimjiani
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-12 14:33 UTC by Agostino Sarubbo
Modified: 2025-01-10 14:37 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,48.82 KB, text/plain)
2024-10-12 14:33 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2024-10-12 14:33:23 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: app-containers/containers-image-5.32.2 calls commands that do not exist.
Discovered on: amd64 (internal ref: ci)

Info about the issue:
https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#QA0018
Comment 1 Agostino Sarubbo gentoo-dev 2024-10-12 14:33:24 UTC
Created attachment 905197 [details]
build.log

build log and emerge --info
Comment 2 Zac Medico gentoo-dev 2024-10-12 20:36:06 UTC
This one is weird, since I can see it being blocked by network-sandbox, but it still builds man pages and installs them successfully despite network-sandbox issues like these:

docker/reference/regexp.go:7:2: github.com/containers/storage@v1.55.0: Get "https://proxy.golang.org/github.com/containers/storage/@v/v1.55.0.zip": dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:40374->[::1]:53: read: connection refused
docker/reference/normalize.go:8:2: github.com/opencontainers/go-digest@v1.0.0: Get "https://proxy.golang.org/github.com/opencontainers/go-digest/@v/v1.0.0.zip": dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:40374->[::1]:53: read: connection refused
types/types.go:11:2: github.com/opencontainers/image-spec@v1.1.0: Get "https://proxy.golang.org/github.com/opencontainers/image-spec/@v/v1.1.0.zip": dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:40374->[::1]:53: read: connection refused
internal/pkg/platform/platform_matcher.go:29:2: github.com/sirupsen/logrus@v1.9.3: Get "https://proxy.golang.org/github.com/sirupsen/logrus/@v/v1.9.3.zip": dial tcp: lookup proxy.golang.org on [::1]:53: read udp [::1]:40374->[::1]:53: read: connection refused
Comment 3 Terin Stock 2025-01-10 14:30:23 UTC
This breaks Prefix as the Go command succeed (as there's no network sandbox), but the toolchain sets permissions on the module cache such that Portage can't cleanup the build directory, and the install fails.

>>> Installing (1 of 6) app-containers/containers-image-5.32.2::gentoo
Process Process-17:
Traceback (most recent call last):
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/package/ebuild/prepare_build_dirs.py", line 52, in prepare_build_dirs
    shutil.rmtree(clean_dir)
  File "/home/terin/gentoo/usr/lib/python3.12/shutil.py", line 759, in rmtree
    _rmtree_safe_fd(stack, onexc)
  File "/home/terin/gentoo/usr/lib/python3.12/shutil.py", line 703, in _rmtree_safe_fd
    onexc(func, path, err)
  File "/home/terin/gentoo/usr/lib/python3.12/shutil.py", line 700, in _rmtree_safe_fd
    onexc(os.unlink, fullname, err)
  File "/home/terin/gentoo/usr/lib/python3.12/shutil.py", line 698, in _rmtree_safe_fd
    os.unlink(entry.name, dir_fd=topfd)
PermissionError: [Errno 13] Permission denied: '/home/terin/gentoo/var/tmp/portage/app-containers/containers-image-5.32.2/homedir/go/pkg/mod/golang.org/x/sync@v0.8.0'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/terin/gentoo/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/home/terin/gentoo/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/util/_async/ForkProcess.py", line 334, in _bootstrap
    sys.exit(target(*(args or []), **(kwargs or {})))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/dbapi/_MergeProcess.py", line 276, in _target
    rval = mylink.merge(
           ^^^^^^^^^^^^^
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/dbapi/vartree.py", line 1895, in wrapper
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/dbapi/vartree.py", line 6051, in merge
    retval = self.treewalk(
             ^^^^^^^^^^^^^^
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/dbapi/vartree.py", line 4661, in treewalk
    prepare_build_dirs(settings=self.settings, cleanup=cleanup)
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/package/ebuild/prepare_build_dirs.py", line 66, in prepare_build_dirs
    _raise_exc(oe)
  File "/home/terin/gentoo/usr/lib/python3.12/site-packages/portage/util/install_mask.py", line 156, in _raise_exc
    raise wrapper
portage.exception.PermissionDenied: [Errno 13] Permission denied: '/home/terin/gentoo/var/tmp/portage/app-containers/containers-image-5.32.2/homedir/go/pkg/mod/golang.org/x/sync@v0.8.0'
Comment 4 Terin Stock 2025-01-10 14:37:37 UTC
I've added a src_prepare to the ebuild to remove the Go call from the makefile. A bit of a hack, but since we're only building docs, not really necessary.

src_prepare() {
	default
	sed -i -e '/PACKAGES :=/cPACKAGES := ""' Makefile || die
}