Page MenuHomeFreeBSD

D55455.id172502.diff
No OneTemporary

D55455.id172502.diff

Index: sysutils/podman/Makefile
===================================================================
--- sysutils/podman/Makefile
+++ sysutils/podman/Makefile
@@ -1,7 +1,7 @@
PORTNAME= podman
DISTVERSIONPREFIX= v
DISTVERSION= 5.7.1
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= sysutils
MAINTAINER= dfr@FreeBSD.org
Index: sysutils/podman/files/podman_service.in
===================================================================
--- sysutils/podman/files/podman_service.in
+++ sysutils/podman/files/podman_service.in
@@ -8,11 +8,16 @@
# Add the following to /etc/rc.conf[.local] to enable this service
#
-# podman_service_enable: Set to NO by default.
-# Set it to YES to start podman API service daemon
-# podman_service_flags: Extra flags for podman command (e.g. to set logging level)
-# podman_service_log: Path to log file for podman stderr output
-#
+# podman_service_enable: Set to NO by default.
+# Set it to YES to start podman API service daemon
+# podman_service_flags: Extra flags for podman command (e.g. to set logging level)
+# podman_service_log: Path to log file for podman stderr output
+# podman_service_user: Optional user to own API socket
+# podman_service_group: Optional group to own API socket
+# podman_service_mode: Optional mode to chmod API socket to
+# podman_service_rundir: Optional dir to override location of API socket
+# podman_service_socket: Optional name of API socket inside rundir
+# podman_service_socket_timeout: Optional seconds to wait for creation of API socket
. /etc/rc.subr
@@ -20,12 +25,44 @@
rcvar=${name}_enable
: ${podman_service_enable:=NO}
+: ${podman_service_user:="root"}
+: ${podman_service_group:="wheel"}
+: ${podman_service_mode:="0700"}
+: ${podman_service_rundir:="/var/run/podman"}
+: ${podman_service_socket:="${podman_service_rundir}/podman.sock"}
+: ${podman_service_socket_timeout:=5}
: ${podman_service_flags:="--time=0"}
: ${podman_service_log:="/var/log/podman.log"}
command="%%PREFIX%%/bin/podman"
pidfile="/var/run/$name.pid"
+start_precmd="podman_prestart"
start_cmd="podman_start"
+start_postcmd="podman_poststart"
+
+podman_prestart()
+{
+ install -d -o ${podman_service_user} -g ${podman_service_group} -m ${podman_service_mode} ${podman_service_rundir}
+}
+
+podman_poststart()
+{
+ local _timeout=${podman_service_socket_timeout}
+ local _elapsed=0
+
+ while [ ${_elapsed} -lt ${_timeout} ]; do
+ if [ -S "${podman_service_socket}" ]; then
+ chown ${podman_service_user}:${podman_service_group} "${podman_service_socket}"
+ chmod ${podman_service_mode} "${podman_service_socket}"
+ return 0
+ fi
+ sleep 1
+ _elapsed=$((_elapsed + 1))
+ done
+
+ warn "Timed out waiting for ${podman_service_socket} after ${_timeout} seconds"
+ return 1
+}
podman_start()
{

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 27, 9:22 PM (2 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37418463
Default Alt Text
D55455.id172502.diff (2 KB)

Event Timeline