mirror of
https://github.com/dockur/windows.git
synced 2024-11-19 02:31:47 +00:00
fix: Shellcheck (#84)
This commit is contained in:
parent
d3a91d8dfc
commit
ca54001bc0
3 changed files with 25 additions and 19 deletions
2
.github/workflows/check.yml
vendored
2
.github/workflows/check.yml
vendored
|
@ -11,7 +11,7 @@ jobs:
|
||||||
- name: Run ShellCheck
|
- name: Run ShellCheck
|
||||||
uses: ludeeus/action-shellcheck@master
|
uses: ludeeus/action-shellcheck@master
|
||||||
env:
|
env:
|
||||||
SHELLCHECK_OPTS: -x --source-path=src -e SC1091 -e SC2001 -e SC2034 -e SC2064 -e SC2317 -e SC2153
|
SHELLCHECK_OPTS: -x --source-path=src -e SC1091 -e SC2001 -e SC2002 -e SC2034 -e SC2064 -e SC2153 -e SC2317
|
||||||
- name: Validate XML
|
- name: Validate XML
|
||||||
uses: action-pack/valid-xml@v1
|
uses: action-pack/valid-xml@v1
|
||||||
with:
|
with:
|
||||||
|
|
|
@ -113,6 +113,7 @@ finishInstall() {
|
||||||
|
|
||||||
startInstall() {
|
startInstall() {
|
||||||
|
|
||||||
|
local magic
|
||||||
local msg="Windows is being started, please wait..."
|
local msg="Windows is being started, please wait..."
|
||||||
|
|
||||||
if [ -f "$STORAGE/$CUSTOM" ]; then
|
if [ -f "$STORAGE/$CUSTOM" ]; then
|
||||||
|
@ -161,7 +162,7 @@ startInstall() {
|
||||||
if [ -f "$STORAGE/$BASE" ]; then
|
if [ -f "$STORAGE/$BASE" ]; then
|
||||||
|
|
||||||
# Check if the ISO was already processed by our script
|
# Check if the ISO was already processed by our script
|
||||||
local magic=$(dd if="$STORAGE/$BASE" seek=0 bs=1 count=1 status=none | tr -d '\000')
|
magic=$(dd if="$STORAGE/$BASE" seek=0 bs=1 count=1 status=none | tr -d '\000')
|
||||||
magic="$(printf '%s' "$magic" | od -A n -t x1 -v | tr -d ' \n')"
|
magic="$(printf '%s' "$magic" | od -A n -t x1 -v | tr -d ' \n')"
|
||||||
|
|
||||||
if [[ "$magic" == "16" ]]; then
|
if [[ "$magic" == "16" ]]; then
|
||||||
|
@ -236,15 +237,16 @@ extractImage() {
|
||||||
|
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
local dir="$2"
|
local dir="$2"
|
||||||
|
local size size_gb space space_gb
|
||||||
|
|
||||||
local msg="Extracting downloaded ISO image..."
|
local msg="Extracting downloaded ISO image..."
|
||||||
[ -n "$CUSTOM" ] && msg="Extracting local ISO image..."
|
[ -n "$CUSTOM" ] && msg="Extracting local ISO image..."
|
||||||
info "$msg" && html "$msg"
|
info "$msg" && html "$msg"
|
||||||
|
|
||||||
local size=$(stat -c%s "$iso")
|
size=$(stat -c%s "$iso")
|
||||||
local size_gb=$(( (size + 1073741823)/1073741824 ))
|
size_gb=$(( (size + 1073741823)/1073741824 ))
|
||||||
local space=$(df --output=avail -B 1 "$TMP" | tail -n 1)
|
space=$(df --output=avail -B 1 "$TMP" | tail -n 1)
|
||||||
local space_gb=$(( (space + 1073741823)/1073741824 ))
|
space_gb=$(( (space + 1073741823)/1073741824 ))
|
||||||
|
|
||||||
if ((size<10000000)); then
|
if ((size<10000000)); then
|
||||||
error "Invalid ISO file: Size is smaller than 10 MB" && exit 62
|
error "Invalid ISO file: Size is smaller than 10 MB" && exit 62
|
||||||
|
@ -292,6 +294,7 @@ findVersion() {
|
||||||
selectXML() {
|
selectXML() {
|
||||||
|
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
|
local tag result name name2 detected
|
||||||
|
|
||||||
XML=""
|
XML=""
|
||||||
[[ "$MANUAL" == [Yy1]* ]] && return 0
|
[[ "$MANUAL" == [Yy1]* ]] && return 0
|
||||||
|
@ -311,15 +314,15 @@ selectXML() {
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local tag="DISPLAYNAME"
|
tag="DISPLAYNAME"
|
||||||
local result=$(wimlib-imagex info -xml "$loc" | tr -d '\000')
|
result=$(wimlib-imagex info -xml "$loc" | tr -d '\000')
|
||||||
local name=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$result")
|
name=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$result")
|
||||||
local detected=$(findVersion "$name")
|
detected=$(findVersion "$name")
|
||||||
|
|
||||||
if [ -z "$detected" ]; then
|
if [ -z "$detected" ]; then
|
||||||
|
|
||||||
tag="PRODUCTNAME"
|
tag="PRODUCTNAME"
|
||||||
local name2=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$result")
|
name2=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$result")
|
||||||
[ -z "$name" ] && name="$name2"
|
[ -z "$name" ] && name="$name2"
|
||||||
detected=$(findVersion "$name2")
|
detected=$(findVersion "$name2")
|
||||||
|
|
||||||
|
@ -355,6 +358,7 @@ updateImage() {
|
||||||
|
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
local asset="$2"
|
local asset="$2"
|
||||||
|
local index result
|
||||||
|
|
||||||
[ ! -f "$asset" ] && return 0
|
[ ! -f "$asset" ] && return 0
|
||||||
replaceXML "$dir" "$asset"
|
replaceXML "$dir" "$asset"
|
||||||
|
@ -369,8 +373,8 @@ updateImage() {
|
||||||
|
|
||||||
info "Adding XML file for automatic installation..."
|
info "Adding XML file for automatic installation..."
|
||||||
|
|
||||||
local index="1"
|
index="1"
|
||||||
local result=$(wimlib-imagex info -xml "$loc" | tr -d '\000')
|
result=$(wimlib-imagex info -xml "$loc" | tr -d '\000')
|
||||||
|
|
||||||
if [[ "${result^^}" == *"<IMAGE INDEX=\"2\">"* ]]; then
|
if [[ "${result^^}" == *"<IMAGE INDEX=\"2\">"* ]]; then
|
||||||
index="2"
|
index="2"
|
||||||
|
@ -386,6 +390,8 @@ buildImage() {
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
local cat="BOOT.CAT"
|
local cat="BOOT.CAT"
|
||||||
local label="${BASE%.*}"
|
local label="${BASE%.*}"
|
||||||
|
local size size_gb space space_gb
|
||||||
|
|
||||||
label="${label::30}"
|
label="${label::30}"
|
||||||
local out="$TMP/$label.tmp"
|
local out="$TMP/$label.tmp"
|
||||||
rm -f "$out"
|
rm -f "$out"
|
||||||
|
@ -393,10 +399,10 @@ buildImage() {
|
||||||
local msg="Generating updated ISO image..."
|
local msg="Generating updated ISO image..."
|
||||||
info "$msg" && html "$msg"
|
info "$msg" && html "$msg"
|
||||||
|
|
||||||
local size=$(du -h -b --max-depth=0 "$dir" | cut -f1)
|
size=$(du -h -b --max-depth=0 "$dir" | cut -f1)
|
||||||
local size_gb=$(( (size + 1073741823)/1073741824 ))
|
size_gb=$(( (size + 1073741823)/1073741824 ))
|
||||||
local space=$(df --output=avail -B 1 "$TMP" | tail -n 1)
|
space=$(df --output=avail -B 1 "$TMP" | tail -n 1)
|
||||||
local space_gb=$(( (space + 1073741823)/1073741824 ))
|
space_gb=$(( (space + 1073741823)/1073741824 ))
|
||||||
|
|
||||||
if (( size > space )); then
|
if (( size > space )); then
|
||||||
error "Not enough free space in $STORAGE, have $space_gb GB available but need at least $size_gb GB." && exit 63
|
error "Not enough free space in $STORAGE, have $space_gb GB available but need at least $size_gb GB." && exit 63
|
||||||
|
|
|
@ -116,7 +116,7 @@ _graceful_shutdown() {
|
||||||
finish "$code" && return "$code"
|
finish "$code" && return "$code"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! f "$STORAGE/windows.boot" ] && [ -f "$QEMU_PTY" ]; then
|
if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$QEMU_PTY" ]; then
|
||||||
if ! grep -Fq "Windows Boot Manager" "$QEMU_PTY"; then
|
if ! grep -Fq "Windows Boot Manager" "$QEMU_PTY"; then
|
||||||
info "Cannot send ACPI signal during Windows setup, aborting..."
|
info "Cannot send ACPI signal during Windows setup, aborting..."
|
||||||
finish "$code" && return "$code"
|
finish "$code" && return "$code"
|
||||||
|
|
Loading…
Reference in a new issue