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
This commit is contained in:
Doug Rabson 2022-11-16 12:46:31 +00:00 committed by Dave Cottlehuber
parent 780bdacd97
commit da130a1d62
6 changed files with 271 additions and 0 deletions

View File

@ -1017,6 +1017,7 @@
SUBDIR += plconfig
SUBDIR += pmt
SUBDIR += pnscan
SUBDIR += podman
SUBDIR += polkit
SUBDIR += polkit-gnome
SUBDIR += polkit-qt

42
sysutils/podman/Makefile Normal file
View File

@ -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>

3
sysutils/podman/distinfo Normal file
View File

@ -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

View File

@ -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.

View File

@ -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

212
sysutils/podman/pkg-plist Normal file
View File

@ -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