packages/utils/crun/Makefile

82 lines
2.5 KiB
Makefile
Raw Normal View History

include $(TOPDIR)/rules.mk
PKG_NAME:=crun
crun: Update to version 1.6 This fixes compilation problems with glibc 2.36. Full changelog: * crun-1.6 - runc compatibility: -v now prints the version string. - build: fix build with glibc 2.36. - container: drop intermediate userns custom feature. - cgroup: change the delegate cgroup semantic so that the cgroup is created in the container payload after the cgroup namespace is created. - seccomp: use helper process to send file descriptor to the listener socket. It enables to be notified on every syscall without hanging the main process. - linux: add a fallback to using kill(2) if pidfd_send_signal(2) fails with ENOSYS. - krun: add support for krun-sev. - wasmtime: always grant file system capability for workdir inside the container. - wasmtime: inherit arguments list from the handler instead of the current process. - wasmedge: use released wasmedge library instead of libwasmedge_c.so. * crun-1.5 - add mono based native .NET handler - new Wasmtime backend for running WebAssembly - add support for wasmedge 0.10 and dropping support for wasmedge 0.9.x - dropping support for experimental `WasmEdgeProcess` from wasmedge handler - honor process user's uid when setting the HOME environment variable - create the current working directory if it is missing in the container - fallback to using a tmpfs mount if umount of /sys and /proc fails - fallback to netlink to setup lo device - fix creating devices in the rootfs - fallback to using io.weight if io.bfq.weight doesn't exist - remove tun/tap from the default allow list - linux: devices mounts have noexec and nosuid - fix copyup of files from the container to the tmpfs - honor $PATH for newgidmap and newguidmap - krun: limit the number of vCPUs to 8 - cgroup: add support for cpu.idle Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-11-06 12:41:47 +00:00
PKG_VERSION:=1.6
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/containers/crun.git
crun: Update to version 1.6 This fixes compilation problems with glibc 2.36. Full changelog: * crun-1.6 - runc compatibility: -v now prints the version string. - build: fix build with glibc 2.36. - container: drop intermediate userns custom feature. - cgroup: change the delegate cgroup semantic so that the cgroup is created in the container payload after the cgroup namespace is created. - seccomp: use helper process to send file descriptor to the listener socket. It enables to be notified on every syscall without hanging the main process. - linux: add a fallback to using kill(2) if pidfd_send_signal(2) fails with ENOSYS. - krun: add support for krun-sev. - wasmtime: always grant file system capability for workdir inside the container. - wasmtime: inherit arguments list from the handler instead of the current process. - wasmedge: use released wasmedge library instead of libwasmedge_c.so. * crun-1.5 - add mono based native .NET handler - new Wasmtime backend for running WebAssembly - add support for wasmedge 0.10 and dropping support for wasmedge 0.9.x - dropping support for experimental `WasmEdgeProcess` from wasmedge handler - honor process user's uid when setting the HOME environment variable - create the current working directory if it is missing in the container - fallback to using a tmpfs mount if umount of /sys and /proc fails - fallback to netlink to setup lo device - fix creating devices in the rootfs - fallback to using io.weight if io.bfq.weight doesn't exist - remove tun/tap from the default allow list - linux: devices mounts have noexec and nosuid - fix copyup of files from the container to the tmpfs - honor $PATH for newgidmap and newguidmap - krun: limit the number of vCPUs to 8 - cgroup: add support for cpu.idle Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-11-06 12:41:47 +00:00
PKG_SOURCE_DATE:=2022-09-07
PKG_SOURCE_VERSION:=18cf2efbb8feb2b2f20e316520e0fd0b6c41ef4d
PKG_MIRROR_HASH:=cd7d6fb4c58f73eff6060268d08a77404731f1cc913635add4a2e340d3c455af
PKG_BUILD_DEPENDS:=argp-standalone
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
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:=@!arc +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 <git-version.h>/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/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcrun.* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,crun))