build: opkg: enable presence of uci
authorYousong Zhou <yszhou4tech@gmail.com>
Sun, 5 Mar 2017 08:17:59 +0000 (16:17 +0800)
committerYousong Zhou <yszhou4tech@gmail.com>
Sun, 5 Mar 2017 09:23:46 +0000 (17:23 +0800)
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
include/rootfs.mk
package/Makefile

index bd9af6ae4906b703c3ad666ba7e9312641ad728f..46ccce49eb5c62b1b9d8401e573467ad250d5e44 100644 (file)
@@ -37,6 +37,9 @@ endif
 opkg = \
   IPKG_NO_SCRIPT=1 \
   IPKG_INSTROOT=$(1) \
 opkg = \
   IPKG_NO_SCRIPT=1 \
   IPKG_INSTROOT=$(1) \
+  UCI=$(STAGING_DIR_HOST)/sbin/uci \
+  UCI_CONFDIR=$(1)/etc/config \
+  UCI_SAVEDIR=$(1)/tmp/.uci \
   TMPDIR=$(1)/tmp \
   $(STAGING_DIR_HOST)/bin/opkg \
        --offline-root $(1) \
   TMPDIR=$(1)/tmp \
   $(STAGING_DIR_HOST)/bin/opkg \
        --offline-root $(1) \
@@ -61,9 +64,14 @@ define prepare_rootfs
        fi
        @mkdir -p $(1)/etc/rc.d
        @( \
        fi
        @mkdir -p $(1)/etc/rc.d
        @( \
-               cd $(1); \
+               cd $(1); shell=$$(which bash); \
+               mkdir -p $(1)/tmp/.uci/;  \
                for script in ./usr/lib/opkg/info/*.postinst; do \
                for script in ./usr/lib/opkg/info/*.postinst; do \
-                       IPKG_INSTROOT=$(1) $$(which bash) $$script; \
+                       IPKG_INSTROOT=$(1) \
+                       UCI=$(STAGING_DIR_HOST)/sbin/uci \
+                       UCI_CONFDIR=$(1)/etc/config \
+                       UCI_SAVEDIR=$(1)/tmp/.uci \
+                               $$shell $$script; \
                        ret=$$?; \
                        if [ $$ret -ne 0 ]; then \
                                echo "postinst script $$script has failed with exit code $$ret" >&2; \
                        ret=$$?; \
                        if [ $$ret -ne 0 ]; then \
                                echo "postinst script $$script has failed with exit code $$ret" >&2; \
@@ -72,7 +80,11 @@ define prepare_rootfs
                done; \
                for script in ./etc/init.d/*; do \
                        grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
                done; \
                for script in ./etc/init.d/*; do \
                        grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
-                       IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script enable; \
+                       IPKG_INSTROOT=$(1) \
+                       UCI=$(STAGING_DIR_HOST)/sbin/uci \
+                       UCI_CONFDIR=$(1)/etc/config \
+                       UCI_SAVEDIR=$(1)/tmp/.uci \
+                               $$shell ./etc/rc.common $$script enable; \
                done || true \
        )
        $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status)
                done || true \
        )
        $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status)
index 4fdf4150469434428c7970e3ebce53f050f992a6..79aa58dd274003883e14510c6aba11de8e6d69ea 100644 (file)
@@ -58,6 +58,7 @@ $(curdir)/merge-index: $(curdir)/merge
 
 ifndef SDK
   $(curdir)/compile: $(curdir)/system/opkg/host/compile
 
 ifndef SDK
   $(curdir)/compile: $(curdir)/system/opkg/host/compile
+  $(curdir)/compile: $(curdir)/system/uci/host/compile
 endif
 
 $(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index)
 endif
 
 $(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index)