image.mk: Create a manifest file of installed packages as a build artifact
authorPushpal Sidhu <psidhu@gateworks.com>
Thu, 1 Sep 2016 14:54:03 +0000 (07:54 -0700)
committerJohn Crispin <john@phrozen.org>
Thu, 8 Sep 2016 11:40:02 +0000 (13:40 +0200)
A few linux BSP's create a manifest file of installed packages for a given
target in order to help them understand exactly what's on their images. Create
one here as well as a build artifact since many users have an affinity to
prune down on packages to save valuable flash space.

Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
include/image.mk

index 7079f187867c44d6916cdb8a5267525a14bc21f4..bab7f533a27aec4a6f9e1c743b13b4c6ca7161c8 100644 (file)
@@ -264,6 +264,13 @@ define Image/mkfs/prepare
        $(call Image/mkfs/prepare/default,$(1))
 endef
 
+define Image/Manifest
+       $(STAGING_DIR_HOST)/bin/opkg \
+               --offline-root $(TARGET_DIR) \
+               --add-arch all:100 \
+               --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200 list-installed > \
+               $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest
+endef
 
 ifdef CONFIG_TARGET_ROOTFS_TARGZ
   define Image/Build/targz
@@ -565,5 +572,6 @@ define BuildImage
        $(MAKE) legacy-images
 
   install: install-images
+       $(call Image/Manifest)
 
 endef