tools/squashfskit: fix version detection on non-linux system
[openwrt/staging/wigyori.git] / scripts / ipkg-make-index.sh
index cbfa450c0a2aa7e4aeab9217a8dd98dd5ea8874c..f6f15d7dd8c33969d81d43abed706513e3078b86 100755 (executable)
@@ -8,21 +8,24 @@ if [ -z $pkg_dir ] || [ ! -d $pkg_dir ]; then
        exit 1
 fi
 
-which md5sum >/dev/null 2>&1 || alias md5sum=md5
+empty=1
 
 for pkg in `find $pkg_dir -name '*.ipk' | sort`; do
+       empty=
        name="${pkg##*/}"
        name="${name%%_*}"
        [[ "$name" = "kernel" ]] && continue
        [[ "$name" = "libc" ]] && continue
        echo "Generating index for package $pkg" >&2
-       file_size=$(ls -l $pkg | awk '{print $5}')
-       md5sum=$(md5sum $pkg | awk '{print $1}')
+       file_size=$(stat -L -c%s $pkg)
+       sha256sum=$(mkhash sha256 $pkg)
        # 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\\
+SHA256sum: $sha256sum\\
 Description:/"
        echo ""
 done
+[ -n "$empty" ] && echo
+exit 0