#!/bin/bash -e print_usage() { normalized_usage | grep -v "^mod-parts" echo -e "done \tdone modifying and quit" } modify_partitions() { echo "==========================================" echo " Start modifying partitions" echo "==========================================" rk_partition_print echo echo "Usage:" print_usage while true; do echo read -p "Commands (? for help): " SUB_CMD ARGS || break case "${SUB_CMD:-print-parts}" in done) break ;; print-parts) rk_partition_print continue ;; edit-parts) FUNC=rk_partition_edit ;; new-parts) FUNC=rk_partition_create ;; insert-part) FUNC=rk_partition_insert ;; del-part) FUNC=rk_partition_del ;; move-part) FUNC=rk_partition_move ;; rename-part) FUNC=rk_partition_rename ;; resize-part) FUNC=rk_partition_resize ;; help | h | -h | --help | \?) FUNC=false ;; *) echo "Unknown command: $SUB_CMD" FUNC=false ;; esac if $FUNC $ARGS; then rk_partition_print else print_usage fi done } # Hooks usage_hook() { echo -e "print-parts \tprint partitions" echo -e "mod-parts \tinteractive partition table modify" echo -e "edit-parts \tedit raw partitions" echo -e "new-parts:::...\tre-create partitions" echo -e "insert-part::[:] \tinsert partition" echo -e "del-part:(|) \tdelete partition" echo -e "move-part:(|): \tmove partition" echo -e "rename-part:(|): \trename partition" echo -e "resize-part:(|): \tresize partition" } PRE_BUILD_CMDS="print-parts mod-parts edit-parts new-parts insert-part del-part move-part rename-part resize-part" pre_build_hook() { check_config RK_PARAMETER || return 0 CMD=$1 shift case "$CMD" in print-parts) rk_partition_print $@ ;; mod-parts) modify_partitions $@ ;; edit-parts) rk_partition_edit $@ ;; new-parts) rk_partition_create $@ ;; insert-part) rk_partition_insert $@ ;; del-part) rk_partition_del $@ ;; move-part) rk_partition_move $@ ;; rename-part) rk_partition_rename $@ ;; resize-part) rk_partition_resize $@ ;; *) normalized_usage exit 1 ;; esac finish_build $CMD $@ } source "${BUILD_HELPER:-$(dirname "$(realpath "$0")")/../build-hooks/build-helper}" pre_build_hook $@