From a68be42f9975d6e1b3f61bee214ab50ceebe1a87 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 31 Jan 2019 12:25:19 +0100 Subject: [PATCH] scripts: ipkg-make-index.sh: dereference symbolic links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use `stat -L` instead of `ls -l` to follow symbolic links when obtaining the file size of .ipk archives. Without this change, the size of the symlink, not the size of the target file is encoded in the package index file. Signed-off-by: Jo-Philipp Wich (cherry picked from commit ece5cab743f9df6c9655d6117e92fda110292173) Fixes: e6af9c017b0c ("opkg: bump to version 2019-06-14") [ rmilecki: this has to be backported due to the recent opkg update and cb6640381808 ("libopkg: check for file size mismatches") to fix false "opkg_install_pkg: Package size mismatch" errors ] Signed-off-by: Rafał Miłecki --- scripts/ipkg-make-index.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ipkg-make-index.sh b/scripts/ipkg-make-index.sh index dcd11ca191..f6f15d7dd8 100755 --- a/scripts/ipkg-make-index.sh +++ b/scripts/ipkg-make-index.sh @@ -17,7 +17,7 @@ for pkg in `find $pkg_dir -name '*.ipk' | sort`; do [[ "$name" = "kernel" ]] && continue [[ "$name" = "libc" ]] && continue echo "Generating index for package $pkg" >&2 - file_size=$(ls -l $pkg | awk '{print $5}') + 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'`