diff --git a/sysutils/podman/Makefile b/sysutils/podman/Makefile index 2aab47ccc394..2863dc20d3d8 100644 --- a/sysutils/podman/Makefile +++ b/sysutils/podman/Makefile @@ -1,43 +1,43 @@ PORTNAME= podman DISTVERSIONPREFIX= v -DISTVERSION= 4.5.1 +DISTVERSION= 4.6.0 CATEGORIES= sysutils MAINTAINER= dfr@FreeBSD.org COMMENT= Manage Pods, Containers and Container Images WWW= https://podman.io/ LICENSE= GPLv2 BUILD_DEPENDS= bash:shells/bash \ 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: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 # Parallel builds are flaky due to some kind of file race in the # markdown-preprocess phase of the docs build. MAKE_JOBS_UNSAFE= yes USE_GITHUB= yes GH_ACCOUNT= containers GH_PROJECT= podman INSTALL_TARGET= install install.completions # Temporary until https://github.com/containers/podman/pull/16422 lands do-install: ${GMAKE} -C ${WRKSRC} ${MAKE_ARGS} DESTDIR=${STAGEDIR} GO=${GO_CMD} install ${GMAKE} -C ${WRKSRC} ${MAKE_ARGS} DESTDIR=${STAGEDIR} GO=${GO_CMD} install.completions ${RM} ${STAGEDIR}${PREFIX}/lib/tmpfiles.d/podman.conf .include 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 @@ -1,43 +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=%%PREFIX%%/bin/${name} 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 } load_rc_config ${name} run_rc_command "$1" 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,220 +1,222 @@ bin/podman +bin/podmansh bin/podman-remote @dir libexec/podman share/bash-completion/completions/podman share/bash-completion/completions/podman-remote share/fish/vendor_completions.d/podman-remote.fish share/fish/vendor_completions.d/podman.fish share/man/man1/podman-attach.1.gz share/man/man1/podman-auto-update.1.gz share/man/man1/podman-build.1.gz share/man/man1/podman-commit.1.gz share/man/man1/podman-completion.1.gz share/man/man1/podman-container-attach.1.gz share/man/man1/podman-container-checkpoint.1.gz share/man/man1/podman-container-cleanup.1.gz share/man/man1/podman-container-clone.1.gz share/man/man1/podman-container-commit.1.gz share/man/man1/podman-container-cp.1.gz share/man/man1/podman-container-create.1.gz share/man/man1/podman-container-diff.1.gz share/man/man1/podman-container-exec.1.gz share/man/man1/podman-container-exists.1.gz share/man/man1/podman-container-export.1.gz share/man/man1/podman-container-init.1.gz share/man/man1/podman-container-inspect.1.gz share/man/man1/podman-container-kill.1.gz share/man/man1/podman-container-list.1.gz share/man/man1/podman-container-logs.1.gz share/man/man1/podman-container-ls.1.gz share/man/man1/podman-container-mount.1.gz share/man/man1/podman-container-pause.1.gz share/man/man1/podman-container-port.1.gz share/man/man1/podman-container-prune.1.gz share/man/man1/podman-container-ps.1.gz share/man/man1/podman-container-rename.1.gz share/man/man1/podman-container-restart.1.gz share/man/man1/podman-container-restore.1.gz share/man/man1/podman-container-rm.1.gz share/man/man1/podman-container-run.1.gz share/man/man1/podman-container-runlabel.1.gz share/man/man1/podman-container-start.1.gz share/man/man1/podman-container-stats.1.gz share/man/man1/podman-container-stop.1.gz share/man/man1/podman-container-top.1.gz share/man/man1/podman-container-umount.1.gz share/man/man1/podman-container-unmount.1.gz share/man/man1/podman-container-unpause.1.gz share/man/man1/podman-container-update.1.gz share/man/man1/podman-container-wait.1.gz share/man/man1/podman-container.1.gz share/man/man1/podman-cp.1.gz share/man/man1/podman-create.1.gz share/man/man1/podman-diff.1.gz share/man/man1/podman-events.1.gz share/man/man1/podman-exec.1.gz share/man/man1/podman-export.1.gz share/man/man1/podman-generate-kube.1.gz share/man/man1/podman-generate-spec.1.gz share/man/man1/podman-generate-systemd.1.gz share/man/man1/podman-generate.1.gz share/man/man1/podman-healthcheck-run.1.gz share/man/man1/podman-healthcheck.1.gz share/man/man1/podman-help.1.gz share/man/man1/podman-history.1.gz share/man/man1/podman-image-build.1.gz share/man/man1/podman-image-diff.1.gz share/man/man1/podman-image-exists.1.gz share/man/man1/podman-image-history.1.gz share/man/man1/podman-image-import.1.gz share/man/man1/podman-image-inspect.1.gz share/man/man1/podman-image-list.1.gz share/man/man1/podman-image-load.1.gz share/man/man1/podman-image-ls.1.gz share/man/man1/podman-image-mount.1.gz share/man/man1/podman-image-prune.1.gz share/man/man1/podman-image-pull.1.gz share/man/man1/podman-image-push.1.gz share/man/man1/podman-image-rm.1.gz share/man/man1/podman-image-save.1.gz share/man/man1/podman-image-scp.1.gz share/man/man1/podman-image-search.1.gz share/man/man1/podman-image-sign.1.gz share/man/man1/podman-image-tag.1.gz share/man/man1/podman-image-tree.1.gz share/man/man1/podman-image-trust.1.gz share/man/man1/podman-image-umount.1.gz share/man/man1/podman-image-unmount.1.gz share/man/man1/podman-image-untag.1.gz share/man/man1/podman-image.1.gz share/man/man1/podman-images.1.gz share/man/man1/podman-import.1.gz share/man/man1/podman-info.1.gz share/man/man1/podman-init.1.gz share/man/man1/podman-inspect.1.gz share/man/man1/podman-kill.1.gz share/man/man1/podman-kube-apply.1.gz share/man/man1/podman-kube-down.1.gz share/man/man1/podman-kube-generate.1.gz share/man/man1/podman-kube-play.1.gz share/man/man1/podman-kube.1.gz share/man/man1/podman-load.1.gz share/man/man1/podman-login.1.gz share/man/man1/podman-logout.1.gz share/man/man1/podman-logs.1.gz share/man/man1/podman-machine-info.1.gz share/man/man1/podman-machine-init.1.gz share/man/man1/podman-machine-inspect.1.gz share/man/man1/podman-machine-list.1.gz share/man/man1/podman-machine-ls.1.gz share/man/man1/podman-machine-os-apply.1.gz share/man/man1/podman-machine-os.1.gz share/man/man1/podman-machine-rm.1.gz share/man/man1/podman-machine-set.1.gz share/man/man1/podman-machine-ssh.1.gz share/man/man1/podman-machine-start.1.gz share/man/man1/podman-machine-stop.1.gz share/man/man1/podman-machine.1.gz share/man/man1/podman-manifest-add.1.gz share/man/man1/podman-manifest-annotate.1.gz share/man/man1/podman-manifest-create.1.gz share/man/man1/podman-manifest-exists.1.gz share/man/man1/podman-manifest-inspect.1.gz share/man/man1/podman-manifest-push.1.gz share/man/man1/podman-manifest-remove.1.gz share/man/man1/podman-manifest-rm.1.gz share/man/man1/podman-manifest.1.gz share/man/man1/podman-mount.1.gz share/man/man1/podman-network-connect.1.gz share/man/man1/podman-network-create.1.gz share/man/man1/podman-network-disconnect.1.gz share/man/man1/podman-network-exists.1.gz share/man/man1/podman-network-inspect.1.gz share/man/man1/podman-network-ls.1.gz share/man/man1/podman-network-prune.1.gz share/man/man1/podman-network-reload.1.gz share/man/man1/podman-network-rm.1.gz share/man/man1/podman-network-update.1.gz share/man/man1/podman-network.1.gz share/man/man1/podman-pause.1.gz share/man/man1/podman-play-kube.1.gz share/man/man1/podman-pod-clone.1.gz share/man/man1/podman-pod-create.1.gz share/man/man1/podman-pod-exists.1.gz share/man/man1/podman-pod-inspect.1.gz share/man/man1/podman-pod-kill.1.gz share/man/man1/podman-pod-logs.1.gz share/man/man1/podman-pod-pause.1.gz share/man/man1/podman-pod-prune.1.gz share/man/man1/podman-pod-ps.1.gz share/man/man1/podman-pod-restart.1.gz share/man/man1/podman-pod-rm.1.gz share/man/man1/podman-pod-start.1.gz share/man/man1/podman-pod-stats.1.gz share/man/man1/podman-pod-stop.1.gz share/man/man1/podman-pod-top.1.gz share/man/man1/podman-pod-unpause.1.gz share/man/man1/podman-pod.1.gz share/man/man1/podman-port.1.gz share/man/man1/podman-ps.1.gz share/man/man1/podman-pull.1.gz share/man/man1/podman-push.1.gz share/man/man1/podman-remote.1.gz share/man/man1/podman-rename.1.gz share/man/man1/podman-restart.1.gz share/man/man1/podman-rm.1.gz share/man/man1/podman-rmi.1.gz share/man/man1/podman-run.1.gz share/man/man1/podman-save.1.gz share/man/man1/podman-search.1.gz share/man/man1/podman-secret-create.1.gz share/man/man1/podman-secret-exists.1.gz share/man/man1/podman-secret-inspect.1.gz share/man/man1/podman-secret-ls.1.gz share/man/man1/podman-secret-rm.1.gz share/man/man1/podman-secret.1.gz share/man/man1/podman-start.1.gz share/man/man1/podman-stats.1.gz share/man/man1/podman-stop.1.gz share/man/man1/podman-system-connection-add.1.gz share/man/man1/podman-system-connection-default.1.gz share/man/man1/podman-system-connection-list.1.gz share/man/man1/podman-system-connection-remove.1.gz share/man/man1/podman-system-connection-rename.1.gz share/man/man1/podman-system-connection.1.gz share/man/man1/podman-system-events.1.gz share/man/man1/podman-system-df.1.gz share/man/man1/podman-system-info.1.gz share/man/man1/podman-system-migrate.1.gz share/man/man1/podman-system-prune.1.gz share/man/man1/podman-system-renumber.1.gz share/man/man1/podman-system-reset.1.gz share/man/man1/podman-system-service.1.gz share/man/man1/podman-system.1.gz share/man/man1/podman-tag.1.gz share/man/man1/podman-top.1.gz share/man/man1/podman-umount.1.gz share/man/man1/podman-unmount.1.gz share/man/man1/podman-unpause.1.gz share/man/man1/podman-unshare.1.gz share/man/man1/podman-untag.1.gz share/man/man1/podman-update.1.gz share/man/man1/podman-version.1.gz share/man/man1/podman-volume-create.1.gz share/man/man1/podman-volume-exists.1.gz share/man/man1/podman-volume-export.1.gz share/man/man1/podman-volume-import.1.gz share/man/man1/podman-volume-inspect.1.gz share/man/man1/podman-volume-ls.1.gz share/man/man1/podman-volume-mount.1.gz share/man/man1/podman-volume-prune.1.gz share/man/man1/podman-volume-reload.1.gz share/man/man1/podman-volume-rm.1.gz 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 share/zsh/site-functions/_podman-remote