################################################################################ # # podman # ################################################################################ PODMAN_VERSION = 4.9.5 PODMAN_SITE = $(call github,containers,podman,v$(PODMAN_VERSION)) PODMAN_LICENSE = Apache-2.0 PODMAN_LICENSE_FILES = LICENSE PODMAN_CPE_ID_VENDOR = podman_project PODMAN_GOMOD = github.com/containers/podman/v4 PODMAN_BUILD_TARGETS = cmd/podman cmd/rootlessport cmd/quadlet PODMAN_DEPENDENCIES += libgpgme PODMAN_LDFLAGS = \ -X $(PODMAN_GOMOD)/libpod/define.gitCommit=$(PODMAN_VERSION) PODMAN_TAGS = \ btrfs_noversion containers_image_openpgp \ exclude_graphdriver_devicemapper exclude_graphdriver_zfs ifeq ($(BR2_INIT_SYSTEMD),y) PODMAN_TAGS += systemd endif ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) PODMAN_DEPENDENCIES += libapparmor PODMAN_TAGS += apparmor endif ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) PODMAN_TAGS += seccomp PODMAN_DEPENDENCIES += libseccomp host-pkgconf else define PODMAN_SECCOMP_PROFILE $(INSTALL) -D -m 644 $(PODMAN_PKGDIR)/unconfined.conf \ $(TARGET_DIR)/etc/containers/containers.conf endef endif ifeq ($(BR2_PACKAGE_LIBSELINUX),y) PODMAN_TAGS += selinux PODMAN_DEPENDENCIES += libselinux endif ifeq ($(BR2_PACKAGE_PODMAN_DRIVER_BTRFS),y) PODMAN_DEPENDENCIES += btrfs-progs define PODMAN_BTFRS_DRIVER_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS) $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS_POSIX_ACL) endef else PODMAN_TAGS += exclude_graphdriver_btrfs endif ifeq ($(BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER),y) PODMAN_DEPENDENCIES += lvm2 define PODMAN_DEVICEMAPPER_DRIVER_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_MD) $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_DM) $(call KCONFIG_ENABLE_OPT,CONFIG_MD_THIN_PROVISIONING) endef else PODMAN_TAGS += exclude_graphdriver_devicemapper endif ifeq ($(BR2_PACKAGE_PODMAN_DRIVER_VFS),y) PODMAN_DEPENDENCIES += gvfs else PODMAN_TAGS += exclude_graphdriver_vfs endif ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) define PODMAN_BASH_COMPLETION $(INSTALL) -D -m 644 $(@D)/completions/bash/podman \ $(TARGET_DIR)/usr/share/bash-completion/completions/ endef endif define PODMAN_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr \ install.bin $(INSTALL) -d -m 700 $(TARGET_DIR)/etc/cni $(INSTALL) -d -m 700 $(TARGET_DIR)/etc/cni/net.d $(INSTALL) -D -m 644 $(@D)/cni/87-podman-bridge.conflist \ $(TARGET_DIR)/etc/cni/net.d/87-podman-bridge.conflist $(INSTALL) -d -m 755 $(TARGET_DIR)/etc/containers $(INSTALL) -D -m 644 $(PODMAN_PKGDIR)/containers-policy.json \ $(TARGET_DIR)/etc/containers/policy.json $(PODMAN_SECCOMP_PROFILE) $(PODMAN_BASH_COMPLETION) endef define PODMAN_INSTALL_INIT_SYSTEMD $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr \ install.systemd endef define PODMAN_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_PIDS) $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS) $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES) $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_USER_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER) $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_COMMENT) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) $(call KCONFIG_ENABLE_OPT,CONFIG_VETH) $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE) $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) $(PODMAN_BTFRS_DRIVER_CONFIG_FIXUPS) $(PODMAN_DEVICEMAPPER_DRIVER_CONFIG_FIXUPS) endef $(eval $(golang-package))