From 08abbfd9b41cf6625175f5a6e46f1beb5f09b570 Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Tue, 30 Mar 2021 00:42:15 +0300 Subject: [PATCH] crun: add package crun crun is the prefered container run-time of podman, it's faster than runc and has a much lower memory footprint. Signed-off-by: Daniel Golle Signed-off-by: Oskari Rauta (cherry picked from commit 01d1a4969e258f7b08a1284e30bfa9bceba62b9c) Signed-off-by: Josef Schlehofer Fixes: #15870 --- utils/crun/Makefile | 82 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 utils/crun/Makefile diff --git a/utils/crun/Makefile b/utils/crun/Makefile new file mode 100644 index 0000000000..4a6b75854a --- /dev/null +++ b/utils/crun/Makefile @@ -0,0 +1,82 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=crun +PKG_VERSION:=0.18 +PKG_RELEASE:=$(AUTORELEASE) + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/containers/crun.git +PKG_SOURCE_DATE:=2021-03-18 +PKG_SOURCE_VERSION:=496e81bdd69f117f10e4477e4204e4611a94b68f +PKG_MIRROR_HASH:=26941b0d84bbeabeb5e982af48d131f55d0aa16f4a2f2ca3279a5c812cdeea8b + +PKG_BUILD_DEPENDS:=argp-standalone +PKG_BUILD_PARALLEL:=1 +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +PKG_MAINTAINER:=Oskari Rauta +PKG_LICENSE:=GPL-2.0-or-later +PKG_LICENSE_FILES:=COPYING + +include $(INCLUDE_DIR)/package.mk + +define Package/crun + SECTION:=utils + CATEGORY:=Utilities + TITLE:=crun + URL:=https://github.com/containers/crun + DEPENDS:=+libseccomp +libcap +endef + +define Package/crun/description + A fast and low-memory footprint OCI Container Runtime fully written in C. +endef + +CONFIGURE_ARGS+= \ + --disable-systemd \ + --enable-embedded-yajl \ + --enable-caps \ + --enable-dl \ + --enable-seccomp \ + --enable-bpf + +define Build/Prepare + $(call Build/Prepare/Default) + $(SED) '/#include /d' $(PKG_BUILD_DIR)/src/crun.c +endef + +define Build/Configure + $(call Build/Configure/Default) + + $(SED) '/#define PACKAGE \"/d' $(PKG_BUILD_DIR)/config.h + $(SED) '/#define VERSION \"/d' $(PKG_BUILD_DIR)/config.h + $(SED) '/#define GIT_VERSION \"/d' $(PKG_BUILD_DIR)/config.h + $(SED) '/#define PACKAGE_BUGREPORT \"/d' $(PKG_BUILD_DIR)/config.h + $(SED) '/#define PACKAGE_NAME \"/d' $(PKG_BUILD_DIR)/config.h + $(SED) '/#define PACKAGE_STRING \"/d' $(PKG_BUILD_DIR)/config.h + $(SED) '/#define PACKAGE_TARNAME \"/d' $(PKG_BUILD_DIR)/config.h + $(SED) '/#define PACKAGE_VERSION \"/d' $(PKG_BUILD_DIR)/config.h + + echo "#define PACKAGE \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h + echo "#define VERSION \"$(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h + echo "#define PACKAGE_NAME \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h + echo "#define PACKAGE_VERSION \"$(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h + echo "#define PACKAGE_STRING \"$(PKG_NAME) $(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h + echo "#define PACKAGE_TARNAME \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h + echo "#define PACKAGE_BUGREPORT \"bugs@openwrt.org\"" >> $(PKG_BUILD_DIR)/config.h + echo "#define GIT_VERSION \"$(PKG_SOURCE_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h +endef + +define Package/crun/install + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/crun $(1)/usr/bin/ +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/crun $(1)/usr/bin/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcrun.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,crun)) -- 2.30.2