git: b6ee66a16fcb - main - sysutils/podman: update to 4.6.0

From: Doug Rabson <dfr_at_FreeBSD.org>
Date: Sat, 22 Jul 2023 12:38:06 UTC
The branch main has been updated by dfr:

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

commit b6ee66a16fcb57e0dc9dfccf86ce40ee3ab7ba18
Author:     Doug Rabson <dfr@FreeBSD.org>
AuthorDate: 2023-07-07 12:18:19 +0000
Commit:     Doug Rabson <dfr@FreeBSD.org>
CommitDate: 2023-07-22 12:36:47 +0000

    sysutils/podman: update to 4.6.0
    
    Approved by: lwhsu
---
 sysutils/podman/Makefile                           |  4 +--
 sysutils/podman/distinfo                           |  6 ++--
 ...thub.com_containers_common_pkg_config_config.go | 11 +++++++
 ...hub.com_containers_common_pkg_config_default.go | 11 +++++++
 sysutils/podman/files/podman.in                    | 16 +++++++---
 sysutils/podman/files/podman_service.in            | 37 ++++++++++++++++++++++
 sysutils/podman/pkg-plist                          |  2 ++
 7 files changed, 78 insertions(+), 9 deletions(-)

diff --git a/sysutils/podman/Makefile b/sysutils/podman/Makefile
index 2aab47ccc394..2863dc20d3d8 100644
--- a/sysutils/podman/Makefile
+++ b/sysutils/podman/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	podman
 DISTVERSIONPREFIX=	v
-DISTVERSION=	4.5.1
+DISTVERSION=	4.6.0
 CATEGORIES=	sysutils
 
 MAINTAINER=	dfr@FreeBSD.org
@@ -19,7 +19,7 @@ RUN_DEPENDS=	conmon:sysutils/conmon \
 		ocijail:sysutils/ocijail
 
 USES=		gmake go:no_targets pkgconfig python:build shebangfix
-USE_RC_SUBR=	podman
+USE_RC_SUBR=	podman podman_service
 
 SHEBANG_FILES=	${WRKSRC}/hack/markdown-preprocess
 MAKE_ARGS=	SHELL=${LOCALBASE}/bin/bash
diff --git a/sysutils/podman/distinfo b/sysutils/podman/distinfo
index 2682cd62e28e..b49edcc0e33b 100644
--- a/sysutils/podman/distinfo
+++ b/sysutils/podman/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1685884846
-SHA256 (containers-podman-v4.5.1_GH0.tar.gz) = ee2c8b02b7fe301057f0382637b995a9c6c74e8d530692d6918e4c509ade6e39
-SIZE (containers-podman-v4.5.1_GH0.tar.gz) = 17425208
+TIMESTAMP = 1689924226
+SHA256 (containers-podman-v4.6.0_GH0.tar.gz) = a1b4fd7c3a9b850ab4b405f8d03115248a780c89b11e7d8ffbba2d1f668f678e
+SIZE (containers-podman-v4.6.0_GH0.tar.gz) = 17458408
diff --git a/sysutils/podman/files/patch-vendor_github.com_containers_common_pkg_config_config.go b/sysutils/podman/files/patch-vendor_github.com_containers_common_pkg_config_config.go
new file mode 100644
index 000000000000..cb249eba1969
--- /dev/null
+++ b/sysutils/podman/files/patch-vendor_github.com_containers_common_pkg_config_config.go
@@ -0,0 +1,11 @@
+--- vendor/github.com/containers/common/pkg/config/config.go.orig	2023-07-21 12:24:32 UTC
++++ vendor/github.com/containers/common/pkg/config/config.go
+@@ -51,7 +51,7 @@ const (
+ 	BoltDBStateStore RuntimeStateStore = iota
+ )
+ 
+-var validImageVolumeModes = []string{"bind", "tmpfs", "ignore"}
++var validImageVolumeModes = []string{"nullfs", "tmpfs", "ignore"}
+ 
+ // ProxyEnv is a list of Proxy Environment variables
+ var ProxyEnv = []string{
diff --git a/sysutils/podman/files/patch-vendor_github.com_containers_common_pkg_config_default.go b/sysutils/podman/files/patch-vendor_github.com_containers_common_pkg_config_default.go
new file mode 100644
index 000000000000..22dc4f54d2b8
--- /dev/null
+++ b/sysutils/podman/files/patch-vendor_github.com_containers_common_pkg_config_default.go
@@ -0,0 +1,11 @@
+--- vendor/github.com/containers/common/pkg/config/default.go.orig	2023-07-21 12:24:39 UTC
++++ vendor/github.com/containers/common/pkg/config/default.go
+@@ -28,7 +28,7 @@ const (
+ 	_defaultTransport = "docker://"
+ 
+ 	// _defaultImageVolumeMode is a mode to handle built-in image volumes.
+-	_defaultImageVolumeMode = "bind"
++	_defaultImageVolumeMode = "nullfs"
+ )
+ 
+ var (
diff --git a/sysutils/podman/files/podman.in b/sysutils/podman/files/podman.in
index 89c5a95d4a8f..653f7cd25507 100755
--- a/sysutils/podman/files/podman.in
+++ b/sysutils/podman/files/podman.in
@@ -26,16 +26,24 @@ start_cmd="podman_start"
 stop_cmd="podman_stop"
 restart_cmd="podman_stop && podman_start"
 
+# Turn newlines into spaces to avoid line breaks in log messages
+container_list=$(
+    ${podman} container ls --all --filter restart-policy=always -q \
+        | tr '\n' ' ')
+
 podman_start()
 {
-    ${podman} ${podman_flags} start --all --filter restart-policy=always
+    if [ -n "${container_list}" ]; then
+	startmsg "Starting podman containers: ${container_list}"
+	${podman} ${podman_flags} start ${container_list}
+    fi
 }
 
 podman_stop()
 {
-    list=$(${podman} container ls --filter restart-policy=always -q)
-    if [ -n "${list}" ]; then
-        ${podman} ${podman_flags} stop ${list}
+    if [ -n "${container_list}" ]; then
+	echo "Stopping podman containers: ${container_list}"
+        ${podman} ${podman_flags} stop ${container_list}
     fi
 }
 
diff --git a/sysutils/podman/files/podman_service.in b/sysutils/podman/files/podman_service.in
new file mode 100755
index 000000000000..0ecb1b0197f3
--- /dev/null
+++ b/sysutils/podman/files/podman_service.in
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# Podman API Service
+
+# PROVIDE: podman_service
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+# 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
+#
+
+. /etc/rc.subr
+
+name=podman_service
+rcvar=${name}_enable
+
+: ${podman_service_enable:=NO}
+: ${podman_service_flags:="--time=0"}
+: ${podman_service_log:="/var/log/podman.log"}
+
+command="%%PREFIX%%/bin/podman"
+pidfile="/var/run/$name.pid"
+start_cmd="podman_start"
+
+podman_start()
+{
+    startmsg "Starting ${name}."
+    /usr/sbin/daemon -o ${podman_service_log} -f -p ${pidfile} ${command} system service ${podman_service_flags}
+}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/sysutils/podman/pkg-plist b/sysutils/podman/pkg-plist
index 6ed5aee4644f..34d9e1ff46ff 100644
--- a/sysutils/podman/pkg-plist
+++ b/sysutils/podman/pkg-plist
@@ -1,4 +1,5 @@
 bin/podman
+bin/podmansh
 bin/podman-remote
 @dir libexec/podman
 share/bash-completion/completions/podman
@@ -214,6 +215,7 @@ share/man/man1/podman-volume-unmount.1.gz
 share/man/man1/podman-volume.1.gz
 share/man/man1/podman-wait.1.gz
 share/man/man1/podman.1.gz
+share/man/man1/podmansh.1.gz
 share/man/man5/quadlet.5.gz
 share/man/man5/podman-systemd.unit.5.gz
 share/zsh/site-functions/_podman