mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-08-20 02:23:22 +03:00
Since the output of ipkg-make-index.sh is unconditionally used to create the Packages file, sending the errors into this file is unacceptable (both because they are not shown to users and because they make an invalid Packages file). For incorrect invocation, write to stderr. For errors from which, send to /dev/null with stdout. Signed-off-by: Kevin Locke <klocke@digitalenginesoftware.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25677 3c298f89-4303-0410-b956-a3cf2f4a3e73
25 lines
666 B
Bash
Executable File
25 lines
666 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
pkg_dir=$1
|
|
|
|
if [ -z $pkg_dir ] || [ ! -d $pkg_dir ]; then
|
|
echo "Usage: ipkg-make-index <package_directory>" >&2
|
|
exit 1
|
|
fi
|
|
|
|
which md5sum >/dev/null 2>&1 || 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' -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
|