added primitive podman detection

This commit is contained in:
Stefano C. Coronado 2019-12-28 14:10:43 -05:00
parent 835d190320
commit 65725888c7
2 changed files with 38 additions and 11 deletions

View file

@ -26,7 +26,7 @@ xephyrpid=$!
if command -v ratpoison; then if command -v ratpoison; then
sleep 1 sleep 1
ratpoison -d :$DNum & ratpoison -d :$DNum &
else # Use the default x window manager installed based on the host else # Use the default x window manager installed based on lsb_release id
DISPLAY=:$DNum DISPLAY=:$DNum
distro_id=$(lsb_release -i | awk '{print($3)}') distro_id=$(lsb_release -i | awk '{print($3)}')
@ -37,9 +37,14 @@ else # Use the default x window manager installed based on the host
fi fi
fi fi
windowmanagerpid=$! windowmanagerpid=$!
docker run --net=host \ #detect podman or docker
if command -v docker; then
docker run --net=host \
--rm \ --rm \
-e DISPLAY=:$DNum \ -e DISPLAY=:$DNum \
-v /tmp/.X11-unix/X$DNum:/tmp/.X11-unix/X$DNum:rw \ -v /tmp/.X11-unix/X$DNum:/tmp/.X11-unix/X$DNum:rw \
@ -48,6 +53,23 @@ docker run --net=host \
--cap-drop=ALL \ --cap-drop=ALL \
--shm-size 2g \ --shm-size 2g \
"$@" "$@"
elif command -v podman; then
podman run --net=host \
--rm \
-e DISPLAY=:$DNum \
-v /tmp/.X11-unix/X$DNum:/tmp/.X11-unix/X$DNum:rw \
--user $(id -u):$(id -g) \
--group-add audio \
--cap-drop=ALL \
--shm-size 2g \
"$@"
fi
kill $windowmanagerpid kill $windowmanagerpid
kill $xephyrpid kill $xephyrpid

View file

@ -45,4 +45,9 @@ RUN yay -S --noconfirm {package_name}
ENTRYPOINT [\"/usr/bin/env\", \"{command}\"]" ENTRYPOINT [\"/usr/bin/env\", \"{command}\"]"
""" """
subprocess.run(["docker", "build", "-t", command, "-"], input = dockerfile, encoding = 'UTF-8') try:
subprocess.run(["docker", "build", "-t", command, "-"], input = dockerfile, encoding = 'UTF-8')
except FileNotFoundError: # primitive way to detect that docker is not installed
subprocess.run(["podman", "build", "-t", command, "-"], input = dockerfile, encoding = 'UTF-8')