Summary: | sys-apps/portage-2.3.8 postsync hook failes | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Marcin Szamotulski <profunctor> |
Component: | Current packages | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | floppym |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | emerge --info output |
Have you disabled CONFIG_BINFMT_SCRIPT in your Linux kernel? No, it's there: ``` zcat /proc/config.gz | grep CONFIG_BINFMT_SCRIPT CONFIG_BINFMT_SCRIPT=y ``` Do /etc/portage/postsync.d/eix-update.sh and /etc/portage/postsync.d/layman.sh exist? If so, what are their contents? both are one liners calling `layman -S` and `eix-update`, which I put after a two linear with both commands started to break with the same error: ``` === Sync completed for gentoo q: Updating ebuild cache in /usr/portage ... q: Finished 38645 entries in 0.138505 seconds [Errno 8] Exec format error: b'/etc/portage/postsync.d/post-sync.sh': /etc/portage/postsync.d/post-sync.sh Traceback (most recent call last): File "/usr/lib64/python3.4/site-packages/portage/process.py", line 321, in spawn unshare_net, unshare_ipc, cgroup) File "/usr/lib64/python3.4/site-packages/portage/process.py", line 519, in _exec os.execve(binary, myargs, env) File "/usr/lib64/python3.4/site-packages/portage/__init__.py", line 250, in __call__ rval = self._func(*wrapped_args, **wrapped_kwargs) OSError: [Errno 8] Exec format error: b'/etc/portage/postsync.d/post-sync.sh' * Spawn failed for: post-sync.sh, /etc/portage/postsync.d/post-sync.sh ``` This is normal behavior if the script does not have a shebang on the first line like this: #!/bin/bash ok,I know what's the error. Missing shebang. Something must have changed, since I used the script for a very long time. Maybe when I switched from python2 to python3. Indeed, thanks for your help. |
Created attachment 503406 [details] emerge --info output After successful `emerge --sync` I always get an error (dumped below). My I have one script in `/etc/portage/postsync.d/post-sync.sh` which calls `layman -S; eix-update`. ``` sent 60.72K bytes received 9.45M bytes 333.70K bytes/sec total size is 248.03M speedup is 26.08 === Sync completed for gentoo q: Updating ebuild cache in /usr/portage ... q: Finished 38640 entries in 0.135363 seconds [Errno 8] Exec format error: b'/etc/portage/postsync.d/eix-update.sh': /etc/portage/postsync.d/eix-update.sh Traceback (most recent call last): File "/usr/lib64/python3.4/site-packages/portage/process.py", line 321, in spawn unshare_net, unshare_ipc, cgroup) File "/usr/lib64/python3.4/site-packages/portage/process.py", line 519, in _exec os.execve(binary, myargs, env) File "/usr/lib64/python3.4/site-packages/portage/__init__.py", line 250, in __call__ rval = self._func(*wrapped_args, **wrapped_kwargs) OSError: [Errno 8] Exec format error: b'/etc/portage/postsync.d/eix-update.sh' * Spawn failed for: eix-update.sh, /etc/portage/postsync.d/eix-update.sh [Errno 8] Exec format error: b'/etc/portage/postsync.d/layman.sh': /etc/portage/postsync.d/layman.sh Traceback (most recent call last): File "/usr/lib64/python3.4/site-packages/portage/process.py", line 321, in spawn unshare_net, unshare_ipc, cgroup) File "/usr/lib64/python3.4/site-packages/portage/process.py", line 519, in _exec os.execve(binary, myargs, env) File "/usr/lib64/python3.4/site-packages/portage/__init__.py", line 250, in __call__ rval = self._func(*wrapped_args, **wrapped_kwargs) OSError: [Errno 8] Exec format error: b'/etc/portage/postsync.d/layman.sh' * Spawn failed for: layman.sh, /etc/portage/postsync.d/layman.sh ```