From aa8a2bd422f55f5ef5a2a48ad1e8c62e15b33936 Mon Sep 17 00:00:00 2001 From: viq Date: Fri, 9 Jun 2023 15:38:56 +0200 Subject: [PATCH] Make checksums file usable by common tools Adding flag --bsd makes rhash output checksums in a format compatible with common tools, like sha256sum, and makes it obvious what algorithm a particular checksum was calculated for, at the expense of making the checksums file larger. This allows for the checksums file to be used directly by tools understanding traditional format, like Ansible or Salt, and obviates the existence of extract-checksum.sh script. --- scripts/extract-checksum.sh | 60 ------------------------------------- scripts/xcompile.sh | 6 +--- 2 files changed, 1 insertion(+), 65 deletions(-) delete mode 100755 scripts/extract-checksum.sh diff --git a/scripts/extract-checksum.sh b/scripts/extract-checksum.sh deleted file mode 100755 index 914dcfa2..00000000 --- a/scripts/extract-checksum.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -# This script works with checksums_hashes_order and checksums to extract the relevant -# sha of the various yq downloads. You can then use your favourite checksum tool to validate. -# must match an entry in checksums_hashes_order. -# -# Usage: ./extract-checksum.sh -# E.g: ./extract-checksum.sh SHA-256 yq_linux_amd64.tar.gz -# Outputs: -# yq_linux_amd64.tar.gz acebc9d07aa2d0e482969b2c080ee306e8f58efbd6f2d857eefbce6469da1473 -# -# Usage with rhash: -# ./extract-checksum.sh SHA-256 yq_linux_amd64.tar.gz | rhash -c - -# -# Tip, if you want the checksum first then the filename (e.g. for the md5sum command) -# then you can pipe the output of this script into awk to switch the fields around: -# -# ./extract-checksum.sh MD5 yq_linux_amd64.tar.gz | awk '{ print $2 " " $1}' | md5sum -c - -# -# - -if [ "$1" == "" ]; then - echo "Please specify at a hash algorithm from the checksum_hashes_order" - echo "Usage: $0 " - exit 1 -fi - -if [ "$2" != "" ]; then - # so we dont match x.tar.gz when 'x' is given - file="$2\s" -else - file="" -fi - -if [ ! -f "checksums_hashes_order" ]; then - echo "This script requires checksums_hashes_order to run" - echo "Download the file from https://github.com/mikefarah/yq/releases/ for the version of yq you are trying to validate" - exit 1 -fi - -if [ ! -f "checksums" ]; then - echo "This script requires the checksums file to run" - echo "Download the file from https://github.com/mikefarah/yq/releases/ for the version of yq you are trying to validate" - exit 1 -fi - - -grepMatch=$(grep -m 1 -n "$1" checksums_hashes_order) -if [ "$grepMatch" == "" ]; then - echo "Could not find hash algorith '$1' in checksums_hashes_order" - exit 1 -fi - -set -e - -lineNumber=$(echo "$grepMatch" | cut -f1 -d:) - -realLineNumber="$(($lineNumber + 1))" - -grep "$file" checksums | sed 's/ /\t/g' | cut -f1,$realLineNumber \ No newline at end of file diff --git a/scripts/xcompile.sh b/scripts/xcompile.sh index 2b259167..1e6335d9 100755 --- a/scripts/xcompile.sh +++ b/scripts/xcompile.sh @@ -17,8 +17,4 @@ zip yq_windows_amd64.zip yq_windows_amd64.exe rm yq.1 -rhash -r -a . -o checksums - -rhash --list-hashes > checksums_hashes_order - -cp ../scripts/extract-checksum.sh . +rhash -r -a --bsd . -o checksums