From eb1c48aeec6f13addccbc6363f52608fa4d8e322 Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 10 Oct 2006 23:04:00 +0000 Subject: [PATCH] replace ipkg-make-index with a shell script that works on bsd git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@5046 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/Makefile | 3 ++- scripts/ipkg-make-index.sh | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100755 scripts/ipkg-make-index.sh diff --git a/package/Makefile b/package/Makefile index b6165b856..d2b7468a3 100644 --- a/package/Makefile +++ b/package/Makefile @@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk include $(TOPDIR)/.config include $(TOPDIR)/.pkgdeps +include $(TOPDIR)/host.mk PREREQ_PACKAGES:=$(patsubst %,%-prereq,$(package-prereq)) DOWNLOAD_PACKAGES:=$(patsubst %,%-download,$(package-y) $(package-m)) @@ -58,7 +59,7 @@ install: index: $(PACKAGE_DIR)/Packages $(PACKAGE_DIR)/Packages: $(PACKAGE_DIR)/*.ipk - (cd $(PACKAGE_DIR); $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages) + (cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages) ifeq ($(MAKECMDGOALS),compile-targets) diff --git a/scripts/ipkg-make-index.sh b/scripts/ipkg-make-index.sh new file mode 100755 index 000000000..46051045a --- /dev/null +++ b/scripts/ipkg-make-index.sh @@ -0,0 +1,24 @@ +#!/bin/sh +set -e + +pkg_dir=$1 + +if [ -z $pkg_dir ] || [ ! -d $pkg_dir ]; then + echo "Usage: ipkg-make-index " + exit 1 +fi + +which md5sum 2>&1 >/dev/null || alias md5sum=md5 + +for pkg in `find $pkg_dir -name '*.ipk' | sort`; do + echo "Generating index for package $pkg" >&2 + file_size=$(ls -l $pkg | awk '{print $5}') + md5sum=$(md5sum $pkg | awk '{print $1}') + # Take pains to make variable value sed-safe + sed_safe_pkg=`echo $pkg | sed -e 's/\\//\\\\\\//g'` + tar -xzOf $pkg ./control.tar.gz | tar xzOf - ./control | sed -e "s/^Description:/Filename: $sed_safe_pkg\\ +Size: $file_size\\ +MD5Sum: $md5sum\\ +Description:/" + echo "" +done -- 2.35.1