mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
lib: fix: replace undue export statements with declare -g
This commit is contained in:
committed by
Igor Pečovnik
parent
77921725fb
commit
ed0b406265
@@ -17,7 +17,7 @@ function cli_docker_pre_run() {
|
|||||||
shell)
|
shell)
|
||||||
# inside-function-function: a dynamic hook, only triggered if this CLI runs.
|
# inside-function-function: a dynamic hook, only triggered if this CLI runs.
|
||||||
function add_host_dependencies__ssh_client_for_docker_shell_over_ssh() {
|
function add_host_dependencies__ssh_client_for_docker_shell_over_ssh() {
|
||||||
export EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} openssh-client"
|
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} openssh-client"
|
||||||
}
|
}
|
||||||
declare -g DOCKER_PASS_SSH_AGENT="yes" # Pass SSH agent to docker
|
declare -g DOCKER_PASS_SSH_AGENT="yes" # Pass SSH agent to docker
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ function cli_patch_kernel_pre_run() {
|
|||||||
# inside-function-function: a dynamic hook, only triggered if this CLI runs.
|
# inside-function-function: a dynamic hook, only triggered if this CLI runs.
|
||||||
# install openssh-client, we'll need it to push the patched tree.
|
# install openssh-client, we'll need it to push the patched tree.
|
||||||
function add_host_dependencies__ssh_client_for_patch_pushing_over_ssh() {
|
function add_host_dependencies__ssh_client_for_patch_pushing_over_ssh() {
|
||||||
export EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} openssh-client"
|
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} openssh-client"
|
||||||
}
|
}
|
||||||
|
|
||||||
# "gimme root on a Linux machine"
|
# "gimme root on a Linux machine"
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ function compile_uboot_target() {
|
|||||||
PRE_CONFIG_UBOOT_TARGET
|
PRE_CONFIG_UBOOT_TARGET
|
||||||
|
|
||||||
display_alert "${uboot_prefix}Preparing u-boot config" "${version} ${target_make}" "info"
|
display_alert "${uboot_prefix}Preparing u-boot config" "${version} ${target_make}" "info"
|
||||||
export if_error_detail_message="${uboot_prefix}Failed to configure u-boot ${version} $BOOTCONFIG ${target_make}"
|
declare -g if_error_detail_message="${uboot_prefix}Failed to configure u-boot ${version} $BOOTCONFIG ${target_make}"
|
||||||
run_host_command_logged CCACHE_BASEDIR="$(pwd)" PATH="${toolchain}:${toolchain2}:${PATH}" \
|
run_host_command_logged CCACHE_BASEDIR="$(pwd)" PATH="${toolchain}:${toolchain2}:${PATH}" \
|
||||||
"KCFLAGS=-fdiagnostics-color=always" \
|
"KCFLAGS=-fdiagnostics-color=always" \
|
||||||
unbuffer make "$CTHREADS" "$BOOTCONFIG" "CROSS_COMPILE=\"$CCACHE $UBOOT_COMPILER\""
|
unbuffer make "$CTHREADS" "$BOOTCONFIG" "CROSS_COMPILE=\"$CCACHE $UBOOT_COMPILER\""
|
||||||
@@ -169,7 +169,7 @@ function compile_uboot_target() {
|
|||||||
local uboot_cflags="${uboot_cflags_array[*]}"
|
local uboot_cflags="${uboot_cflags_array[*]}"
|
||||||
|
|
||||||
display_alert "${uboot_prefix}Compiling u-boot" "${version} ${target_make} with gcc '${gcc_version_main}'" "info"
|
display_alert "${uboot_prefix}Compiling u-boot" "${version} ${target_make} with gcc '${gcc_version_main}'" "info"
|
||||||
export if_error_detail_message="${uboot_prefix}Failed to build u-boot ${version} ${target_make}"
|
declare -g if_error_detail_message="${uboot_prefix}Failed to build u-boot ${version} ${target_make}"
|
||||||
do_with_ccache_statistics run_host_command_logged_long_running \
|
do_with_ccache_statistics run_host_command_logged_long_running \
|
||||||
"CFLAGS='${uboot_cflags}'" "KCFLAGS='${uboot_cflags}'" \
|
"CFLAGS='${uboot_cflags}'" "KCFLAGS='${uboot_cflags}'" \
|
||||||
CCACHE_BASEDIR="$(pwd)" PATH="${toolchain}:${toolchain2}:${PATH}" \
|
CCACHE_BASEDIR="$(pwd)" PATH="${toolchain}:${toolchain2}:${PATH}" \
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ function prepare_compilation_vars() {
|
|||||||
# moved from config: rpardini: ccache belongs in compilation, not config. I think.
|
# moved from config: rpardini: ccache belongs in compilation, not config. I think.
|
||||||
if [[ $USE_CCACHE != no ]]; then
|
if [[ $USE_CCACHE != no ]]; then
|
||||||
CCACHE=ccache
|
CCACHE=ccache
|
||||||
export PATH="/usr/lib/ccache:$PATH"
|
export PATH="/usr/lib/ccache:$PATH" # this actually needs export'ing
|
||||||
# private ccache directory to avoid permission issues when using build script with "sudo"
|
# private ccache directory to avoid permission issues when using build script with "sudo"
|
||||||
# see https://ccache.samba.org/manual.html#_sharing_a_cache for alternative solution
|
# see https://ccache.samba.org/manual.html#_sharing_a_cache for alternative solution
|
||||||
[[ $PRIVATE_CCACHE == yes ]] && export CCACHE_DIR=$SRC/cache/ccache
|
[[ $PRIVATE_CCACHE == yes ]] && export CCACHE_DIR=$SRC/cache/ccache # actual export
|
||||||
else
|
else
|
||||||
CCACHE=""
|
CCACHE=""
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ function desktop_element_available_for_arch() {
|
|||||||
function desktop_element_supported() {
|
function desktop_element_supported() {
|
||||||
local desktop_element_path="${1}"
|
local desktop_element_path="${1}"
|
||||||
local support_level_filepath="${desktop_element_path}/support"
|
local support_level_filepath="${desktop_element_path}/support"
|
||||||
export desktop_element_supported_result=0
|
declare -g desktop_element_supported_result=0
|
||||||
if [[ -f "${support_level_filepath}" ]]; then
|
if [[ -f "${support_level_filepath}" ]]; then
|
||||||
local support_level
|
local support_level
|
||||||
support_level="$(cat "${support_level_filepath}")"
|
support_level="$(cat "${support_level_filepath}")"
|
||||||
@@ -130,8 +130,8 @@ function interactive_desktop_main_configuration() {
|
|||||||
fi
|
fi
|
||||||
display_alert "desktop-config" "DESKTOP_ENVIRONMENT_CONFIG_NAME exit: ${DESKTOP_ENVIRONMENT_CONFIG_NAME}" "debug"
|
display_alert "desktop-config" "DESKTOP_ENVIRONMENT_CONFIG_NAME exit: ${DESKTOP_ENVIRONMENT_CONFIG_NAME}" "debug"
|
||||||
|
|
||||||
export DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH="${DESKTOP_ENVIRONMENT_DIRPATH}/${DESKTOP_ENVIRONMENT_CONFIG_NAME}"
|
declare -g DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH="${DESKTOP_ENVIRONMENT_DIRPATH}/${DESKTOP_ENVIRONMENT_CONFIG_NAME}"
|
||||||
export DESKTOP_ENVIRONMENT_PACKAGE_LIST_FILEPATH="${DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH}/packages"
|
declare -g DESKTOP_ENVIRONMENT_PACKAGE_LIST_FILEPATH="${DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH}/packages"
|
||||||
|
|
||||||
display_alert "desktop-config" "DESKTOP_APPGROUPS_SELECTED+x entry: ${DESKTOP_APPGROUPS_SELECTED+x}" "debug"
|
display_alert "desktop-config" "DESKTOP_APPGROUPS_SELECTED+x entry: ${DESKTOP_APPGROUPS_SELECTED+x}" "debug"
|
||||||
# "-z ${VAR+x}" allows to check for unset variable
|
# "-z ${VAR+x}" allows to check for unset variable
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ function interactive_config_prepare_terminal() {
|
|||||||
# override stty size, if stdin is a terminal.
|
# override stty size, if stdin is a terminal.
|
||||||
[[ -n $COLUMNS ]] && stty cols $COLUMNS
|
[[ -n $COLUMNS ]] && stty cols $COLUMNS
|
||||||
[[ -n $LINES ]] && stty rows $LINES
|
[[ -n $LINES ]] && stty rows $LINES
|
||||||
export TTY_X=$(($(stty size | awk '{print $2}') - 6)) # determine terminal width
|
declare -g TTY_X=$(($(stty size | awk '{print $2}') - 6)) # determine terminal width
|
||||||
export TTY_Y=$(($(stty size | awk '{print $1}') - 6)) # determine terminal height
|
declare -g TTY_Y=$(($(stty size | awk '{print $1}') - 6)) # determine terminal height
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# We'll use this title on all menus
|
# We'll use this title on all menus
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ function do_main_configuration() {
|
|||||||
DEST_LANG="${DEST_LANG:-"en_US.UTF-8"}" # en_US.UTF-8 is default locale for target
|
DEST_LANG="${DEST_LANG:-"en_US.UTF-8"}" # en_US.UTF-8 is default locale for target
|
||||||
display_alert "DEST_LANG..." "DEST_LANG: ${DEST_LANG}" "debug"
|
display_alert "DEST_LANG..." "DEST_LANG: ${DEST_LANG}" "debug"
|
||||||
|
|
||||||
export SKIP_EXTERNAL_TOOLCHAINS="${SKIP_EXTERNAL_TOOLCHAINS:-yes}" # don't use any external toolchains, by default.
|
declare -g SKIP_EXTERNAL_TOOLCHAINS="${SKIP_EXTERNAL_TOOLCHAINS:-yes}" # don't use any external toolchains, by default.
|
||||||
|
|
||||||
# Timezone
|
# Timezone
|
||||||
if [[ -f /etc/timezone ]]; then # Timezone for target is taken from host, if it exists.
|
if [[ -f /etc/timezone ]]; then # Timezone for target is taken from host, if it exists.
|
||||||
@@ -153,9 +153,9 @@ function do_main_configuration() {
|
|||||||
[[ $USE_MAINLINE_GOOGLE_MIRROR == yes ]] && MAINLINE_MIRROR=google
|
[[ $USE_MAINLINE_GOOGLE_MIRROR == yes ]] && MAINLINE_MIRROR=google
|
||||||
|
|
||||||
# URL for the git bundle used to "bootstrap" local git copies without too much server load. This applies independently of git mirror below.
|
# URL for the git bundle used to "bootstrap" local git copies without too much server load. This applies independently of git mirror below.
|
||||||
export MAINLINE_KERNEL_TORVALDS_BUNDLE_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/clone.bundle" # this is plain torvalds, single branch
|
declare -g MAINLINE_KERNEL_TORVALDS_BUNDLE_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/clone.bundle" # this is plain torvalds, single branch
|
||||||
export MAINLINE_KERNEL_STABLE_BUNDLE_URL="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/clone.bundle" # this is all stable branches. with tags!
|
declare -g MAINLINE_KERNEL_STABLE_BUNDLE_URL="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/clone.bundle" # this is all stable branches. with tags!
|
||||||
export MAINLINE_KERNEL_COLD_BUNDLE_URL="${MAINLINE_KERNEL_COLD_BUNDLE_URL:-${MAINLINE_KERNEL_TORVALDS_BUNDLE_URL}}" # default to Torvalds; everything else is small enough with this
|
declare -g MAINLINE_KERNEL_COLD_BUNDLE_URL="${MAINLINE_KERNEL_COLD_BUNDLE_URL:-${MAINLINE_KERNEL_TORVALDS_BUNDLE_URL}}" # default to Torvalds; everything else is small enough with this
|
||||||
|
|
||||||
case $MAINLINE_MIRROR in
|
case $MAINLINE_MIRROR in
|
||||||
google)
|
google)
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
# otherwise it will NOT exit with error, even if user cancelled.
|
# otherwise it will NOT exit with error, even if user cancelled.
|
||||||
# This is a boring topic, see https://askubuntu.com/questions/491509/how-to-get-dialog-box-input-directed-to-a-variable
|
# This is a boring topic, see https://askubuntu.com/questions/491509/how-to-get-dialog-box-input-directed-to-a-variable
|
||||||
function dialog_if_terminal_set_vars() {
|
function dialog_if_terminal_set_vars() {
|
||||||
export DIALOG_RESULT=""
|
declare -g DIALOG_RESULT=""
|
||||||
export DIALOG_EXIT_CODE=0
|
declare -g DIALOG_EXIT_CODE=0
|
||||||
|
|
||||||
[[ ! -t 0 ]] && exit_with_error "stdin is not a terminal. can't use dialog." "dialog_if_terminal_set_vars ${*}" "err"
|
[[ ! -t 0 ]] && exit_with_error "stdin is not a terminal. can't use dialog." "dialog_if_terminal_set_vars ${*}" "err"
|
||||||
[[ ! -t 1 ]] && exit_with_error "stdout is not a terminal. can't use dialog." "dialog_if_terminal_set_vars ${*}" "err"
|
[[ ! -t 1 ]] && exit_with_error "stdout is not a terminal. can't use dialog." "dialog_if_terminal_set_vars ${*}" "err"
|
||||||
@@ -51,7 +51,7 @@ function dialog_if_terminal_set_vars() {
|
|||||||
|
|
||||||
# Myy : Menu configuration for choosing desktop configurations
|
# Myy : Menu configuration for choosing desktop configurations
|
||||||
dialog_menu() {
|
dialog_menu() {
|
||||||
export DIALOG_MENU_RESULT=""
|
declare -g DIALOG_MENU_RESULT=""
|
||||||
provided_title=$1
|
provided_title=$1
|
||||||
provided_backtitle=$2
|
provided_backtitle=$2
|
||||||
provided_menuname=$3
|
provided_menuname=$3
|
||||||
@@ -62,7 +62,7 @@ dialog_menu() {
|
|||||||
|
|
||||||
# Almost identical, but is a checklist instead of menu
|
# Almost identical, but is a checklist instead of menu
|
||||||
dialog_checklist() {
|
dialog_checklist() {
|
||||||
export DIALOG_CHECKLIST_RESULT=""
|
declare -g DIALOG_CHECKLIST_RESULT=""
|
||||||
provided_title=$1
|
provided_title=$1
|
||||||
provided_backtitle=$2
|
provided_backtitle=$2
|
||||||
provided_menuname=$3
|
provided_menuname=$3
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ function initialize_extension_manager() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This marks the manager as initialized, no more extensions are allowed to load after this.
|
# This marks the manager as initialized, no more extensions are allowed to load after this.
|
||||||
export initialize_extension_manager_counter=$((initialize_extension_manager_counter + 1))
|
declare -g initialize_extension_manager_counter=$((initialize_extension_manager_counter + 1))
|
||||||
|
|
||||||
# Extensions has its own work/tmp directory, defined by do_main_configuration, with build UUID. We just create it here, unless told not to.
|
# Extensions has its own work/tmp directory, defined by do_main_configuration, with build UUID. We just create it here, unless told not to.
|
||||||
display_alert "Initializing EXTENSION_MANAGER_TMP_DIR" "${EXTENSION_MANAGER_TMP_DIR}" "debug"
|
display_alert "Initializing EXTENSION_MANAGER_TMP_DIR" "${EXTENSION_MANAGER_TMP_DIR}" "debug"
|
||||||
@@ -295,7 +295,7 @@ function cleanup_handler_extensions() {
|
|||||||
# final location. this will make run_after_build() "hot" (eg, emit warnings)
|
# final location. this will make run_after_build() "hot" (eg, emit warnings)
|
||||||
function run_after_build__999_finish_extension_manager() {
|
function run_after_build__999_finish_extension_manager() {
|
||||||
# export these maps, so the hook can access them and produce useful stuff.
|
# export these maps, so the hook can access them and produce useful stuff.
|
||||||
export defined_hook_point_functions hook_point_function_trace_sources
|
declare -g defined_hook_point_functions hook_point_function_trace_sources
|
||||||
|
|
||||||
# eat our own dog food, pt2.
|
# eat our own dog food, pt2.
|
||||||
call_extension_method "extension_metadata_ready" <<- 'EXTENSION_METADATA_READY'
|
call_extension_method "extension_metadata_ready" <<- 'EXTENSION_METADATA_READY'
|
||||||
|
|||||||
@@ -350,8 +350,8 @@ function docker_cli_build_dockerfile() {
|
|||||||
# If we get here without a local_image_sha, we need to build from scratch, so we need to re-create the Dockerfile.
|
# If we get here without a local_image_sha, we need to build from scratch, so we need to re-create the Dockerfile.
|
||||||
if [[ -z "${local_image_sha}" ]]; then
|
if [[ -z "${local_image_sha}" ]]; then
|
||||||
display_alert "Base image not in local cache, building from scratch" "${DOCKER_ARMBIAN_BASE_IMAGE}" "info"
|
display_alert "Base image not in local cache, building from scratch" "${DOCKER_ARMBIAN_BASE_IMAGE}" "info"
|
||||||
export DOCKERFILE_USE_ARMBIAN_IMAGE_AS_BASE=no
|
declare -g DOCKERFILE_USE_ARMBIAN_IMAGE_AS_BASE=no
|
||||||
export DOCKER_ARMBIAN_BASE_IMAGE="${DOCKER_ARMBIAN_BASE_IMAGE_SCRATCH}"
|
declare -g DOCKER_ARMBIAN_BASE_IMAGE="${DOCKER_ARMBIAN_BASE_IMAGE_SCRATCH}"
|
||||||
docker_prepare_cli_skip_exts="yes" docker_cli_prepare
|
docker_prepare_cli_skip_exts="yes" docker_cli_prepare
|
||||||
display_alert "Re-created" "Dockerfile, proceeding, build from scratch" "debug"
|
display_alert "Re-created" "Dockerfile, proceeding, build from scratch" "debug"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ function adaptative_prepare_host_dependencies() {
|
|||||||
host_dependencies+=(libc6-amd64-cross) # Support for running x86 binaries (under qemu on other arches)
|
host_dependencies+=(libc6-amd64-cross) # Support for running x86 binaries (under qemu on other arches)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export EXTRA_BUILD_DEPS=""
|
declare -g EXTRA_BUILD_DEPS=""
|
||||||
call_extension_method "add_host_dependencies" <<- 'ADD_HOST_DEPENDENCIES'
|
call_extension_method "add_host_dependencies" <<- 'ADD_HOST_DEPENDENCIES'
|
||||||
*run before installing host dependencies*
|
*run before installing host dependencies*
|
||||||
you can add packages to install, space separated, to ${EXTRA_BUILD_DEPS} here.
|
you can add packages to install, space separated, to ${EXTRA_BUILD_DEPS} here.
|
||||||
@@ -337,7 +337,7 @@ function adaptative_prepare_host_dependencies() {
|
|||||||
host_dependencies+=(${EXTRA_BUILD_DEPS})
|
host_dependencies+=(${EXTRA_BUILD_DEPS})
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export FINAL_HOST_DEPS="${host_dependencies[*]}"
|
declare -g FINAL_HOST_DEPS="${host_dependencies[*]}"
|
||||||
call_extension_method "host_dependencies_known" <<- 'HOST_DEPENDENCIES_KNOWN'
|
call_extension_method "host_dependencies_known" <<- 'HOST_DEPENDENCIES_KNOWN'
|
||||||
*run after all host dependencies are known (but not installed)*
|
*run after all host dependencies are known (but not installed)*
|
||||||
At this point we can read `${FINAL_HOST_DEPS}`, but changing won't have any effect.
|
At this point we can read `${FINAL_HOST_DEPS}`, but changing won't have any effect.
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ function write_uboot_to_loop_image() {
|
|||||||
display_alert "Writing u-boot bootloader" "$loop" "info"
|
display_alert "Writing u-boot bootloader" "$loop" "info"
|
||||||
write_uboot_platform "${TEMP_DIR}${DIR}" "$loop" # important: DIR is set in platform_install.sh sourced above.
|
write_uboot_platform "${TEMP_DIR}${DIR}" "$loop" # important: DIR is set in platform_install.sh sourced above.
|
||||||
|
|
||||||
export UBOOT_CHROOT_DIR="${TEMP_DIR}${DIR}"
|
declare -g UBOOT_CHROOT_DIR="${TEMP_DIR}${DIR}"
|
||||||
|
|
||||||
call_extension_method "post_write_uboot_platform" <<- 'POST_WRITE_UBOOT_PLATFORM'
|
call_extension_method "post_write_uboot_platform" <<- 'POST_WRITE_UBOOT_PLATFORM'
|
||||||
*allow custom writing of uboot -- only during image build*
|
*allow custom writing of uboot -- only during image build*
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ function prepare_partitions() {
|
|||||||
exec {FD}> /var/lock/armbian-debootstrap-losetup
|
exec {FD}> /var/lock/armbian-debootstrap-losetup
|
||||||
flock -x $FD
|
flock -x $FD
|
||||||
|
|
||||||
export LOOP
|
declare -g LOOP
|
||||||
LOOP=$(losetup -f) || exit_with_error "Unable to find free loop device"
|
LOOP=$(losetup -f) || exit_with_error "Unable to find free loop device"
|
||||||
display_alert "Allocated loop device" "LOOP=${LOOP}"
|
display_alert "Allocated loop device" "LOOP=${LOOP}"
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ function create_image_from_sdcard_rootfs() {
|
|||||||
[[ $(type -t post_build_image_modify) == function ]] && display_alert "Custom Hook Detected" "post_build_image_modify" "info" && post_build_image_modify "${DESTIMG}/${version}.img"
|
[[ $(type -t post_build_image_modify) == function ]] && display_alert "Custom Hook Detected" "post_build_image_modify" "info" && post_build_image_modify "${DESTIMG}/${version}.img"
|
||||||
|
|
||||||
# Previously, post_build_image passed the .img path as an argument to the hook. Now its an ENV var.
|
# Previously, post_build_image passed the .img path as an argument to the hook. Now its an ENV var.
|
||||||
export FINAL_IMAGE_FILE="${DESTIMG}/${version}.img"
|
declare -g FINAL_IMAGE_FILE="${DESTIMG}/${version}.img"
|
||||||
call_extension_method "post_build_image" <<- 'POST_BUILD_IMAGE'
|
call_extension_method "post_build_image" <<- 'POST_BUILD_IMAGE'
|
||||||
*custom post build hook*
|
*custom post build hook*
|
||||||
Called after the final .img file is built, before it is (possibly) written to an SD writer.
|
Called after the final .img file is built, before it is (possibly) written to an SD writer.
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ function main_trap_handler() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${trap_exit_code} -gt 0 ]] && [[ "${ERROR_DEBUG_SHELL}" == "yes" ]]; then
|
if [[ ${trap_exit_code} -gt 0 ]] && [[ "${ERROR_DEBUG_SHELL}" == "yes" ]]; then
|
||||||
export ERROR_DEBUG_SHELL=no # dont do it twice
|
declare -g ERROR_DEBUG_SHELL=no # dont do it twice
|
||||||
display_alert "MOUNT" "${MOUNT}" "debug"
|
display_alert "MOUNT" "${MOUNT}" "debug"
|
||||||
display_alert "SDCARD" "${SDCARD}" "debug"
|
display_alert "SDCARD" "${SDCARD}" "debug"
|
||||||
display_alert "ERROR_DEBUG_SHELL=yes, starting a shell." "ERROR_DEBUG_SHELL; exit to cleanup." "debug"
|
display_alert "ERROR_DEBUG_SHELL=yes, starting a shell." "ERROR_DEBUG_SHELL; exit to cleanup." "debug"
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ function main_default_start_build() {
|
|||||||
# No cleanup of this is necessary, since it's inside WORKDIR.
|
# No cleanup of this is necessary, since it's inside WORKDIR.
|
||||||
mkdir -p "${BIN_WORK_DIR}"
|
mkdir -p "${BIN_WORK_DIR}"
|
||||||
ln -s "/usr/bin/python2" "${BIN_WORK_DIR}/python"
|
ln -s "/usr/bin/python2" "${BIN_WORK_DIR}/python"
|
||||||
export PATH="${BIN_WORK_DIR}:${PATH}"
|
declare -g PATH="${BIN_WORK_DIR}:${PATH}"
|
||||||
|
|
||||||
# Prepare ccache, cthreads, etc for the build
|
# Prepare ccache, cthreads, etc for the build
|
||||||
LOG_SECTION="prepare_compilation_vars" do_with_logging prepare_compilation_vars
|
LOG_SECTION="prepare_compilation_vars" do_with_logging prepare_compilation_vars
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ function install_deb_chroot() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# install in chroot via apt-get, not dpkg, so dependencies are also installed from repo if needed.
|
# install in chroot via apt-get, not dpkg, so dependencies are also installed from repo if needed.
|
||||||
export if_error_detail_message="Installation of $install_target failed ${BOARD} ${RELEASE} ${BUILD_DESKTOP} ${LINUXFAMILY}"
|
declare -g if_error_detail_message="Installation of $install_target failed ${BOARD} ${RELEASE} ${BUILD_DESKTOP} ${LINUXFAMILY}"
|
||||||
DONT_MAINTAIN_APT_CACHE="yes" chroot_sdcard_apt_get --no-install-recommends install "${install_target}" # don't auto-maintain apt cache when installing from packages.
|
DONT_MAINTAIN_APT_CACHE="yes" chroot_sdcard_apt_get --no-install-recommends install "${install_target}" # don't auto-maintain apt cache when installing from packages.
|
||||||
|
|
||||||
# @TODO: mysterious. store installed/downloaded packages in deb storage. only used for u-boot deb. why?
|
# @TODO: mysterious. store installed/downloaded packages in deb storage. only used for u-boot deb. why?
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ function create_new_rootfs_cache_via_debootstrap() {
|
|||||||
deploy_qemu_binary_to_chroot "${SDCARD}" # this is cleaned-up later by post_debootstrap_tweaks() @TODO: which is too late for a cache
|
deploy_qemu_binary_to_chroot "${SDCARD}" # this is cleaned-up later by post_debootstrap_tweaks() @TODO: which is too late for a cache
|
||||||
|
|
||||||
display_alert "Installing base system" "Stage 2/2" "info"
|
display_alert "Installing base system" "Stage 2/2" "info"
|
||||||
export if_error_detail_message="Debootstrap second stage failed ${RELEASE} ${DESKTOP_APPGROUPS_SELECTED} ${DESKTOP_ENVIRONMENT} ${BUILD_MINIMAL}"
|
declare -g if_error_detail_message="Debootstrap second stage failed ${RELEASE} ${DESKTOP_APPGROUPS_SELECTED} ${DESKTOP_ENVIRONMENT} ${BUILD_MINIMAL}"
|
||||||
chroot_sdcard LC_ALL=C LANG=C /debootstrap/debootstrap --second-stage
|
chroot_sdcard LC_ALL=C LANG=C /debootstrap/debootstrap --second-stage
|
||||||
[[ ! -f "${SDCARD}/bin/bash" ]] && exit_with_error "Debootstrap first stage did not produce /bin/bash"
|
[[ ! -f "${SDCARD}/bin/bash" ]] && exit_with_error "Debootstrap first stage did not produce /bin/bash"
|
||||||
|
|
||||||
@@ -163,7 +163,7 @@ function create_new_rootfs_cache_via_debootstrap() {
|
|||||||
|
|
||||||
# stage: install additional packages
|
# stage: install additional packages
|
||||||
display_alert "Installing the main packages for" "Armbian" "info"
|
display_alert "Installing the main packages for" "Armbian" "info"
|
||||||
export if_error_detail_message="Installation of Armbian main packages for ${RELEASE} ${DESKTOP_APPGROUPS_SELECTED} ${DESKTOP_ENVIRONMENT} ${BUILD_MINIMAL} failed"
|
declare -g if_error_detail_message="Installation of Armbian main packages for ${RELEASE} ${DESKTOP_APPGROUPS_SELECTED} ${DESKTOP_ENVIRONMENT} ${BUILD_MINIMAL} failed"
|
||||||
# First, try to download-only up to 3 times, to work around network/proxy problems.
|
# First, try to download-only up to 3 times, to work around network/proxy problems.
|
||||||
# AGGREGATED_PACKAGES_ROOTFS is generated by aggregation.py
|
# AGGREGATED_PACKAGES_ROOTFS is generated by aggregation.py
|
||||||
chroot_sdcard_apt_get_install_dry_run "${AGGREGATED_PACKAGES_ROOTFS[@]}"
|
chroot_sdcard_apt_get_install_dry_run "${AGGREGATED_PACKAGES_ROOTFS[@]}"
|
||||||
@@ -183,13 +183,13 @@ function create_new_rootfs_cache_via_debootstrap() {
|
|||||||
do_with_retries 3 chroot_sdcard_apt_get_install_download_only "${AGGREGATED_PACKAGES_DESKTOP[@]}"
|
do_with_retries 3 chroot_sdcard_apt_get_install_download_only "${AGGREGATED_PACKAGES_DESKTOP[@]}"
|
||||||
|
|
||||||
# Then do the actual install.
|
# Then do the actual install.
|
||||||
export if_error_detail_message="Installation of Armbian desktop packages for ${RELEASE} ${DESKTOP_APPGROUPS_SELECTED} ${DESKTOP_ENVIRONMENT} ${BUILD_MINIMAL} failed"
|
declare -g if_error_detail_message="Installation of Armbian desktop packages for ${RELEASE} ${DESKTOP_APPGROUPS_SELECTED} ${DESKTOP_ENVIRONMENT} ${BUILD_MINIMAL} failed"
|
||||||
chroot_sdcard_apt_get_install "${AGGREGATED_PACKAGES_DESKTOP[@]}"
|
chroot_sdcard_apt_get_install "${AGGREGATED_PACKAGES_DESKTOP[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# stage: check md5 sum of installed packages. Just in case. @TODO: rpardini: this should also be done when a cache is used, not only when it is created
|
# stage: check md5 sum of installed packages. Just in case. @TODO: rpardini: this should also be done when a cache is used, not only when it is created
|
||||||
display_alert "Checking MD5 sum of installed packages" "debsums" "info"
|
display_alert "Checking MD5 sum of installed packages" "debsums" "info"
|
||||||
export if_error_detail_message="Check MD5 sum of installed packages failed"
|
declare -g if_error_detail_message="Check MD5 sum of installed packages failed"
|
||||||
chroot_sdcard debsums --silent
|
chroot_sdcard debsums --silent
|
||||||
|
|
||||||
# # Remove packages from packages.uninstall
|
# # Remove packages from packages.uninstall
|
||||||
|
|||||||
Reference in New Issue
Block a user