Skip to content

Commit

Permalink
solve some shellcheck issues
Browse files Browse the repository at this point in the history
  • Loading branch information
NimVek committed Jan 28, 2024
1 parent a233334 commit 085c695
Show file tree
Hide file tree
Showing 8 changed files with 47 additions and 46 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ jobs:
with:
path: |
${{ matrix.CACHE_PRE_COMMIT }}
key: lint-${{ runner.os }}-${{ hashFiles('**/.pre-commit-config.yaml')
}}
key: lint-${{ runner.os }}-${{ hashFiles('**/.pre-commit-config.yaml') }}
restore-keys: |
lint-${{ runner.os }}-
Expand Down
33 changes: 17 additions & 16 deletions mkp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,38 +9,39 @@ PACKAGE_DIR=$1

TMPDIR=$(mktemp -d)

# shellcheck disable=SC2064
trap "rm -rf $TMPDIR" EXIT

rsync -avzP $PACKAGE_DIR/ $TMPDIR/
rsync -avzP "$PACKAGE_DIR/" "$TMPDIR/"

NAME=$(jq -r .name $TMPDIR/info.json)
VERSION=$(jq -r .version $TMPDIR/info.json)
NAME=$(jq -r .name "$TMPDIR/info.json")
VERSION=$(jq -r .version "$TMPDIR/info.json")

DATE=$(date --date "$(stat --format=%y $TMPDIR/info.json)" --iso-8601=seconds)
DATE=$(date --date "$(stat --format=%y "$TMPDIR/info.json")" --iso-8601=seconds)

function archive () {
tar --sort=name --owner=0 --group=0 --numeric-owner --mode=go=rX,u+rw,a-s --mtime=$DATE $*
tar --sort=name --owner=0 --group=0 --numeric-owner --mode=go=rX,u+rw,a-s --mtime="$DATE" "$@"
}

CURRENT_DIR=$(pwd)

pushd $TMPDIR
cat info.json | jq '.files={}' | tee info.json
pushd "$TMPDIR"
jq '.files={}' info.json | sponge info.json
for part in $(find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | sort) ; do
cat info.json | jq ".files.${part}=[]" | tee info.json
pushd ${part}
jq ".files.${part}=[]" info.json | sponge info.json
pushd "${part}"
for element in $(find . -type f -printf '%P\n' | sort) ; do
cat ../info.json | jq ".files.${part} += [\"$element\"]" | tee ../info.json
jq ".files.${part} += [\"$element\"]" ../info.json | sponge ../info.json
done
archive -cf ../${part}.tar *
archive -cf "../${part}.tar" -- *
popd
rm -rf ${part}
rm -rf "${part}"
done
COUNT=$(find . -mindepth 2 -type f | wc -l)
cat info.json | jq ".num_files=${COUNT}" | tee info.json
jq ".num_files=${COUNT}" info.json | sponge info.json
MIN_VERSION=$(jq -r .\"version.min_required\" info.json)
cat info.json | jq ".\"version.packaged\"=\"${MIN_VERSION}\"" | tee info.json
cat info.json | jq --compact-output . | tee info.json
jq ".\"version.packaged\"=\"${MIN_VERSION}\"" info.json | sponge info.json
jq --compact-output . info.json | sponge info.json
python3 -c 'import json; import pprint; pprint.pprint(json.load(open("info.json")), open("info","w"))'
archive -cf - * | gzip --best > ${CURRENT_DIR}/${NAME}-${VERSION}.mkp
archive -cf - -- * | gzip --best > "${CURRENT_DIR}/${NAME}-${VERSION}.mkp"
popd
26 changes: 13 additions & 13 deletions sanitize.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,28 @@ LC_ALL=C.UTF-8

PACKAGE_DIR=$1

pushd $PACKAGE_DIR
NAME=$(basename $(pwd))
cat info.json | jq ".name=\"${NAME}\"" | tee info.json
cat info.json | jq '.files={}' | tee info.json
pushd "$PACKAGE_DIR"
NAME=$(basename "$(pwd)")
jq ".name=\"${NAME}\"" info.json| sponge info.json
jq '.files={}' info.json | sponge info.json
for part in $(find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | sort) ; do
cat info.json | jq ".files.${part}=[]" | tee info.json
pushd ${part}
jq ".files.${part}=[]" info.json | sponge info.json
pushd "${part}"
for element in $(find . -type f -printf '%P\n' | sort) ; do
cat ../info.json | jq ".files.${part} += [\"$element\"]" | tee ../info.json
jq ".files.${part} += [\"$element\"]" ../info.json | sponge ../info.json
done
popd
done
COUNT=$(find . -mindepth 2 -type f | wc -l)
cat info.json | jq ".num_files=${COUNT}" | tee info.json
jq ".num_files=${COUNT}" info.json | sponge info.json
MIN_VERSION=$(jq -r .\"version.min_required\" info.json)
cat info.json | jq ".\"version.packaged\"=\"${MIN_VERSION}\"" | tee info.json
jq ".\"version.packaged\"=\"${MIN_VERSION}\"" info.json | sponge info.json

cat info.json | jq '.author="NimVek <NimVek@users.noreply.github.com>"' | tee info.json
cat info.json | jq ".download_url=\"https://github.com/NimVek/checkmk-packages/tree/main/${NAME}\"" | tee info.json
jq '.author="NimVek <NimVek@users.noreply.github.com>"' info.json | sponge info.json
jq ".download_url=\"https://github.com/NimVek/checkmk-packages/tree/main/${NAME}\"" info.json | sponge info.json

cat info.json | jq --sort-keys . | tee info.json
jq --sort-keys . info.json | sponge info.json

find . -type f -name "*.py" -print0 | xargs -0 -n 1 --no-run-if-empty black
find . -type f -name "*.py" -print0 | xargs -0 -n 1 --no-run-if-empty isort --profile black
popd
popd
6 changes: 3 additions & 3 deletions tools/bin/randomize_long_intervals.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ set -o nounset

INTERVAL_LENGTH=$(lq "GET status\nColumns: interval_length")

lq "GET services\nColumns: host_name description check_interval\nFilter: check_interval >= 60" | while IFS=';' read host service interval ; do
INTERVAL=$(( ${interval} * ${INTERVAL_LENGTH} ))
lq "GET services\nColumns: host_name description check_interval\nFilter: check_interval >= 60" | while IFS=';' read -r host service interval ; do
INTERVAL=$(( interval * INTERVAL_LENGTH ))
NEXT=$(shuf -i 1-${INTERVAL} -n 1)
NOW=$(date +%s)
THEN=$(( ${NOW} + ${NEXT} ))
THEN=$(( NOW + NEXT ))
echo "COMMAND [${NOW}] SCHEDULE_FORCED_SVC_CHECK;${host};${service};${THEN}" | lq
done
2 changes: 1 addition & 1 deletion tools/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"name": "tools",
"num_files": 1,
"title": "Bash Tools",
"version": "1.0.0",
"version": "1.1.0",
"version.min_required": "2.0.0p23",
"version.packaged": "2.0.0p23",
"version.usable_until": null
Expand Down
Binary file removed tools/tools-1.0.0.mkp
Binary file not shown.
Binary file added tools/tools-1.1.0.mkp
Binary file not shown.
23 changes: 12 additions & 11 deletions unmkp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,23 @@ PACKAGE=$1

TMPDIR=$(mktemp -d)

# shellcheck disable=SC2064
trap "rm -rf ${TMPDIR}" EXIT

tar -xzf ${PACKAGE} --directory=${TMPDIR}
tar -xzf "${PACKAGE}" --directory="${TMPDIR}"

pushd ${TMPDIR}
pushd "${TMPDIR}"
for part in *.tar; do
PARTNAME=$(basename ${part} .tar)
mkdir ${PARTNAME}
tar -xf ${part} --directory=${PARTNAME}
rm -rf ${part}
PARTNAME=$(basename "${part}" .tar)
mkdir "${PARTNAME}"
tar -xf "${part}" --directory="${PARTNAME}"
rm -rf "${part}"
done
rm info
cat info.json | jq --sort-keys . | tee info.json
jq --sort-keys . info.json | sponge info.json
popd

PACKAGENAME=$(jq -r .name ${TMPDIR}/info.json)
rm -rf ${PACKAGENAME}
mkdir ${PACKAGENAME}
rsync -avzP ${TMPDIR}/ ${PACKAGENAME}/
PACKAGENAME=$(jq -r .name "${TMPDIR}/info.json")
rm -rf "${PACKAGENAME}"
mkdir "${PACKAGENAME}"
rsync -avzP "${TMPDIR}/" "${PACKAGENAME}/"

0 comments on commit 085c695

Please sign in to comment.