[source] imagebuilder: add package_list function

LEDE Commits lede-commits at lists.infradead.org
Thu Dec 14 09:44:37 PST 2017


jow pushed a commit to source.git, branch lede-17.01:
https://git.lede-project.org/c7234e3036f5c660c0ddb56328d85aa079317210

commit c7234e3036f5c660c0ddb56328d85aa079317210
Author: Paul Spooren <paul at spooren.de>
AuthorDate: Tue Jun 13 21:59:14 2017 +0200

    imagebuilder: add package_list function
    
    The imagebuilder can now list all available packages by using make
    package_list. This is usefull for scripts to retrieve a list of all
    packages with versions (and size)
    
    Signed-off-by: Paul Spooren <paul at spooren.de>
    [daniel at makrotopia.org: fixed commit message]
    (cherry picked from commit 19ac879954210df3c6a010990bef42ad5c7fd967)
---
 target/imagebuilder/files/Makefile | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile
index baa0e1f..d12cb76 100644
--- a/target/imagebuilder/files/Makefile
+++ b/target/imagebuilder/files/Makefile
@@ -112,13 +112,7 @@ _call_image: staging_dir/host/.prereq-build
 	echo
 	rm -rf $(TARGET_DIR)
 	mkdir -p $(TARGET_DIR) $(BIN_DIR) $(TMP_DIR) $(DL_DIR)
-	if [ ! -f "$(PACKAGE_DIR)/Packages" ] || [ ! -f "$(PACKAGE_DIR)/Packages.gz" ] || [ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/Packages.gz`" ]; then \
-		echo "Package list missing or not up-to-date, generating it.";\
-		$(MAKE) package_index; \
-	else \
-		mkdir -p $(TARGET_DIR)/tmp; \
-		$(OPKG) update || true; \
-	fi
+	$(MAKE) package_reload
 	$(MAKE) package_install
 ifneq ($(USER_FILES),)
 	$(MAKE) copy_files
@@ -136,6 +130,19 @@ package_index: FORCE
 	) >/dev/null 2>/dev/null
 	$(OPKG) update || true
 
+package_reload:
+	if [ ! -f "$(PACKAGE_DIR)/Packages" ] || [ ! -f "$(PACKAGE_DIR)/Packages.gz" ] || [ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/Packages.gz`" ]; then \
+		echo "Package list missing or not up-to-date, generating it.";\
+		$(MAKE) package_index; \
+	else \
+		mkdir -p $(TARGET_DIR)/tmp; \
+		$(OPKG) update || true; \
+	fi
+
+package_list: FORCE
+	@$(MAKE) -s package_reload
+	@$(OPKG) list --size 2>/dev/null | awk -F" - " '{printf "%s %s %s\n", $$1, $$2, $$3}'
+
 package_install: FORCE
 	@echo
 	@echo Installing packages...



More information about the lede-commits mailing list