image: don't override opkg list directory in per-device rootfs mode
authorMatthias Schiffer <mschiffer@universe-factory.net>
Sat, 24 Sep 2016 01:29:31 +0000 (03:29 +0200)
committerMatthias Schiffer <mschiffer@universe-factory.net>
Sat, 24 Sep 2016 01:37:08 +0000 (03:37 +0200)
opkg's -l option is always interpreted relative to the installation root.
This leads to very weird paths inside the rootfs (containing the whole path
to the LEDE tree on the build machine) and causes the subsequent deletion
of the list directory to fail (cluttering the resulting images).

Instead, use the default list directory and remove its contents in
prepare_rootfs.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
include/image.mk
include/rootfs.mk

index 261f0f8aeaa1e88d8e5c9aad6a8f673ff1d6a79f..63cefff05c4ef8a187429338619e4c94b407a12f 100644 (file)
@@ -293,8 +293,7 @@ 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
+               -f $(mkfs_cur_target_dir).conf
 
 target-dir-%: FORCE
        rm -rf $(mkfs_cur_target_dir) $(mkfs_cur_target_dir).opkg
@@ -311,9 +310,7 @@ target-dir-%: FORCE
        $(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
+       rm -f $(mkfs_cur_target_dir).conf
 
 $(KDIR)/root.%: kernel_prepare
        $(call Image/mkfs/$(word 1,$(target_params)),$(target_params))
index f3ba33a2be03a5e7a09c0cee6b1f0bcf7b216dac..6ca7c9c322690e391e393d761c78661b170df488 100644 (file)
@@ -72,6 +72,7 @@ define prepare_rootfs
        @-find $(1) -name .svn  | $(XARGS) rm -rf
        @-find $(1) -name .git  | $(XARGS) rm -rf
        @-find $(1) -name '.#*' | $(XARGS) rm -f
+       rm -f $(1)/usr/lib/opkg/lists/*
        rm -f $(1)/usr/lib/opkg/info/*.postinst*
        rm -f $(1)/usr/lib/opkg/info/*.prerm*
        $(if $(CONFIG_CLEAN_IPKG),rm -rf $(1)/usr/lib/opkg)