diff --git a/sysutils/podman/Makefile b/sysutils/podman/Makefile index 8d09cfe3fec0..49a8101c3618 100644 --- a/sysutils/podman/Makefile +++ b/sysutils/podman/Makefile @@ -1,36 +1,36 @@ PORTNAME= podman DISTVERSIONPREFIX= v DISTVERSION= 5.7.1 -PORTREVISION= 4 +PORTREVISION= 3 CATEGORIES= sysutils MAINTAINER= dfr@FreeBSD.org COMMENT= Manage Pods, Containers and Container Images WWW= https://podman.io/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= bash:shells/bash \ ggrep:textproc/gnugrep \ go-md2man:textproc/go-md2man \ gsed:textproc/gsed LIB_DEPENDS= libgpgme.so:security/gpgme RUN_DEPENDS= conmon:sysutils/conmon \ containernetworking-plugins>=0:net/containernetworking-plugins \ containers-common>=0:sysutils/containers-common \ ocijail:sysutils/ocijail USES= gmake go:1.24+,no_targets pkgconfig python:build shebangfix USE_RC_SUBR= podman podman_service SHEBANG_FILES= ${WRKSRC}/hack/markdown-preprocess MAKE_ARGS= SHELL=${LOCALBASE}/bin/bash USE_GITHUB= yes GH_ACCOUNT= containers GH_PROJECT= podman INSTALL_TARGET= install install.completions .include diff --git a/sysutils/podman/files/podman.in b/sysutils/podman/files/podman.in index 13aa7b8ec94d..653f7cd25507 100755 --- a/sysutils/podman/files/podman.in +++ b/sysutils/podman/files/podman.in @@ -1,83 +1,51 @@ #!/bin/sh # Podman startup script - start all containers with restart policy set to always. # PROVIDE: podman # REQUIRE: LOGIN # KEYWORD: shutdown # Add the following to /etc/rc.conf[.local] to enable this service # # podman_enable: Set to NO by default. # Set it to YES to restart containers after restart # podman_flags: Extra flags for podman command (e.g. to set logging level) # . /etc/rc.subr name=podman 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" # 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_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 startmsg "Starting podman containers: ${container_list}" ${podman} ${podman_flags} start ${container_list} fi } podman_stop() { if [ -n "${container_list}" ]; then echo "Stopping podman containers: ${container_list}" ${podman} ${podman_flags} stop ${container_list} fi } load_rc_config ${name} run_rc_command "$1"