Tool and library for running OCI-based containers in pods
| runtime dependencies | iptables (Networking applications) |
|---|---|
| libgpgme (Libraries/Crypto) | |
| libseccomp (Libraries/Other) | |
| crun | |
| skopeo | |
| slirp4netns | |
| conmon | |
| make dependencies | libgpgme (Libraries/Crypto) |
| libseccomp (Libraries/Other) | |
| systemd (System tools) | |
| apparmor (Security) | |
| git (Development tools) | |
| btrfs-progs (Filesystem and flash utilities) | |
| device-mapper | |
| go | |
| go-md2man |
mkdir /data/buildroot/package/podman
cat > /data/buildroot/package/podman/Config.in<< 'EOF'
config BR2_PACKAGE_PODMAN
bool "podman"
depends on BR2_PACKAGE_LIBGPGME
depends on BR2_PACKAGE_CRUN
depends on BR2_PACKAGE_IPTABLES
depends on BR2_PACKAGE_SKOPEO
depends on BR2_PACKAGE_SLIRP4NETNS
help
Tool and library for running OCI-based containers in pods
EOF
#############################################################
#
# podman
#
#############################################################
PODMAN_VERSION = 4.0.1
PODMAN_SOURCE = v$(PODMAN_VERSION).tar.gz
PODMAN_SITE = https://github.com/containers/podman/archive/refs/tags
PODMAN_DEPENDENCIES = crun iptables libgpgme skopeo slirp4netns
define PODMAN_BUILD_CMDS
cd $(@D)/ && \
BUILDTAGS='apparmor seccomp systemd' \
CGO_CPPFLAGS="${CPPFLAGS}" \
CGO_CFLAGS="${CFLAGS}" \
CGO_CXXFLAGS="${CXXFLAGS}" \
CGO_LDFLAGS="${LDFLAGS}" \
GOFLAGS="-buildmode=pie -trimpath" \
PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig/" GOROOT=/go GOPATH=$(@D)/go \
make EXTRA_LDFLAGS='-s -w -linkmode=external'
endef
define PODMAN_INSTALL_TARGET_CMDS
cd $(@D)/ && \
GOROOT=/go GOPATH=$(@D)/go make install install.completions DESTDIR="${TARGET_DIR}" PREFIX=/usr LIBEXECDIR=/usr/lib
endef
$(eval $(generic-package))
EOF
sed -i '/menu "Custom packages"/a source "package/podman/Config.in' /data/buildroot/package/Config.in