From 00b86168bd3c575a740696eaf25f31f01d178b4b Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 17 Mar 2024 18:11:48 +0100 Subject: apk: add package APK (Alpine Package Keeper) is the package manager of Alpine Linux and has multiple advantages over OPKG. While Alpine uses APK version 2, this commit adds version 3 with a heavily optimised database structure and additional feature making it suitable for OpenWrt. This commit will be followed by many more to add APK build capabilities to the OpenWrt build system, firstly enabling side by side builds of APK and OPKG packages, later replacing OPKG entirely. Signed-off-by: Paul Spooren --- package/system/apk/Makefile | 87 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 package/system/apk/Makefile (limited to 'package/system/apk/Makefile') diff --git a/package/system/apk/Makefile b/package/system/apk/Makefile new file mode 100644 index 0000000000..912ddc253e --- /dev/null +++ b/package/system/apk/Makefile @@ -0,0 +1,87 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=apk +PKG_RELEASE:=1 + +PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git +PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2024-04-16 +PKG_SOURCE_VERSION:=ba6c31a5469ef74fb85119508e55de9631ffef41 +PKG_MIRROR_HASH:=3455d5799481add9ece3db685576d58be6303f3a13140133979b965cbd3c9966 + +PKG_VERSION=3.0.0_pre$(subst -,,$(PKG_SOURCE_DATE)) + +PKG_MAINTAINER:=Paul Spooren +PKG_LICENSE:=GPL-2.0-only +PKG_LICENSE_FILES:=LICENSE +PKG_INSTALL:=1 + +HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST) +HOST_BUILD_DEPENDS:=lua/host +PKG_BUILD_DEPENDS:=$(HOST_BUILD_DEPENDS) + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/meson.mk + +define Package/apk/default + SECTION:=base + CATEGORY:=Base system + TITLE:=apk package manager + DEPENDS:=+zlib + URL:=$(PKG_SOURCE_URL) +endef + +define Package/apk-mbedtls + $(Package/apk/default) + TITLE += (mbedtls) + DEPENDS +=+libmbedtls + VARIANT:=mbedtls + DEFAULT_VARIANT:=1 + CONFLICTS:=apk-openssl +endef + +define Package/apk-openssl + $(Package/apk/default) + TITLE += (openssl) + DEPENDS +=+libopenssl + VARIANT:=openssl +endef + +MESON_HOST_VARS+=VERSION=$(PKG_VERSION) +MESON_VARS+=VERSION=$(PKG_VERSION) + +MESON_HOST_ARGS += \ + -Dlua_version=5.1 \ + -Dcompressed-help=false \ + -Ddocs=disabled \ + -Dcrypto_backend=openssl \ + -Dzstd=false + +MESON_ARGS += \ + -Dlua_version=5.1 \ + -Dcompressed-help=false \ + -Ddocs=disabled \ + -Durl_backend=wget \ + -Dcrypto_backend=$(BUILD_VARIANT) \ + -Dzstd=false + +HOST_LDFLAGS += \ + -Wl,-rpath $(STAGING_DIR_HOST)/lib + +define Package/apk/default/install + $(INSTALL_DIR) $(1)/lib/apk/db + + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/apk $(1)/usr/bin/apk + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libapk.so.* $(1)/usr/lib/ +endef + +Package/apk-mbedtls/install = $(Package/apk/default/install) +Package/apk-openssl/install = $(Package/apk/default/install) + +$(eval $(call BuildPackage,apk-mbedtls)) +$(eval $(call BuildPackage,apk-openssl)) +$(eval $(call HostBuild)) -- cgit v1.2.3