FS#75493 - [catatonit] 0.1.7-2 causes error with [podman] 4.1.1-2, podman run with option "--init"

Attached to Project: Community Packages
Opened by Lichtprotoss (Lichtprotoss) - Tuesday, 02 August 2022, 21:44 GMT
Last edited by David Runge (dvzrv) - Wednesday, 03 August 2022, 20:59 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To David Runge (dvzrv)
Morten Linderud (Foxboron)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hi all

Hope you are all safe. Updating catatonit to 0.1.7-2 caused an unintended side-effect in podman 4.1.1-2 for my setup, when using the option "--init" of podman run. At least in my setup, Podman seems to expect catatonit in /usr/libexec/podman/catatonit, which actually exists as /lib/podman/catatonit.

If I forgot to provide a necessary information, feel free to ask. Hope it helps.

Thanks and stay safe

Additional info:
* package version(s)
[catatonit] 0.1.7-2
[podman] 4.1.1-2
* config and/or log files etc.
"Error: container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory"
* link to upstream bug report, if any

Steps to reproduce:

# podman run --init docker.io/library/busybox

Workaround:

# mkdir -p /usr/libexec/podman
# ln -s /usr/lib/podman/catatonit /usr/libexec/podman/catatonit
This task depends upon

Closed by  David Runge (dvzrv)
Wednesday, 03 August 2022, 20:59 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with podman 4.1.1-4
Comment by Toolybird (Toolybird) - Wednesday, 03 August 2022, 03:48 GMT
The change was deliberate by the PM as /usr/libexec goes against packaging standards [1]. However, I ran "strings" on podman and it still has references to "/usr/libexec/podman/catatonit" so maybe podman needs a rebuild or re-config or some such?

[1] https://wiki.archlinux.org/title/Arch_package_guidelines#Package_etiquette
Comment by David Runge (dvzrv) - Wednesday, 03 August 2022, 07:16 GMT
Yeah, it seems those paths are all hardcoded... -_-
Comment by David Runge (dvzrv) - Wednesday, 03 August 2022, 07:40 GMT Comment by David Runge (dvzrv) - Wednesday, 03 August 2022, 08:35 GMT
I have applied a patch to replace /usr/libexec with /usr/lib in /etc/containers/containers.conf and uncomment init_path there.

This seems to be the only way to fix this, as I was not able to figure out where exactly the libexec based default is set (the init_path configuration option is commented and only displays the default value... which is assembled elsewhere in the code).

It's available as podman 4.1.1-3 in [community-testing]. Please let me know if this works for you (it worked for me)!
Comment by Lichtprotoss (Lichtprotoss) - Wednesday, 03 August 2022, 19:21 GMT
Hi David

Thanks for taking care of this topic. Your described fix works for me: uncommenting init_path in /etc/containers/containers.conf and replacing /usr/libexec with /usr/lib

However, podman 4.1.1-3 did not patch my /etc/containers/containers.conf. I checked it on two of my VMs. I adapted the file manually, as proposed above, and it worked.

Comment by David Runge (dvzrv) - Wednesday, 03 August 2022, 20:43 GMT
Ugh... I just realized I patched the wrong package. Podman of course does not package /etc/containers/containers.conf, but containers-common does...
Will fix and update as soon as that is done...

Loading...