summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/image.mk16
1 files changed, 14 insertions, 2 deletions
diff --git a/include/image.mk b/include/image.mk
index 90ab88dd13..415618d393 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -290,17 +290,29 @@ mkfs_packages_add = $(filter-out -%,$(mkfs_packages))
mkfs_packages_remove = $(patsubst -%,%,$(filter -%,$(mkfs_packages)))
mkfs_cur_target_dir = $(call mkfs_target_dir,pkg=$(target_params))
+opkg_target = \
+ $(call opkg,$(mkfs_cur_target_dir)) \
+ -f $(mkfs_cur_target_dir).conf \
+ -l $(mkfs_cur_target_dir).tmp
+
target-dir-%: FORCE
- rm -rf $(mkfs_cur_target_dir)
+ rm -rf $(mkfs_cur_target_dir) $(mkfs_cur_target_dir).opkg
$(CP) $(TARGET_DIR) $(mkfs_cur_target_dir)
+ mv $(mkfs_cur_target_dir)/etc/opkg $(mkfs_cur_target_dir).opkg
+ echo 'src default file://$(PACKAGE_DIR_ALL)' > $(mkfs_cur_target_dir).conf
$(if $(mkfs_packages_add), \
- $(call opkg,$(mkfs_cur_target_dir)) install \
+ $(opkg_target) update && \
+ $(opkg_target) install \
$(call opkg_package_files,$(mkfs_packages_add)))
$(if $(mkfs_packages_remove), \
$(call opkg,$(mkfs_cur_target_dir)) remove \
$(mkfs_packages_remove))
$(call Image/mkfs/prepare,$(mkfs_cur_target_dir))
$(call prepare_rootfs,$(mkfs_cur_target_dir))
+ mv $(mkfs_cur_target_dir).opkg $(mkfs_cur_target_dir)/etc/opkg
+ rm -rf \
+ $(mkfs_cur_target_dir).conf \
+ $(mkfs_cur_target_dir).tmp
$(KDIR)/root.%: kernel_prepare
$(call Image/mkfs/$(word 1,$(target_params)),$(target_params))