git: da130a1d6225 - main - sysutils/podman: new port

From: Dave Cottlehuber <dch_at_FreeBSD.org>
Date: Wed, 16 Nov 2022 12:46:40 UTC
The branch main has been updated by dch:

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

commit da130a1d6225ef328a5592c1149dcb2eb8d12bd5
Author:     Doug Rabson <dfr@FreeBSD.org>
AuthorDate: 2022-11-16 12:46:31 +0000
Commit:     Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2022-11-16 12:46:31 +0000

    sysutils/podman: new port
    
    podman (Pod Manager) is a fully featured container engine that is a simple
    daemonless tool.  podman provides a Docker-CLI comparable command line
    that eases the transition from other container engines and allows the
    management of pods, containers and images.  Simply put: alias docker=podman.
    
    podman uses Buildah(1) internally to create container images.  Both tools
    share image (not container) storage, hence each can use or manipulate
    images (but not containers) created by the other.
    
    PR:             267184
    Reviewed by:    arrowd
    Reviewed by:    dch
    Sponsored by:   SkunkWerks, GmbH
    Differential Revision:  https://reviews.freebsd.org/D37324
---
 sysutils/Makefile           |   1 +
 sysutils/podman/Makefile    |  42 +++++++++
 sysutils/podman/distinfo    |   3 +
 sysutils/podman/pkg-descr   |   9 ++
 sysutils/podman/pkg-message |   4 +
 sysutils/podman/pkg-plist   | 212 ++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 271 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 7c9480e7f776..c521a51ad61c 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1017,6 +1017,7 @@
     SUBDIR += plconfig
     SUBDIR += pmt
     SUBDIR += pnscan
+    SUBDIR += podman
     SUBDIR += polkit
     SUBDIR += polkit-gnome
     SUBDIR += polkit-qt
diff --git a/sysutils/podman/Makefile b/sysutils/podman/Makefile
new file mode 100644
index 000000000000..b30683a29acb
--- /dev/null
+++ b/sysutils/podman/Makefile
@@ -0,0 +1,42 @@
+PORTNAME=	podman
+DISTVERSION=	4.4.0.dev
+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:3.7+,build shebangfix
+
+SHEBANG_FILES=	${WRKSRC}/hack/markdown-preprocess
+
+# 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
+GH_TAGNAME=	d319860
+
+INSTALL_TARGET=	install install.completions
+
+# Temporary until https://github.com/containers/podman/pull/16422 lands
+do-install:
+	${GMAKE} -C ${WRKSRC} DESTDIR=${STAGEDIR} GO=${GO_CMD} install
+	${GMAKE} -C ${WRKSRC} DESTDIR=${STAGEDIR} GO=${GO_CMD} install.completions
+	${RM} ${STAGEDIR}${PREFIX}/lib/tmpfiles.d/podman.conf
+	${RMDIR} ${STAGEDIR}${PREFIX}/lib/tmpfiles.d
+
+.include <bsd.port.mk>
diff --git a/sysutils/podman/distinfo b/sysutils/podman/distinfo
new file mode 100644
index 000000000000..ea70f1196263
--- /dev/null
+++ b/sysutils/podman/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1667387841
+SHA256 (containers-podman-4.4.0.dev-d319860_GH0.tar.gz) = 4fa3ccb4c8cc6abe745652bf77141da2729541ada13f9a8bacee5f39a6e29e93
+SIZE (containers-podman-4.4.0.dev-d319860_GH0.tar.gz) = 12865441
diff --git a/sysutils/podman/pkg-descr b/sysutils/podman/pkg-descr
new file mode 100644
index 000000000000..9a5014234e7c
--- /dev/null
+++ b/sysutils/podman/pkg-descr
@@ -0,0 +1,9 @@
+podman (Pod Manager) is a fully featured container engine that is a
+simple daemonless tool.  podman provides a Docker-CLI comparable
+command line that eases the transition from other container engines
+and allows the management of pods, containers and images.  Simply put:
+alias docker=podman.
+
+podman uses Buildah(1) internally to create container images.  Both
+tools share image (not container) storage, hence each can use or
+manipulate images (but not containers) created by the other.
diff --git a/sysutils/podman/pkg-message b/sysutils/podman/pkg-message
new file mode 100644
index 000000000000..6b311a50f0a1
--- /dev/null
+++ b/sysutils/podman/pkg-message
@@ -0,0 +1,4 @@
+This port of the podman container engine is based on unreleased
+sources and should be used for evaluation and testing purposes only.
+
+$ sudo podman run --rm docker.io/dougrabson/hello
diff --git a/sysutils/podman/pkg-plist b/sysutils/podman/pkg-plist
new file mode 100644
index 000000000000..deea4156eefd
--- /dev/null
+++ b/sysutils/podman/pkg-plist
@@ -0,0 +1,212 @@
+bin/podman
+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-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-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.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-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-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/zsh/site-functions/_podman
+share/zsh/site-functions/_podman-remote