Добавлен флаг force для тихой сборки
This commit is contained in:
parent
9bc27e0fb8
commit
4084e183c7
1 changed files with 19 additions and 8 deletions
27
ipxe.sh
27
ipxe.sh
|
|
@ -205,7 +205,7 @@ set -eu
|
|||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
Использование: build-ipxe.sh [--efi] [--legacy] [--iso] [--default] [--patch] [-h|--help]
|
||||
Использование: build-ipxe.sh [--efi] [--legacy] [--iso] [--default] [--patch] [--force] [-h|--help]
|
||||
|
||||
Без флагов собираются все цели:
|
||||
--legacy -> make bin-i386-pcbios/undionly.kpxe EMBED=start.ipxe
|
||||
|
|
@ -215,6 +215,7 @@ usage() {
|
|||
Дополнительно:
|
||||
--default -> включение дефолтных опций в config/general.h (PING_CMD, IPSTAT_CMD, CONSOLE_CMD, REBOOT_CMD, POWEROFF)
|
||||
--patch -> применение /develop/certtrust.patch к /root/ipxe (git apply) и активация HTTPS, CERT_CMD
|
||||
--force -> не открывать редактор (nano), собирать с шаблонными start.ipxe и текущим config/general.h
|
||||
EOF
|
||||
}
|
||||
|
||||
|
|
@ -235,6 +236,7 @@ ANY=0
|
|||
|
||||
OPT_DEFAULT=0
|
||||
OPT_PATCH=0
|
||||
OPT_FORCE=0
|
||||
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
|
|
@ -243,6 +245,7 @@ for arg in "$@"; do
|
|||
--iso|-i) BUILD_ISO=1; ANY=1 ;;
|
||||
--default) OPT_DEFAULT=1 ;;
|
||||
--patch) OPT_PATCH=1 ;;
|
||||
--force|-f) OPT_FORCE=1 ;;
|
||||
-h|--help) usage; exit 0 ;;
|
||||
*)
|
||||
echo "Неизвестный флаг: $arg" >&2
|
||||
|
|
@ -268,7 +271,9 @@ PATCH_FILE="/develop/certtrust.patch"
|
|||
|
||||
# ---- проверки ----
|
||||
[ -d "$SRC" ] || { echo "Отсутствует каталог: $SRC" >&2; exit 1; }
|
||||
command -v nano >/dev/null 2>&1 || { echo "Требуется nano" >&2; exit 1; }
|
||||
if [ "$OPT_FORCE" -eq 0 ]; then
|
||||
command -v nano >/dev/null 2>&1 || { echo "Требуется nano (или используйте --force)" >&2; exit 1; }
|
||||
fi
|
||||
mkdir -p "$(dirname "$FILE")" "$(dirname "$CONFIG")"
|
||||
|
||||
# ---- запись шаблона start.ipxe ----
|
||||
|
|
@ -305,13 +310,19 @@ if [ "$OPT_PATCH" -eq 1 ]; then
|
|||
sed -i 's|//[[:space:]]*#define[[:space:]]*CERT_CMD|#define CERT_CMD|' "$CONFIG"
|
||||
fi
|
||||
|
||||
# ---- редактирование ----
|
||||
echo "Открытие в nano: $FILE"
|
||||
nano "$FILE"
|
||||
[ -f "$FILE" ] || { echo "Отсутствует файл: $FILE; сборка прервана" >&2; exit 1; }
|
||||
# ---- редактирование (опционально) ----
|
||||
if [ "$OPT_FORCE" -eq 0 ]; then
|
||||
echo "Открытие в nano: $FILE"
|
||||
nano "$FILE"
|
||||
[ -f "$FILE" ] || { echo "Отсутствует файл: $FILE; сборка прервана" >&2; exit 1; }
|
||||
|
||||
echo "Открытие в nano: $CONFIG"
|
||||
nano "$CONFIG"
|
||||
echo "Открытие в nano: $CONFIG"
|
||||
nano "$CONFIG"
|
||||
else
|
||||
echo "Режим --force: редактирование пропущено."
|
||||
echo " start.ipxe: $FILE"
|
||||
echo " general.h : $CONFIG"
|
||||
fi
|
||||
|
||||
# ---- сборка ----
|
||||
cd "$SRC"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue