Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Feb 2026 19:48:29 +0000
From:      Dave Cottlehuber <dch@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 2c53428ae117 - main - sysutils/podman: Allow setting ownership on auto-created socket
Message-ID:  <699b5d8d.46613.bc82470@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by dch:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2c53428ae117108d41eb4e19935ed98b478f4f7f

commit 2c53428ae117108d41eb4e19935ed98b478f4f7f
Author:     Dave Cottlehuber <dch@FreeBSD.org>
AuthorDate: 2026-02-22 19:48:04 +0000
Commit:     Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2026-02-22 19:48:04 +0000

    sysutils/podman: Allow setting ownership on auto-created socket
    
    The podman daemon auto-creates a socket on startup, along with parent
    directory, and is always run as root. It is often useful to have another
    proxy like haproxy or nginx provide more sophisticed security, and these
    daemons do not need root privileges.
    
    Differential Revision:  https://reviews.freebsd.org/D55339
    
    Reviewed by:    arrowd
    Approved by:    dfr
---
 sysutils/podman/Makefile        |  2 +-
 sysutils/podman/files/podman.in | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/sysutils/podman/Makefile b/sysutils/podman/Makefile
index 49a8101c3618..8d09cfe3fec0 100644
--- a/sysutils/podman/Makefile
+++ b/sysutils/podman/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	podman
 DISTVERSIONPREFIX=	v
 DISTVERSION=	5.7.1
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	sysutils
 
 MAINTAINER=	dfr@FreeBSD.org
diff --git a/sysutils/podman/files/podman.in b/sysutils/podman/files/podman.in
index 653f7cd25507..13aa7b8ec94d 100755
--- a/sysutils/podman/files/podman.in
+++ b/sysutils/podman/files/podman.in
@@ -20,9 +20,17 @@ rcvar=${name}_enable
 
 : ${podman_enable:=NO}
 : ${podman_flags:="--noout"}
+: ${podman_user:="www"}
+: ${podman_group:="www"}
+: ${podman_mode:="0770"}
+: ${podman_rundir:="/var/run/podman"}
+: ${podman_socket:="${podman_rundir}/podman.sock"}
+: ${podman_socket_timeout:=5}
 
 podman=%%PREFIX%%/bin/${name}
+start_precmd="podman_prestart"
 start_cmd="podman_start"
+start_postcmd="podman_poststart"
 stop_cmd="podman_stop"
 restart_cmd="podman_stop && podman_start"
 
@@ -31,6 +39,30 @@ container_list=$(
     ${podman} container ls --all --filter restart-policy=always -q \
         | tr '\n' ' ')
 
+podman_prestart()
+{
+    install -d -o ${podman_user} -g ${podman_group} -m ${podman_mode} ${podman_rundir}
+}
+
+podman_poststart()
+{
+    local _timeout=${podman_socket_timeout}
+    local _elapsed=0
+
+    while [ ${_elapsed} -lt ${_timeout} ]; do
+        if [ -S "${podman_socket}" ]; then
+            chown ${podman_user}:${podman_group} "${podman_socket}"
+            chmod ${podman_mode} "${podman_socket}"
+            return 0
+        fi
+        sleep 1
+        _elapsed=$((_elapsed + 1))
+    done
+
+    warn "Timed out waiting for ${podman_socket} after ${_timeout} seconds"
+    return 1
+}
+
 podman_start()
 {
     if [ -n "${container_list}" ]; then


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?699b5d8d.46613.bc82470>