armbian-next: cli: de-hardcode build and docker's interdependence, via DOCKER_CLI_CMD

- `undecided` now directly sends to `build`, which might send to `docker`, which relaunches `build` in Docker;
- the _sending to Docker_ part probably needs refactor
This commit is contained in:
Ricardo Pardini
2022-10-27 22:26:36 +02:00
parent d502402c1a
commit 497a3a80ab
4 changed files with 6 additions and 13 deletions

View File

@@ -15,6 +15,7 @@ function cli_standard_build_pre_run() {
if is_docker_ready_to_go; then
# add the current user EUID as a parameter when it's relaunched under docker. SET_OWNER_TO_UID="${EUID}"
display_alert "Trying to build, not root, but Docker is ready to go" "delegating to Docker" "debug"
ARMBIAN_CLI_RELAUNCH_PARAMS+=(["DOCKER_CLI_CMD"]="build") # add params when relaunched under docker
ARMBIAN_CHANGE_COMMAND_TO="docker"
return 0
fi

View File

@@ -6,11 +6,9 @@ function cli_docker_pre_run() {
# make sure we're not _ALREADY_ running under docker... otherwise eternal loop?
if [[ "${ARMBIAN_RUNNING_IN_CONTAINER}" == "yes" ]]; then
display_alert "wtf" "asking for docker... inside docker; turning to build command" "warn"
# @TODO: wrong, what if we wanna run other stuff inside Docker? not build?
ARMBIAN_CHANGE_COMMAND_TO="build"
display_alert "DOCKER_CLI_CMD" "asking for docker... inside docker; turning to '${DOCKER_CLI_CMD}' command" "warn"
ARMBIAN_CHANGE_COMMAND_TO="${DOCKER_CLI_CMD}"
fi
}
function cli_docker_run() {

View File

@@ -1,14 +1,7 @@
function cli_undecided_pre_run() {
# If undecided, run the 'build' command.
# 'build' will then defer to 'docker' if ran on Darwin.
# so save a trip, check if we're on Darwin right here.
if [[ "$(uname)" == "Linux" ]]; then
display_alert "Linux!" "func cli_undecided_pre_run go to build" "debug"
ARMBIAN_CHANGE_COMMAND_TO="build"
else
display_alert "Not under Linux; use docker..." "func cli_undecided_pre_run go to docker" "debug"
ARMBIAN_CHANGE_COMMAND_TO="docker"
fi
display_alert "cli_undecided_pre_run" "func cli_undecided_pre_run go to build" "debug"
ARMBIAN_CHANGE_COMMAND_TO="build"
}
function cli_undecided_run() {

View File

@@ -58,6 +58,7 @@ function cli_entrypoint() {
while [[ "${ARMBIAN_CHANGE_COMMAND_TO}" != "" ]]; do
display_alert "Still a command to pre-run, this time:" "${ARMBIAN_CHANGE_COMMAND_TO}" "debug"
declare -g ARMBIAN_COMMAND_REQUIRE_BASIC_DEPS="no" # reset this before every pre_run, so only the last one wins.
ARMBIAN_COMMAND="${ARMBIAN_CHANGE_COMMAND_TO}"
armbian_prepare_cli_command_to_run "${ARMBIAN_COMMAND}"