Skip to content

Commit

Permalink
v8.4
Browse files Browse the repository at this point in the history
- Coding | Address shellcheck annotations
  • Loading branch information
MichaIng committed Apr 8, 2022
1 parent fe530a7 commit 8ba97a6
Show file tree
Hide file tree
Showing 40 changed files with 764 additions and 760 deletions.
21 changes: 11 additions & 10 deletions .build/images/dietpi-build
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ then
else
[[ $G_GITOWNER && $G_GITBRANCH ]] || { echo '[FAILED] You must export or pass G_GITOWNER and G_GITBRANCH to the script'; exit 1; }
curl -sSf "https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/dietpi/func/dietpi-globals" -o /tmp/dietpi-globals || exit 1
# shellcheck disable=SC1091
. /tmp/dietpi-globals
G_EXEC_NOHALT=1 G_EXEC rm /tmp/dietpi-globals
export G_GITOWNER G_GITBRANCH G_HW_ARCH_NAME=$(uname -m)
Expand Down Expand Up @@ -196,7 +197,7 @@ G_EXEC fallocate -l "$((partition_start+efi_size+boot_size+root_size))M" "$OUTPU
if [[ $PTTYPE == 'gpt' ]]
then
# GPT partition table and EFI partition
G_EXEC parted -s "$OUTPUT_IMG_NAME.img" unit MiB mklabel gpt mkpart 'EFI' fat32 $partition_start $((partition_start+efi_size)) set 1 esp on
G_EXEC parted -s "$OUTPUT_IMG_NAME.img" unit MiB mklabel gpt mkpart 'EFI' fat32 "$partition_start" $((partition_start+efi_size)) set 1 esp on
# root partition
G_EXEC parted -s "$OUTPUT_IMG_NAME.img" unit MiB mkpart 'root' "$FSTYPE" $((partition_start+efi_size)) 100%

Expand Down Expand Up @@ -375,8 +376,8 @@ fi
G_EXEC_DESC='Downloading current README.md to pack with image...' G_EXEC curl -sSf "https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/README.md" -o README.md

# NB: LZMA2 ultra compression requires much memory per thread. 1 GiB is not sufficient for >2 threads, hence use "-mmt2" to limit used CPU threads to "2" on 1 GiB devices with more than two cores.
limit_threads=
(( $(free -m | mawk '/Mem:/{print $2}') < 1750 && $(nproc) > 2 )) && limit_threads='-mmt2'
limit_threads=()
(( $(free -m | mawk '/Mem:/{print $2}') < 1750 && $(nproc) > 2 )) && limit_threads=('-mmt2')

# Since qemu-img does not support VMDK and VHDX resizing, we need to resize the raw .img. It is usually done as sparse file, hence the actual disk usage does not change.
G_EXEC qemu-img resize "$OUTPUT_IMG_NAME.img" 8G
Expand Down Expand Up @@ -452,7 +453,7 @@ SHA1: $(sha1sum "$image_name.vmx" | mawk '{print $1}')
SHA256: $(sha256sum "$image_name.vmx" | mawk '{print $1}')
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating VMware 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 $limit_threads "$image_name.7z" "$image_name.vmdk" "$image_name.vmx" hash.txt README.md
G_EXEC_DESC='Creating VMware 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 "${limit_threads[@]}" "$image_name.7z" "$image_name.vmdk" "$image_name.vmx" hash.txt README.md
G_EXEC rm "$image_name.vmdk" "$image_name.vmx"
[[ -x 'upload.sh' ]] && G_EXEC_OUTPUT=1 G_EXEC ./upload.sh "$image_name.7z" && G_EXEC rm "$image_name.7z"
fi
Expand Down Expand Up @@ -603,7 +604,7 @@ SHA1: $(sha1sum "$image_name.ova" | mawk '{print $1}')
SHA256: $(sha256sum "$image_name.ova" | mawk '{print $1}')
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating VirtualBox 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 $limit_threads "$image_name.7z" "$image_name.ova" hash.txt README.md
G_EXEC_DESC='Creating VirtualBox 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 "${limit_threads[@]}" "$image_name.7z" "$image_name.ova" hash.txt README.md
G_EXEC rm "$image_name.ova"
[[ -x 'upload.sh' ]] && G_EXEC_OUTPUT=1 G_EXEC ./upload.sh "$image_name.7z" && G_EXEC rm "$image_name.7z"
fi
Expand Down Expand Up @@ -768,7 +769,7 @@ SHA1: $(sha1sum "$image_name.ova" | mawk '{print $1}')
SHA256: $(sha256sum "$image_name.ova" | mawk '{print $1}')
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating VirtualBox 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 $limit_threads "$image_name.7z" "$image_name.ova" hash.txt README.md
G_EXEC_DESC='Creating VirtualBox 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 "${limit_threads[@]}" "$image_name.7z" "$image_name.ova" hash.txt README.md
G_EXEC rm "$image_name.ova"
[[ -x 'upload.sh' ]] && G_EXEC_OUTPUT=1 G_EXEC ./upload.sh "$image_name.7z" && G_EXEC rm "$image_name.7z"
fi
Expand All @@ -789,7 +790,7 @@ SHA1: $(sha1sum "$image_name.vhdx" | mawk '{print $1}')
SHA256: $(sha256sum "$image_name.vhdx" | mawk '{print $1}')
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating Hyper-V 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 $limit_threads "$image_name.7z" "$image_name.vhdx" hash.txt README.md
G_EXEC_DESC='Creating Hyper-V 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 "${limit_threads[@]}" "$image_name.7z" "$image_name.vhdx" hash.txt README.md
G_EXEC rm "$image_name.vhdx"
[[ -x 'upload.sh' ]] && G_EXEC_OUTPUT=1 G_EXEC ./upload.sh "$image_name.7z" && G_EXEC rm "$image_name.7z"
fi
Expand All @@ -810,7 +811,7 @@ SHA1: $(sha1sum "$image_name.hds" | mawk '{print $1}')
SHA256: $(sha256sum "$image_name.hds" | mawk '{print $1}')
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating Parallels 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 $limit_threads "$image_name.7z" "$image_name.hds" hash.txt README.md
G_EXEC_DESC='Creating Parallels 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 "${limit_threads[@]}" "$image_name.7z" "$image_name.hds" hash.txt README.md
G_EXEC rm "$image_name.hds"
[[ -x 'upload.sh' ]] && G_EXEC_OUTPUT=1 G_EXEC ./upload.sh "$image_name.7z" && G_EXEC rm "$image_name.7z"
fi
Expand All @@ -831,7 +832,7 @@ SHA1: $(sha1sum "$image_name.qcow2" | mawk '{print $1}')
SHA256: $(sha256sum "$image_name.qcow2" | mawk '{print $1}')
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating Proxmox 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 $limit_threads "$image_name.7z" "$image_name.qcow2" hash.txt README.md
G_EXEC_DESC='Creating Proxmox 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 "${limit_threads[@]}" "$image_name.7z" "$image_name.qcow2" hash.txt README.md
[[ $VMTYPE == 'all' ]] || G_EXEC rm "$image_name.qcow2"
[[ -x 'upload.sh' ]] && G_EXEC_OUTPUT=1 G_EXEC ./upload.sh "$image_name.7z" && G_EXEC rm "$image_name.7z"
fi
Expand Down Expand Up @@ -1020,7 +1021,7 @@ SHA1: $(sha1sum "$image_name.utm/view.plist" | mawk '{print $1}')
SHA256: $(sha256sum "$image_name.utm/view.plist" | mawk '{print $1}')
_EOF_
[[ ( -t 0 || -t 1 ) && $TERM != 'dumb' ]] && G_EXEC_OUTPUT=1
G_EXEC_DESC='Creating UTM 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 $limit_threads "$image_name.7z" "$image_name.utm" hash.txt README.md
G_EXEC_DESC='Creating UTM 7-Zip archive' G_EXEC 7zr a -bsp1 -bso1 -bse2 -m0=lzma2 -mx=9 "${limit_threads[@]}" "$image_name.7z" "$image_name.utm" hash.txt README.md
G_EXEC rm -R "$image_name.utm"
[[ -x 'upload.sh' ]] && G_EXEC_OUTPUT=1 G_EXEC ./upload.sh "$image_name.7z" && G_EXEC rm "$image_name.7z"
fi
Expand Down
4 changes: 2 additions & 2 deletions .conf/dps_51/run
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ readonly FP_DIR='/usr/games/opentyrian'
# X server already running
if pgrep Xorg > /dev/null; then

exec $FP_DIR/opentyrian -t $FP_DIR/data
exec "$FP_DIR/opentyrian" -t "$FP_DIR/data"

# No X, init it
else

exec xinit $FP_DIR/opentyrian -t $FP_DIR/data
exec xinit "$FP_DIR/opentyrian" -t "$FP_DIR/data"

fi
12 changes: 7 additions & 5 deletions .github/workflows/shellcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,19 @@ jobs:
curl -sSfL "$(curl -sSf 'https://api.github.com/repos/koalaman/shellcheck/releases/latest' | mawk -F\" '/"browser_download_url.*\.linux\.x86_64\.tar\.xz"/{print $4;exit}')" -o shellcheck.tar.xz
tar --wildcards --strip-components=1 -xf shellcheck.tar.xz '*/shellcheck'
rm shellcheck.tar.xz
- name: Setup DietPi-Globals
run: |
sudo mkdir -p /boot/dietpi/func
sudo cp dietpi/func/dietpi-globals /boot/dietpi/func/
sudo ./dietpi/func/dietpi-obtain_hw_model
echo -e 'G_HW_MEMORY_SIZE=1024\nG_HW_ONBOARD_WIFI=1' | sudo tee -a /boot/dietpi/.hw_model
- name: Run shellcheck
run: |
mapfile -t FILES < <(find . -not \( -path './.git' -prune \) -type f) # read all files to array
for i in "${!FILES[@]}"
do
echo "Processing: ${FILES[$i]}"
[[ ${FILES[$i]##*/} =~ '.'[^.]*'sh'$ ]] && continue # file has shell extension
echo "No shell extension: ${FILES[$i]}"
[[ $(mawk 'NR==1 && $0 ~ /^#!.*sh([[:blank:]]|$)/{print;exit}' "${FILES[$i]}") ]] && continue # file has shell shebang
echo "No shell shebang: ${FILES[$i]}"
unset -v "FILES[$i]" # else remove from array
done
printf '%s\n' "${FILES[@]}"
./shellcheck -o all -C "${FILES[@]}"
./shellcheck -C -xo all "${FILES[@]}"
39 changes: 20 additions & 19 deletions .meta/dietpi-fan_control
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ dietpi-fan_control 1 => Non-interactively apply settings from $FP_SETTINGS.
if ! [[ -e $FP_TEMP_CONTROLLED && -e $FP_TRIP_TEMPS && -e $FP_TRIP_SPEEDS && -e $FP_STATIC_SPEED ]]; then

# DEBUG
echo "$FP_TEMP_CONTROLLED: $(<$FP_TEMP_CONTROLLED)"
echo "$FP_TRIP_TEMPS: $(<$FP_TRIP_TEMPS)"
echo "$FP_TRIP_SPEEDS: $(<$FP_TRIP_SPEEDS)"
echo "$FP_STATIC_SPEED: $(<$FP_STATIC_SPEED)"
echo "$FP_TEMP_CONTROLLED: $(<"$FP_TEMP_CONTROLLED")"
echo "$FP_TRIP_TEMPS: $(<"$FP_TRIP_TEMPS")"
echo "$FP_TRIP_SPEEDS: $(<"$FP_TRIP_SPEEDS")"
echo "$FP_STATIC_SPEED: $(<"$FP_STATIC_SPEED")"
G_DIETPI-NOTIFY 1 'CPU fan control is not available on your device. Aborting...'
exit 1

Expand Down Expand Up @@ -82,7 +82,7 @@ dietpi-fan_control 1 => Non-interactively apply settings from $FP_SETTINGS.
Read_Control_Files(){

# Read current fan control toggle
TEMP_CONTROLLED_CURRENT=$(<$FP_TEMP_CONTROLLED)
TEMP_CONTROLLED_CURRENT=$(<"$FP_TEMP_CONTROLLED")

# Read current trip point temperatures, assuming values of CPU0 for all CPUs
local fp_target i=0
Expand All @@ -91,7 +91,7 @@ dietpi-fan_control 1 => Non-interactively apply settings from $FP_SETTINGS.
do

# Convert "XY000" to XY°C
TRIP_TEMPS_CURRENT+=" $(( $(</sys/devices/virtual/thermal/thermal_zone0/trip_point_${i}_temp) / 1000 ))"
TRIP_TEMPS_CURRENT+=" $(( $(<"/sys/devices/virtual/thermal/thermal_zone0/trip_point_${i}_temp") / 1000 ))"
((i++))

done
Expand All @@ -100,7 +100,7 @@ dietpi-fan_control 1 => Non-interactively apply settings from $FP_SETTINGS.

# Read current trip point fan speeds
TRIP_SPEEDS_CURRENT=
for i in $(<$FP_TRIP_SPEEDS)
for i in $(<"$FP_TRIP_SPEEDS")
do
# Convert 0-255 to 0-100%
TRIP_SPEEDS_CURRENT+=" $(( $i * 100 / 255 ))"
Expand All @@ -110,7 +110,7 @@ dietpi-fan_control 1 => Non-interactively apply settings from $FP_SETTINGS.

# Read current static fan speed
# - Convert 0-255 to 0-100%
STATIC_SPEED_CURRENT=$(( $(<$FP_STATIC_SPEED) * 100 / 255 ))
STATIC_SPEED_CURRENT=$(( $(<"$FP_STATIC_SPEED") * 100 / 255 ))

}

Expand All @@ -119,7 +119,8 @@ dietpi-fan_control 1 => Non-interactively apply settings from $FP_SETTINGS.
# - $TRIP_TEMPS='XX YY ZZ'; XX°C YY°C ZZ°C
# - $TRIP_SPEEDS='AAA BBB CCC DDD'; AAA*100/255 %...
# - $STATIC_SPEED=EEE; EEE*100/255 %
Read_Settings(){ . $FP_SETTINGS; }
# shellcheck disable=SC1090
Read_Settings(){ . "$FP_SETTINGS"; }

# Verify valid settings, before applying
Verify_Settings(){
Expand Down Expand Up @@ -164,20 +165,20 @@ dietpi-fan_control 1 => Non-interactively apply settings from $FP_SETTINGS.
Write_Settings(){

# Write fan control toggle to settings file
echo "TEMP_CONTROLLED=$TEMP_CONTROLLED" > $FP_SETTINGS
echo "TEMP_CONTROLLED=$TEMP_CONTROLLED" > "$FP_SETTINGS"

if (( $TEMP_CONTROLLED )); then

# Write trip points and attached temperatures to settings file
cat << _EOF_ >> $FP_SETTINGS
cat << _EOF_ >> "$FP_SETTINGS"
TRIP_TEMPS='$TRIP_TEMPS'
TRIP_SPEEDS='$TRIP_SPEEDS'
_EOF_

else

# - Write static fan speed to settings file
echo "STATIC_SPEED=$STATIC_SPEED" >> $FP_SETTINGS
echo "STATIC_SPEED=$STATIC_SPEED" >> "$FP_SETTINGS"

fi

Expand All @@ -187,10 +188,10 @@ _EOF_
Apply_Settings(){

#-----------------------------------------------------------------------------------
G_DIETPI-NOTIFY 3 $G_PROGRAM_NAME 'Applying CPU fan settings'
G_DIETPI-NOTIFY 3 "$G_PROGRAM_NAME" 'Applying CPU fan settings'
#-----------------------------------------------------------------------------------
# Apply fan control toggle
echo "$TEMP_CONTROLLED" > $FP_TEMP_CONTROLLED
echo "$TEMP_CONTROLLED" > "$FP_TEMP_CONTROLLED"

if (( $TEMP_CONTROLLED )); then

Expand All @@ -208,7 +209,7 @@ _EOF_
[[ ! -e $fp_target ]] && G_DIETPI-NOTIFY 1 "Trip point temperature file missing: $fp_target. Skipping..." && break

# Convert XY°C to XY000
echo "${temp}000" > $fp_target
echo "${temp}000" > "$fp_target"
((j++))
done
done
Expand All @@ -222,13 +223,13 @@ _EOF_
done
# - Remove leading white space
trip_speeds_target=${trip_speeds_target# }
echo "$trip_speeds_target" > $FP_TRIP_SPEEDS
echo "$trip_speeds_target" > "$FP_TRIP_SPEEDS"

else

# Apply static fan speed
# - Convert 0-100% to 0-255
echo $(( $STATIC_SPEED * 255 / 100 )) > $FP_STATIC_SPEED
echo $(( $STATIC_SPEED * 255 / 100 )) > "$FP_STATIC_SPEED"

fi

Expand All @@ -241,7 +242,7 @@ _EOF_

if G_WHIP_YESNO 'Reset fan control settings\n\nYour fan control settings file will be removed and current selections purged. This will take effect after next reboot.\n\nDo you want to continue?'; then

[[ -f $FP_SETTINGS ]] && G_EXEC_DESC="Removing $FP_SETTINGS" G_EXEC rm $FP_SETTINGS
[[ -f $FP_SETTINGS ]] && G_EXEC_DESC="Removing $FP_SETTINGS" G_EXEC rm "$FP_SETTINGS"
G_EXEC_DESC='Resetting current selections' G_EXEC unset TEMP_CONTROLLED TRIP_TEMPS TRIP_SPEEDS STATIC_SPEED

fi
Expand All @@ -260,7 +261,7 @@ EG: To have trip points at 35°C, 50°C and 65°C, enter\n \"35 50 65\"" &&

G_WHIP_DEFAULT_ITEM=$TRIP_SPEEDS
G_WHIP_INPUTBOX "Please enter $(( $TRIP_POINT_COUNT + 1 )) space-separated fan speeds in % (percent) of the maximum possible speed.
EG: To disable the fan below $(( $(<$FP_TRIP_TEMPS) / 1000 ))°C, run it at 45% above, 70% after reaching $(( $(<${FP_TRIP_TEMPS/0_temp/1_temp}) / 1000 ))°C and 95% above $(( $(<${FP_TRIP_TEMPS/0_temp/2_temp}) / 1000 ))°C, enter
EG: To disable the fan below $(( $(<"$FP_TRIP_TEMPS") / 1000 ))°C, run it at 45% above, 70% after reaching $(( $(<"${FP_TRIP_TEMPS/0_temp/1_temp}") / 1000 ))°C and 95% above $(( $(<"${FP_TRIP_TEMPS/0_temp/2_temp}") / 1000 ))°C, enter
\"0 45 70 95\"" && TRIP_SPEEDS=$G_WHIP_RETURNED_VALUE

}
Expand Down
Loading

0 comments on commit 8ba97a6

Please sign in to comment.