summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/cirrus/apiv2_test.sh2
-rwxr-xr-xcontrib/cirrus/build_release.sh4
-rwxr-xr-xcontrib/cirrus/check_image.sh2
-rw-r--r--contrib/cirrus/container_test.sh6
-rwxr-xr-xcontrib/cirrus/integration_test.sh2
-rw-r--r--contrib/cirrus/lib.sh4
-rwxr-xr-xcontrib/cirrus/logcollector.sh6
-rw-r--r--contrib/cirrus/packer/fedora_packaging.sh22
-rw-r--r--contrib/cirrus/packer/ubuntu_packaging.sh28
-rwxr-xr-xcontrib/cirrus/setup_environment.sh12
-rwxr-xr-xcontrib/cirrus/system_test.sh2
-rw-r--r--contrib/msi/podman.wxs5
-rw-r--r--contrib/podmanimage/stable/Dockerfile4
-rw-r--r--contrib/podmanimage/stable/manual/Containerfile4
-rw-r--r--contrib/podmanimage/testing/Dockerfile4
-rw-r--r--contrib/podmanimage/upstream/Dockerfile4
-rw-r--r--contrib/spec/podman.spec.in1
-rw-r--r--contrib/systemd/system/podman.service3
18 files changed, 62 insertions, 53 deletions
diff --git a/contrib/cirrus/apiv2_test.sh b/contrib/cirrus/apiv2_test.sh
index 33e9fbc6b..546fe8e30 100755
--- a/contrib/cirrus/apiv2_test.sh
+++ b/contrib/cirrus/apiv2_test.sh
@@ -7,7 +7,7 @@ source $(dirname $0)/lib.sh
req_env_var GOSRC SCRIPT_BASE OS_RELEASE_ID OS_RELEASE_VER CONTAINER_RUNTIME VARLINK_LOG
LOCAL_OR_REMOTE=local
-if [[ "$TEST_REMOTE_CLIENT" = "true" ]]; then
+if [[ "$RCLI" = "true" ]]; then
LOCAL_OR_REMOTE=remote
fi
diff --git a/contrib/cirrus/build_release.sh b/contrib/cirrus/build_release.sh
index 07db88f81..45634f368 100755
--- a/contrib/cirrus/build_release.sh
+++ b/contrib/cirrus/build_release.sh
@@ -4,11 +4,11 @@ set -e
source $(dirname $0)/lib.sh
-req_env_var TEST_REMOTE_CLIENT OS_RELEASE_ID GOSRC
+req_env_var RCLI OS_RELEASE_ID GOSRC
cd $GOSRC
-if [[ "$TEST_REMOTE_CLIENT" == "true" ]] && [[ -z "$CROSS_PLATFORM" ]]
+if [[ "$RCLI" == "true" ]] && [[ -z "$CROSS_PLATFORM" ]]
then
CROSS_PLATFORM=linux
fi
diff --git a/contrib/cirrus/check_image.sh b/contrib/cirrus/check_image.sh
index 39c2be3f8..13172fe1c 100755
--- a/contrib/cirrus/check_image.sh
+++ b/contrib/cirrus/check_image.sh
@@ -6,7 +6,7 @@ source $(dirname $0)/lib.sh
EVIL_UNITS="$($CIRRUS_WORKING_DIR/$PACKER_BASE/systemd_banish.sh --list)"
-req_env_var PACKER_BUILDER_NAME TEST_REMOTE_CLIENT EVIL_UNITS OS_RELEASE_ID CG_FS_TYPE
+req_env_var PACKER_BUILDER_NAME RCLI EVIL_UNITS OS_RELEASE_ID CG_FS_TYPE
NFAILS=0
echo "Validating VM image"
diff --git a/contrib/cirrus/container_test.sh b/contrib/cirrus/container_test.sh
index 8a4ed9492..b56a12232 100644
--- a/contrib/cirrus/container_test.sh
+++ b/contrib/cirrus/container_test.sh
@@ -18,7 +18,7 @@ if [ "${ID}" != "fedora" ] || [ "${CONTAINER_RUNTIME}" != "" ]; then
INTEGRATION_TEST_ENVS="SKIP_USERNS=1"
fi
-echo "$(date --rfc-3339=seconds) $(basename $0) started with '$*' and TEST_REMOTE_CLIENT='${TEST_REMOTE_CLIENT}'"
+echo "$(date --rfc-3339=seconds) $(basename $0) started with '$*' and RCLI='${RCLI}'"
pwd
@@ -57,9 +57,9 @@ while getopts "bituv" opt; do
esac
done
-# The TEST_REMOTE_CLIENT environment variable decides whether
+# The RCLI environment variable decides whether
# to test varlinke
-if [[ "$TEST_REMOTE_CLIENT" == "true" ]]; then
+if [[ "$RCLI" == "true" ]]; then
remote=1
fi
diff --git a/contrib/cirrus/integration_test.sh b/contrib/cirrus/integration_test.sh
index 692d5a236..c65f5e25f 100755
--- a/contrib/cirrus/integration_test.sh
+++ b/contrib/cirrus/integration_test.sh
@@ -7,7 +7,7 @@ source $(dirname $0)/lib.sh
req_env_var GOSRC SCRIPT_BASE OS_RELEASE_ID OS_RELEASE_VER CONTAINER_RUNTIME VARLINK_LOG
LOCAL_OR_REMOTE=local
-if [[ "$TEST_REMOTE_CLIENT" = "true" ]]; then
+if [[ "$RCLI" = "true" ]]; then
LOCAL_OR_REMOTE=remote
fi
diff --git a/contrib/cirrus/lib.sh b/contrib/cirrus/lib.sh
index d2af4d883..968b2de39 100644
--- a/contrib/cirrus/lib.sh
+++ b/contrib/cirrus/lib.sh
@@ -96,12 +96,12 @@ LILTO="timeout_attempt_delay_command 120s 5 30s"
BIGTO="timeout_attempt_delay_command 300s 5 60s"
# Safe env. vars. to transfer from root -> $ROOTLESS_USER (go env handled separately)
-ROOTLESS_ENV_RE='(CIRRUS_.+)|(ROOTLESS_.+)|(.+_IMAGE.*)|(.+_BASE)|(.*DIRPATH)|(.*FILEPATH)|(SOURCE.*)|(DEPEND.*)|(.+_DEPS_.+)|(OS_REL.*)|(.+_ENV_RE)|(TRAVIS)|(CI.+)|(TEST_REMOTE.*)'
+ROOTLESS_ENV_RE='(CIRRUS_.+)|(ROOTLESS_.+)|(.+_IMAGE.*)|(.+_BASE)|(.*DIRPATH)|(.*FILEPATH)|(SOURCE.*)|(DEPEND.*)|(.+_DEPS_.+)|(OS_REL.*)|(.+_ENV_RE)|(TRAVIS)|(CI.+)|(REMOTE.*)'
# Unsafe env. vars for display
SECRET_ENV_RE='(IRCID)|(ACCOUNT)|(GC[EP]..+)|(SSH)'
SPECIALMODE="${SPECIALMODE:-none}"
-TEST_REMOTE_CLIENT="${TEST_REMOTE_CLIENT:-false}"
+RCLI="${RCLI:-false}"
export CONTAINER_RUNTIME=${CONTAINER_RUNTIME:-podman}
# When running as root, this may be empty or not, as a user, it MUST be set.
diff --git a/contrib/cirrus/logcollector.sh b/contrib/cirrus/logcollector.sh
index 0b179591a..859da2966 100755
--- a/contrib/cirrus/logcollector.sh
+++ b/contrib/cirrus/logcollector.sh
@@ -4,7 +4,7 @@ set -e
source $(dirname $0)/lib.sh
-req_env_var CIRRUS_WORKING_DIR OS_RELEASE_ID TEST_REMOTE_CLIENT
+req_env_var CIRRUS_WORKING_DIR OS_RELEASE_ID RCLI
# Assume there are other log collection commands to follow - Don't
# let one break another that may be useful, but also keep any
@@ -34,12 +34,12 @@ case $1 in
journal) showrun journalctl -b ;;
podman) showrun ./bin/podman system info ;;
varlink)
- if [[ "$TEST_REMOTE_CLIENT" == "true" ]]
+ if [[ "$RCLI" == "true" ]]
then
echo "(Trailing 100 lines of $VARLINK_LOG)"
showrun tail -100 $VARLINK_LOG
else
- die 0 "\$TEST_REMOTE_CLIENT is not 'true': $TEST_REMOTE_CLIENT"
+ die 0 "\$RCLI is not 'true': $RCLI"
fi
;;
packages)
diff --git a/contrib/cirrus/packer/fedora_packaging.sh b/contrib/cirrus/packer/fedora_packaging.sh
index f19932a9f..4a8f62e45 100644
--- a/contrib/cirrus/packer/fedora_packaging.sh
+++ b/contrib/cirrus/packer/fedora_packaging.sh
@@ -26,7 +26,7 @@ source /usr/share/automation/environment
# Set this to 1 to NOT enable updates-testing repository
DISABLE_UPDATES_TESTING=${DISABLE_UPDATES_TESTING:0}
-# Do not enable update-stesting on the previous Fedora release
+# Do not enable updates-testing on the previous Fedora release
if ((DISABLE_UPDATES_TESTING!=0)); then
warn "Enabling updates-testing repository for image based on $FEDORA_BASE_IMAGE"
$LILTO $SUDO ooe.sh dnf install -y 'dnf-command(config-manager)'
@@ -37,7 +37,15 @@ fi
$BIGTO ooe.sh $SUDO dnf update -y
+# Fedora, as of 31, uses cgroups v2 by default. runc does not support
+# cgroups v2, only crun does. (As of 2020-07-30 runc support is
+# forthcoming but not even close to ready yet). To ensure a reliable
+# runtime environment, force-remove runc if it is present.
+# However, because a few other repos. which use these images still need
+# it, ensure the runc package is cached in $PACKAGE_DOWNLOAD_DIR so
+# it may be swap it in when required.
REMOVE_PACKAGES=(runc)
+
INSTALL_PACKAGES=(\
autoconf
automake
@@ -118,11 +126,12 @@ INSTALL_PACKAGES=(\
python2
python3-PyYAML
python3-dateutil
- python3-psutil
- python3-pytoml
- python3-libsemanage
python3-libselinux
+ python3-libsemanage
python3-libvirt
+ python3-psutil
+ python3-pytoml
+ python3-requests
redhat-rpm-config
rpcbind
rsync
@@ -163,7 +172,7 @@ $BIGTO ooe.sh $SUDO dnf install -y ${INSTALL_PACKAGES[@]}
# $BIGTO ooe.sh $SUDO dnf --enablerepo=updates-testing -y upgrade crun
[[ ${#REMOVE_PACKAGES[@]} -eq 0 ]] || \
- $LILTO ooe.sh $SUDO dnf erase -y ${REMOVE_PACKAGES[@]}
+ $LILTO ooe.sh $SUDO dnf erase -y "${REMOVE_PACKAGES[@]}"
if [[ ${#DOWNLOAD_PACKAGES[@]} -gt 0 ]]; then
echo "Downloading packages for optional installation at runtime, as needed."
@@ -171,8 +180,7 @@ if [[ ${#DOWNLOAD_PACKAGES[@]} -gt 0 ]]; then
ooe.sh $SUDO dnf -y module enable cri-o:$(get_kubernetes_version)
$SUDO mkdir -p "$PACKAGE_DOWNLOAD_DIR"
cd "$PACKAGE_DOWNLOAD_DIR"
- $LILTO ooe.sh $SUDO dnf download -y --resolve ${DOWNLOAD_PACKAGES[@]}
- ls -la "$PACKAGE_DOWNLOAD_DIR/"
+ $LILTO ooe.sh $SUDO dnf download -y --resolve "${DOWNLOAD_PACKAGES[@]}"
fi
echo "Installing runtime tooling"
diff --git a/contrib/cirrus/packer/ubuntu_packaging.sh b/contrib/cirrus/packer/ubuntu_packaging.sh
index d11c612c5..935e81147 100644
--- a/contrib/cirrus/packer/ubuntu_packaging.sh
+++ b/contrib/cirrus/packer/ubuntu_packaging.sh
@@ -65,7 +65,7 @@ INSTALL_PACKAGES=(\
gettext
git
go-md2man
- golang
+ golang-1.14
iproute2
iptables
jq
@@ -101,12 +101,14 @@ INSTALL_PACKAGES=(\
podman
protobuf-c-compiler
protobuf-compiler
+ python-dateutil
python-protobuf
python2
python3-dateutil
python3-pip
python3-psutil
python3-pytoml
+ python3-requests
python3-setuptools
rsync
runc
@@ -135,6 +137,10 @@ if [[ "$OS_RELEASE_VER" -le 19 ]]; then
python-minimal
yum-utils
)
+else
+ INSTALL_PACKAGES+=(\
+ python-is-python3
+ )
fi
# Do this at the last possible moment to avoid dpkg lock conflicts
@@ -144,22 +150,26 @@ $BIGTO ooe.sh $SUDOAPTGET upgrade
echo "Installing general testing and system dependencies"
# Necessary to update cache of newly added repos
$LILTO ooe.sh $SUDOAPTGET update
-$BIGTO ooe.sh $SUDOAPTGET install ${INSTALL_PACKAGES[@]}
+$BIGTO ooe.sh $SUDOAPTGET install "${INSTALL_PACKAGES[@]}"
if [[ ${#DOWNLOAD_PACKAGES[@]} -gt 0 ]]; then
echo "Downloading packages for optional installation at runtime, as needed."
$SUDO ln -s /var/cache/apt/archives "$PACKAGE_DOWNLOAD_DIR"
- $LILTO ooe.sh $SUDOAPTGET install --download-only ${DOWNLOAD_PACKAGES[@]}
- ls -la "$PACKAGE_DOWNLOAD_DIR/"
+ $LILTO ooe.sh $SUDOAPTGET install --download-only "${DOWNLOAD_PACKAGES[@]}"
fi
-echo "Installing runtime tooling"
-# Save some runtime by having these already available
+echo "Configuring Go environment"
+# There are multiple (otherwise conflicting) versions of golang available
+# on Ubuntu. Being primarily localized by env. vars and defaults, dropping
+# a symlink is the appropriate way to "install" a specific version system-wide.
+$SUDO ln -sf /usr/lib/go-1.14/bin/go /usr/bin/go
+# Initially go was not installed
cd $GOSRC
-# Required since initially go was not installed
-source $GOSRC/$SCRIPT_BASE/lib.sh
+source $SCRIPT_BASE/lib.sh
echo "Go environment has been setup:"
go env
+
+echo "Building/Installing runtime tooling"
$SUDO hack/install_catatonit.sh
$SUDO make install.libseccomp.sudo
-$SUDO make install.tools
+$SUDO make install.tools GO_BUILD='go build' # -mod=vendor breaks this
diff --git a/contrib/cirrus/setup_environment.sh b/contrib/cirrus/setup_environment.sh
index e5f3168da..0b9d686d3 100755
--- a/contrib/cirrus/setup_environment.sh
+++ b/contrib/cirrus/setup_environment.sh
@@ -39,16 +39,6 @@ done
cd "${GOSRC}/"
case "${OS_RELEASE_ID}" in
ubuntu)
- apt-get update
- apt-get install -y containers-common
- if [[ "$OS_RELEASE_VER" == "19" ]]; then
- apt-get purge -y --auto-remove golang*
- apt-get install -y golang-1.13
- ln -s /usr/lib/go-1.13/bin/go /usr/bin/go
- fi
- if [[ "$OS_RELEASE_VER" == "20" ]]; then
- apt-get install -y python-is-python3
- fi
;;
fedora)
# All SELinux distros need this for systemd-in-a-container
@@ -113,7 +103,7 @@ case "$SPECIALMODE" in
tee -a /etc/environment) && eval "$X" && echo "$X"
X=$(echo "export SPECIALMODE='${SPECIALMODE}'" | \
tee -a /etc/environment) && eval "$X" && echo "$X"
- X=$(echo "export TEST_REMOTE_CLIENT='${TEST_REMOTE_CLIENT}'" | \
+ X=$(echo "export RCLI='${RCLI}'" | \
tee -a /etc/environment) && eval "$X" && echo "$X"
setup_rootless
fi
diff --git a/contrib/cirrus/system_test.sh b/contrib/cirrus/system_test.sh
index 33e9fbc6b..546fe8e30 100755
--- a/contrib/cirrus/system_test.sh
+++ b/contrib/cirrus/system_test.sh
@@ -7,7 +7,7 @@ source $(dirname $0)/lib.sh
req_env_var GOSRC SCRIPT_BASE OS_RELEASE_ID OS_RELEASE_VER CONTAINER_RUNTIME VARLINK_LOG
LOCAL_OR_REMOTE=local
-if [[ "$TEST_REMOTE_CLIENT" = "true" ]]; then
+if [[ "$RCLI" = "true" ]]; then
LOCAL_OR_REMOTE=remote
fi
diff --git a/contrib/msi/podman.wxs b/contrib/msi/podman.wxs
index c2c2cea4f..ff8160a53 100644
--- a/contrib/msi/podman.wxs
+++ b/contrib/msi/podman.wxs
@@ -24,8 +24,7 @@
<CreateFolder/>
</Component>
<Component Id="MainExecutable" Guid="73752F94-6589-4C7B-ABED-39D655A19714">
- <File Id="520C6E17-77A2-4F41-9611-30FA763A0702" Name="podman-remote-windows.exe" Source="bin/podman-remote-windows.exe"/>
- <File Id="A14218A0-4180-44AC-B109-7C63B3099DCA" Name="podman.bat" Source="podman.bat" KeyPath="yes"/>
+ <File Id="520C6E17-77A2-4F41-9611-30FA763A0702" Name="podman.exe" Source="bin/podman-remote-windows.exe" KeyPath="yes"/>
</Component>
</Directory>
</Directory>
@@ -33,7 +32,7 @@
</Directory>
<Property Id="setx" Value="setx.exe"/>
- <CustomAction Id="ChangePath" ExeCommand="PATH &quot;%PATH%;[INSTALLDIR] &quot;" Property="setx" Execute="deferred" Impersonate="yes" Return="check"/>
+ <CustomAction Id="ChangePath" ExeCommand="PATH &quot;%PATH%;[INSTALLDIR]&quot;" Property="setx" Execute="deferred" Impersonate="yes" Return="check"/>
<Feature Id="Complete" Level="1">
<ComponentRef Id="INSTALLDIR_Component"/>
diff --git a/contrib/podmanimage/stable/Dockerfile b/contrib/podmanimage/stable/Dockerfile
index fdf461f72..bcd3a5d3d 100644
--- a/contrib/podmanimage/stable/Dockerfile
+++ b/contrib/podmanimage/stable/Dockerfile
@@ -16,7 +16,7 @@ RUN useradd podman; yum -y update; yum -y reinstall shadow-utils; yum -y install
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
-RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf
-RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock
+RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
+RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers /var/lib/shared/vfs-images /var/lib/shared/vfs-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock; touch /var/lib/shared/vfs-images/images.lock; touch /var/lib/shared/vfs-layers/layers.lock
ENV _CONTAINERS_USERNS_CONFIGURED=""
diff --git a/contrib/podmanimage/stable/manual/Containerfile b/contrib/podmanimage/stable/manual/Containerfile
index 79ff95956..f9ae57dbf 100644
--- a/contrib/podmanimage/stable/manual/Containerfile
+++ b/contrib/podmanimage/stable/manual/Containerfile
@@ -29,8 +29,8 @@ RUN yum -y install /tmp/podman-1.7.0-3.fc30.x86_64.rpm fuse-overlayfs --exclude
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
-RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf
-RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock
+RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
+RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers /var/lib/shared/vfs-images /var/lib/shared/vfs-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock; touch /var/lib/shared/vfs-images/images.lock; touch /var/lib/shared/vfs-layers/layers.lock
ENV _CONTAINERS_USERNS_CONFIGURED=""
diff --git a/contrib/podmanimage/testing/Dockerfile b/contrib/podmanimage/testing/Dockerfile
index 0124879e0..97690360d 100644
--- a/contrib/podmanimage/testing/Dockerfile
+++ b/contrib/podmanimage/testing/Dockerfile
@@ -18,7 +18,7 @@ RUN useradd podman; yum -y update; yum -y reinstall shadow-utils; yum -y install
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
-RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf
-RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock
+RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
+RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers /var/lib/shared/vfs-images /var/lib/shared/vfs-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock; touch /var/lib/shared/vfs-images/images.lock; touch /var/lib/shared/vfs-layers/layers.lock
ENV _CONTAINERS_USERNS_CONFIGURED=""
diff --git a/contrib/podmanimage/upstream/Dockerfile b/contrib/podmanimage/upstream/Dockerfile
index 52b3e1d4d..ca7370de9 100644
--- a/contrib/podmanimage/upstream/Dockerfile
+++ b/contrib/podmanimage/upstream/Dockerfile
@@ -66,7 +66,7 @@ RUN useradd podman; yum -y update; yum -y reinstall shadow-utils; yum -y install
ADD https://raw.githubusercontent.com/containers/libpod/master/contrib/podmanimage/stable/containers.conf /etc/containers/
# chmod containers.conf and adjust storage.conf to enable Fuse storage.
-RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf
-RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock
+RUN chmod 644 /etc/containers/containers.conf; sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' -e 's|^mountopt[[:space:]]*=.*$|mountopt = "nodev,fsync=0"|g' /etc/containers/storage.conf
+RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers /var/lib/shared/vfs-images /var/lib/shared/vfs-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock; touch /var/lib/shared/vfs-images/images.lock; touch /var/lib/shared/vfs-layers/layers.lock
ENV _CONTAINERS_USERNS_CONFIGURED=""
diff --git a/contrib/spec/podman.spec.in b/contrib/spec/podman.spec.in
index 2411eaabc..363aa60d7 100644
--- a/contrib/spec/podman.spec.in
+++ b/contrib/spec/podman.spec.in
@@ -91,6 +91,7 @@ Recommends: container-selinux
Recommends: slirp4netns
Recommends: fuse-overlayfs
%endif
+Recommends: xz
# vendored libraries
# awk '{print "Provides: bundled(golang("$1")) = "$2}' vendor.conf | sort
diff --git a/contrib/systemd/system/podman.service b/contrib/systemd/system/podman.service
index c8751168d..e14bbe078 100644
--- a/contrib/systemd/system/podman.service
+++ b/contrib/systemd/system/podman.service
@@ -6,5 +6,6 @@ Documentation=man:podman-system-service(1)
StartLimitIntervalSec=0
[Service]
-Type=simple
+Type=notify
+KillMode=process
ExecStart=/usr/bin/podman system service