mirror of
https://github.com/dockur/windows.git
synced 2025-10-29 12:15:50 +00:00
Update install.sh
This commit is contained in:
parent
e62d790f99
commit
c3c80463c9
1 changed files with 13 additions and 16 deletions
|
|
@ -1,8 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
LABEL=""
|
|
||||||
ESD_URL=""
|
|
||||||
TMP="$STORAGE/tmp"
|
TMP="$STORAGE/tmp"
|
||||||
DIR="$TMP/unpack"
|
DIR="$TMP/unpack"
|
||||||
FB="falling back to manual installation!"
|
FB="falling back to manual installation!"
|
||||||
|
|
@ -37,7 +35,6 @@ startInstall() {
|
||||||
|
|
||||||
if [ -f "$STORAGE/$CUSTOM" ]; then
|
if [ -f "$STORAGE/$CUSTOM" ]; then
|
||||||
|
|
||||||
EXTERNAL="Y"
|
|
||||||
BASE="$CUSTOM"
|
BASE="$CUSTOM"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
@ -46,12 +43,10 @@ startInstall() {
|
||||||
|
|
||||||
if [[ "${VERSION,,}" != "http"* ]]; then
|
if [[ "${VERSION,,}" != "http"* ]]; then
|
||||||
|
|
||||||
EXTERNAL="N"
|
|
||||||
BASE="$VERSION.iso"
|
BASE="$VERSION.iso"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
EXTERNAL="Y"
|
|
||||||
BASE=$(basename "${VERSION%%\?*}")
|
BASE=$(basename "${VERSION%%\?*}")
|
||||||
: "${BASE//+/ }"; printf -v BASE '%b' "${_//%/\\x}"
|
: "${BASE//+/ }"; printf -v BASE '%b' "${_//%/\\x}"
|
||||||
BASE=$(echo "$BASE" | sed -e 's/[^A-Za-z0-9._-]/_/g')
|
BASE=$(echo "$BASE" | sed -e 's/[^A-Za-z0-9._-]/_/g')
|
||||||
|
|
@ -87,7 +82,6 @@ startInstall() {
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
EXTERNAL="Y"
|
|
||||||
CUSTOM="$BASE"
|
CUSTOM="$BASE"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
@ -246,9 +240,9 @@ getESD() {
|
||||||
error "Failed to find Windows product in $eFile!" && return 1
|
error "Failed to find Windows product in $eFile!" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ESD_URL=$(xmllint --nonet --xpath '//FilePath' "$dir/$eFile" | sed -E -e 's/<[\/]?FilePath>//g')
|
ESD=$(xmllint --nonet --xpath '//FilePath' "$dir/$eFile" | sed -E -e 's/<[\/]?FilePath>//g')
|
||||||
|
|
||||||
if [ -z "$ESD_URL" ]; then
|
if [ -z "$ESD" ]; then
|
||||||
error "Failed to find ESD URL in $eFile!" && return 1
|
error "Failed to find ESD URL in $eFile!" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -397,7 +391,7 @@ downloadImage() {
|
||||||
|
|
||||||
if getESD "$TMP/esd" "$version"; then
|
if getESD "$TMP/esd" "$version"; then
|
||||||
ISO="$TMP/$version.esd"
|
ISO="$TMP/$version.esd"
|
||||||
downloadFile "$ISO" "$ESD_URL" "" "$desc" && return 0
|
downloadFile "$ISO" "$ESD" "" "$desc" && return 0
|
||||||
ISO="$TMP/$BASE"
|
ISO="$TMP/$BASE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -510,11 +504,14 @@ extractImage() {
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
local dir="$2"
|
local dir="$2"
|
||||||
local version="$3"
|
local version="$3"
|
||||||
local desc="downloaded ISO"
|
local desc="local ISO"
|
||||||
local size size_gb space space_gb
|
local size size_gb space space_gb
|
||||||
|
|
||||||
if [[ "$EXTERNAL" != [Yy1]* ]] && [ -z "$CUSTOM" ]; then
|
if [ -z "$CUSTOM" ]; then
|
||||||
desc=$(printVersion "$version" "downloaded ISO")
|
desc="downloaded ISO"
|
||||||
|
if [[ "$version" != "http"* ]]; then
|
||||||
|
desc=$(printVersion "$version" "$desc")
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${iso,,}" == *".esd" ]]; then
|
if [[ "${iso,,}" == *".esd" ]]; then
|
||||||
|
|
@ -523,7 +520,6 @@ extractImage() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local msg="Extracting $desc image..."
|
local msg="Extracting $desc image..."
|
||||||
[ -n "$CUSTOM" ] && msg="Extracting local ISO image..."
|
|
||||||
info "$msg" && html "$msg"
|
info "$msg" && html "$msg"
|
||||||
|
|
||||||
rm -rf "$dir"
|
rm -rf "$dir"
|
||||||
|
|
@ -601,6 +597,7 @@ detectVersion() {
|
||||||
detectImage() {
|
detectImage() {
|
||||||
|
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
|
local version="$2"
|
||||||
local desc msg
|
local desc msg
|
||||||
|
|
||||||
XML=""
|
XML=""
|
||||||
|
|
@ -608,8 +605,8 @@ detectImage() {
|
||||||
if [ -n "$CUSTOM" ]; then
|
if [ -n "$CUSTOM" ]; then
|
||||||
DETECTED=""
|
DETECTED=""
|
||||||
else
|
else
|
||||||
if [ -z "$DETECTED" ] && [[ "$EXTERNAL" != [Yy1]* ]]; then
|
if [ -z "$DETECTED" ] && [[ "${version,,}" != "http"* ]]; then
|
||||||
DETECTED="$VERSION"
|
DETECTED="$version"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -920,7 +917,7 @@ if ! extractImage "$ISO" "$DIR" "$VERSION"; then
|
||||||
exit 62
|
exit 62
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! detectImage "$DIR"; then
|
if ! detectImage "$DIR" "$VERSION"; then
|
||||||
abortInstall "$ISO" && return 0
|
abortInstall "$ISO" && return 0
|
||||||
exit 60
|
exit 60
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue