32 lines
1.0 KiB
Bash
Executable File
32 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# Создаёт HDD полного UI-сценария conflict-policy P19.
|
|
|
|
set -eu
|
|
: "${SPRINTER_ROOT:?задайте SPRINTER_ROOT для упаковки HDD}"
|
|
|
|
PROJECT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
|
IMAGE=${1:-$PROJECT_DIR/build/hdd/p19_policy.chd}
|
|
COMMANDER=${2:-$PROJECT_DIR/build/sprcmd.exe}
|
|
TEMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/sprcmd-p19-ui.XXXXXX")
|
|
BASE_CHD="$TEMP_DIR/base.chd"
|
|
RAW="$TEMP_DIR/p19.raw"
|
|
MTC="$TEMP_DIR/mtools.conf"
|
|
|
|
cleanup()
|
|
{
|
|
rm -rf -- "$TEMP_DIR"
|
|
}
|
|
trap cleanup EXIT HUP INT TERM
|
|
|
|
python3 "$PROJECT_DIR/tests/p19_policy_fixture.py" create "$TEMP_DIR"
|
|
"$SPRINTER_ROOT/toolchain/make_hdd.sh" "$BASE_CHD" \
|
|
"$COMMANDER" "$TEMP_DIR/P19SRC" "$TEMP_DIR/P19DST"
|
|
chdman extractraw -i "$BASE_CHD" -o "$RAW" -f >/dev/null
|
|
printf 'drive z: file="%s" partition=1\n' "$RAW" > "$MTC"
|
|
export MTOOLSRC="$MTC" MTOOLS_SKIP_CHECK=1
|
|
mattrib +r z:/P19DST/RONLY.BIN
|
|
mkdir -p "$(dirname -- "$IMAGE")"
|
|
chdman createhd -i "$RAW" -o "$IMAGE" -c none \
|
|
-chs 128,16,32 -ss 512 -f
|
|
printf 'P19 policy HDD ready: %s\n' "$IMAGE"
|