summaryrefslogtreecommitdiffstats
path: root/scripts/ipkg-make-index.sh
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-10 23:04:00 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-10 23:04:00 +0000
commiteb1c48aeec6f13addccbc6363f52608fa4d8e322 (patch)
tree8a2b557729e41f1cbf43e6f4b2b03b54cbb0d7b8 /scripts/ipkg-make-index.sh
parent8bdfe8ea0c8c649432636dde8e8c3c7bbc4eb1ae (diff)
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
Diffstat (limited to 'scripts/ipkg-make-index.sh')
-rwxr-xr-xscripts/ipkg-make-index.sh24
1 files changed, 24 insertions, 0 deletions
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 <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