apk: add package
[openwrt/staging/aparcar.git] / include / rootfs.mk
index f2ed648d2f3eb51a31115d4d3d22dc4982959d97..cae2bfe2ba07a73683050e3c72ae07a21d23db37 100644 (file)
@@ -31,17 +31,16 @@ ifdef CONFIG_USE_MKLIBS
   endef
 endif
 
-# where to build (and put) .ipk packages
-opkg = \
-  IPKG_NO_SCRIPT=1 \
+apk = \
   IPKG_INSTROOT=$(1) \
-  TMPDIR=$(1)/tmp \
-  $(STAGING_DIR_HOST)/bin/opkg \
-       --offline-root $(1) \
-       --force-postinstall \
-       --add-dest root:/ \
-       --add-arch all:100 \
-       --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200
+  $(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk \
+       --root $(1) \
+       --keys-dir $(TOPDIR) \
+       --no-cache \
+       --no-logfile \
+       --no-scripts \
+       --preserve-env \
+       --repository file://$(PACKAGE_DIR_ALL)/packages.adb
 
 TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD)
 
@@ -68,14 +67,9 @@ define prepare_rootfs
        @mkdir -p $(1)/var/lock
        @( \
                cd $(1); \
-               for script in ./usr/lib/opkg/info/*.postinst; do \
-                       IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \
-                       ret=$$?; \
-                       if [ $$ret -ne 0 ]; then \
-                               echo "postinst script $$script has failed with exit code $$ret" >&2; \
-                               exit 1; \
-                       fi; \
-               done; \
+               $(STAGING_DIR_HOST)/bin/tar -xf ./lib/apk/db/scripts.tar --wildcards "*.post-install" -O > script.sh; \
+               chmod +x script.sh; \
+               IPKG_INSTROOT=$(1) $$(command -v bash) script.sh; \
                for script in ./etc/init.d/*; do \
                        grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
                        if ! echo " $(3) " | grep -q " $$(basename $$script) "; then \
@@ -87,13 +81,11 @@ define prepare_rootfs
                        fi; \
                done || true \
        )
-       $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status)
        @-find $(1) -name CVS -o -name .svn -o -name .git -o -name '.#*' | $(XARGS) rm -rf
+       @-find $(1)/usr/cache/apk/ -name '*.apk' -delete
        rm -rf \
                $(1)/boot \
                $(1)/tmp/* \
-               $(1)/usr/lib/opkg/info/*.postinst* \
-               $(1)/usr/lib/opkg/lists/* \
                $(1)/var/lock/*.lock
        $(call clean_ipkg,$(1))
        $(call mklibs,$(1))