replace ipkg-make-index with a shell script that works on bsd
SVN-Revision: 5046
This commit is contained in:
parent
18ec5cc6ce
commit
f3d5452b98
2 changed files with 26 additions and 1 deletions
|
@ -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)
|
||||
|
|
24
openwrt/scripts/ipkg-make-index.sh
Executable file
24
openwrt/scripts/ipkg-make-index.sh
Executable file
|
@ -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
|
Loading…
Reference in a new issue