From b993b68b6ca8444b5227a0c18df4600b37ac565c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20M=C3=B6rlein?= Date: Sun, 9 May 2021 22:28:15 +0200 Subject: build: introduce $(MKHASH) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, it was assumed that mkhash is in the PATH. While this was fine for the normal build workflow, this led to some issues if make TOPDIR="$(pwd)" -C "$pkgdir" compile was called manually. In most of the cases, I just saw warnings like this: make: Entering directory '/home/.../package/gluon-status-page' bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found [...] While these were only warnings and the package still compiled sucessfully, I also observed that some package even fail to build because of this. After applying this commit, the variable $(MKHASH) is introduced. This variable points to $(STAGING_DIR_HOST)/bin/mkhash, which is always the correct path. Signed-off-by: Leonardo Mörlein --- scripts/combined-ext-image.sh | 2 +- scripts/combined-image.sh | 2 +- scripts/download.pl | 5 ++--- scripts/ipkg-make-index.sh | 2 +- scripts/om-fwupgradecfg-gen.sh | 10 +++++----- 5 files changed, 10 insertions(+), 11 deletions(-) (limited to 'scripts') diff --git a/scripts/combined-ext-image.sh b/scripts/combined-ext-image.sh index 7ff287bde7..c20203f23b 100755 --- a/scripts/combined-ext-image.sh +++ b/scripts/combined-ext-image.sh @@ -63,7 +63,7 @@ while [ "$#" -gt 1 ] [ ! -f "$file" ] && echo "$ME: Not a valid file: $file" && usage FILES="$FILES $file" - md5=$(mkhash md5 "$file") + md5=$($MKHASH md5 "$file") printf "%-32s%08x%32s" "$filename" $(stat -c "%s" "$file") "${md5%% *}" >> "${IMG_TMP_OUT}" shift 2 done diff --git a/scripts/combined-image.sh b/scripts/combined-image.sh index 4e00cb89a2..a365fbc536 100755 --- a/scripts/combined-image.sh +++ b/scripts/combined-image.sh @@ -16,7 +16,7 @@ dd if="$1" of="$kern" bs=$BLKSZ conv=sync 2>/dev/null dd if="$2" of="$root" bs=$BLKSZ conv=sync 2>/dev/null # Calculate md5sum over combined kernel and rootfs image. -md5=$(cat "$kern" "$root" | mkhash md5) +md5=$(cat "$kern" "$root" | $MKHASH md5) # Write image header followed by kernel and rootfs image. # The header is padded to 64k, format is: diff --git a/scripts/download.pl b/scripts/download.pl index a1d80e9b42..8e6463c007 100755 --- a/scripts/download.pl +++ b/scripts/download.pl @@ -65,8 +65,8 @@ sub hash_cmd() { my $len = length($file_hash); my $cmd; - $len == 64 and return "mkhash sha256"; - $len == 32 and return "mkhash md5"; + $len == 64 and return "$ENV{'MKHASH'} sha256"; + $len == 32 and return "$ENV{'MKHASH'} md5"; return undef; } @@ -296,4 +296,3 @@ while (!-f "$target/$filename") { } $SIG{INT} = \&cleanup; - diff --git a/scripts/ipkg-make-index.sh b/scripts/ipkg-make-index.sh index f6f15d7dd8..8965d0aa18 100755 --- a/scripts/ipkg-make-index.sh +++ b/scripts/ipkg-make-index.sh @@ -18,7 +18,7 @@ for pkg in `find $pkg_dir -name '*.ipk' | sort`; do [[ "$name" = "libc" ]] && continue echo "Generating index for package $pkg" >&2 file_size=$(stat -L -c%s $pkg) - sha256sum=$(mkhash sha256 $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\\ diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh index bf7c047c5b..c3858416a6 100755 --- a/scripts/om-fwupgradecfg-gen.sh +++ b/scripts/om-fwupgradecfg-gen.sh @@ -54,8 +54,8 @@ esac CHECK_BS=65536 KERNEL_SIZE=$(stat -c%s "$KERNEL_PATH") -KERNEL_MD5=$(mkhash md5 $KERNEL_PATH) -KERNEL_SHA256=$(mkhash sha256 $KERNEL_PATH) +KERNEL_MD5=$($MKHASH md5 $KERNEL_PATH) +KERNEL_SHA256=$($MKHASH sha256 $KERNEL_PATH) KERNEL_PART_SIZE_KB=$((KERNEL_SIZE / 1024)) KERNEL_PART_SIZE=$(printf $SIZE_FORMAT $(($KERNEL_PART_SIZE_KB * $SIZE_FACTOR))) @@ -63,9 +63,9 @@ ROOTFS_FLASH_ADDR=$(addr=$(($KERNEL_FLASH_ADDR + ($KERNEL_PART_SIZE_KB * 1024))) ROOTFS_SIZE=$(stat -c%s "$ROOTFS_PATH") ROOTFS_SQUASHFS_SIZE=$((ROOTFS_SIZE-4)) ROOTFS_CHECK_BLOCKS=$((ROOTFS_SQUASHFS_SIZE / CHECK_BS)) -ROOTFS_MD5=$(dd if=$ROOTFS_PATH bs=$CHECK_BS count=$ROOTFS_CHECK_BLOCKS 2>&- | mkhash md5) -ROOTFS_MD5_FULL=$(mkhash md5 $ROOTFS_PATH) -ROOTFS_SHA256_FULL=$(mkhash sha256 $ROOTFS_PATH) +ROOTFS_MD5=$(dd if=$ROOTFS_PATH bs=$CHECK_BS count=$ROOTFS_CHECK_BLOCKS 2>&- | $MKHASH md5) +ROOTFS_MD5_FULL=$($MKHASH md5 $ROOTFS_PATH) +ROOTFS_SHA256_FULL=$($MKHASH sha256 $ROOTFS_PATH) ROOTFS_CHECK_SIZE=$(printf '0x%x' $ROOTFS_SQUASHFS_SIZE) ROOTFS_PART_SIZE_KB=$(($MAX_PART_SIZE - $KERNEL_PART_SIZE_KB)) ROOTFS_PART_SIZE=$(printf $SIZE_FORMAT $(($ROOTFS_PART_SIZE_KB * $SIZE_FACTOR))) -- cgit v1.2.3