From da130a1d6225ef328a5592c1149dcb2eb8d12bd5 Mon Sep 17 00:00:00 2001 From: Doug Rabson Date: Wed, 16 Nov 2022 12:46:31 +0000 Subject: [PATCH] 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(+) create mode 100644 sysutils/podman/Makefile create mode 100644 sysutils/podman/distinfo create mode 100644 sysutils/podman/pkg-descr create mode 100644 sysutils/podman/pkg-message create mode 100644 sysutils/podman/pkg-plist 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 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