Description of problem: We noticed that podman-4.6.0-3.el9.x86_64 does not handle multi-line values passed to the --env option and it only accepts the first line. + podman inspect container-puppet-memcached [ { "Id": "36166f7f5e31e581e3b17db5b02b80bfb11204a24d6923cce3c938aaa612ae07", ... "Config": { ... "Env": [ "NET_HOST=true", "DEBUG=false", "HOSTNAME=standalone", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "container=oci", "PUPPET_TAGS=file,file_line,concat,augeas,cron,file", "STEP=6", "LANG=en_US.UTF-8", "NAME=memcached", "STEP_CONFIG=include ::tripleo::packages", <=====(*) "HOME=/root" ], ... } } This problem was not seen when podman-4.6.0-1.el9.x86_64 is used. + podman inspect container-puppet-memcached [ { "Id": "36166f7f5e31e581e3b17db5b02b80bfb11204a24d6923cce3c938aaa612ae07", ... "Config": { ... "Env": [ "NET_HOST=true", "NO_ARCHIVE=", "TERM=xterm", "container=oci", "STEP=6", "DEBUG=false", "HOSTNAME=standalone", "PUPPET_TAGS=file,file_line,concat,augeas,cron,file", "NAME=memcached", "STEP_CONFIG=include ::tripleo::packages\ninclude tripleo::profile::base::memcached\n", <=====(*) "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=en_US.UTF-8", "HOME=/root" ], ... } ] Version-Release number of selected component (if applicable): podman-4.6.0-3.el9.x86_64 How reproducible: Always Steps to Reproduce: 1. Create a container with an environment which has multi-line value $ podman run -it --env foo="bar baz" <image> /bin/bash 2. Echo the environment inside the container # echo $foo 3. Check Config.Env of the container by inspect $ podman inspect <container name> Actual results: The environment in container contains only the first line ``` [root@131d1dc33adc /]# echo $foo bar [root@131d1dc33adc /]# ``` ``` $ podman inspect naughty_kowalevski | head -3 [ { "Id": "131d1dc33adc781ad8f171b6d569321a8b35ed2e4831e5feb6109bcc8886e596", ... "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "container=podman", "TERM=xterm", "foo=bar", "HOME=/root", "HOSTNAME=131d1dc33adc" ], ``` Expected results: The environment in container contains all the lines ``` [root@cecaed241326 /]# echo $foo bar baz [root@cecaed241326 /]# ``` ``` $ podman inspect agitated_hamilton [ { "Id": "cecaed2413262f4e19e1e0dce64b1bfaa0db23032aece7a924293974aafe08b5", ... "Env": [ "container=podman", "foo=bar\nbaz", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "TERM=xterm", "HOME=/root", "HOSTNAME=cecaed241326" ], ``` Additional info: This issue was initially found in the TripleO project in OpenStack.
We currently suspect the new version contains https://github.com/containers/podman/pull/19096 and that causes the problem. (though it does not make very good sense that such as change can be pulled in a revision change)
I checked c9s distgit and confirmed that the -3 containers change for https://github.com/containers/podman/pull/19096 while -1 does not contain it. I've reported the issue in that PR but we have to get it fixed in podman and pull the fix into the c9s package.
Fix PR: https://github.com/containers/podman/pull/19560