aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-10-10 23:04:00 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-10-10 23:04:00 +0000
commitf3d5452b98aee25f43b49fb673972be80e9016db (patch)
tree879b15f0ee7b9162c60631b12df563cf8bbc44b9
parent18ec5cc6ced39195c863781c0d8323dbb585feea (diff)
downloadupstream-f3d5452b98aee25f43b49fb673972be80e9016db.tar.gz
upstream-f3d5452b98aee25f43b49fb673972be80e9016db.tar.bz2
upstream-f3d5452b98aee25f43b49fb673972be80e9016db.zip
replace ipkg-make-index with a shell script that works on bsd
SVN-Revision: 5046
-rw-r--r--openwrt/package/Makefile3
-rwxr-xr-xopenwrt/scripts/ipkg-make-index.sh24
2 files changed, 26 insertions, 1 deletions
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index b6165b8567..d2b7468a39 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/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/openwrt/scripts/ipkg-make-index.sh b/openwrt/scripts/ipkg-make-index.sh
new file mode 100755
index 0000000000..46051045ae
--- /dev/null
+++ b/openwrt/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 <package_directory>"
+ 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