You've already forked dts-scripts
mirror of
https://github.com/Dasharo/dts-scripts.git
synced 2026-03-06 15:01:22 -08:00
Always log xtrace to file
Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
This commit is contained in:
1
Makefile
1
Makefile
@@ -19,6 +19,7 @@ install:
|
||||
install -m 0755 scripts/dts $(DESTDIR)$(SBINDIR)
|
||||
install -m 0755 scripts/dts-boot $(DESTDIR)$(SBINDIR)
|
||||
install -m 0755 scripts/ec_transition $(DESTDIR)$(SBINDIR)
|
||||
install -m 0755 scripts/logging $(DESTDIR)$(SBINDIR)/logging
|
||||
|
||||
install -m 0755 reports/dasharo-hcl-report $(DESTDIR)$(SBINDIR)
|
||||
install -m 0755 reports/touchpad-info $(DESTDIR)$(SBINDIR)
|
||||
|
||||
@@ -50,8 +50,6 @@ SSH_OPT_UP="K"
|
||||
SSH_OPT_LOW="$(echo $SSH_OPT_UP | awk '{print tolower($0)}')"
|
||||
SEND_LOGS_OPT="L"
|
||||
SEND_LOGS_OPT_LOW="$(echo $SEND_LOGS_OPT | awk '{print tolower($0)}')"
|
||||
VERBOSE_OPT="V"
|
||||
VERBOSE_OPT_LOW="$(echo $VERBOSE_OPT | awk '{print tolower($0)}')"
|
||||
|
||||
# Hardware variables:
|
||||
SYSTEM_VENDOR="$($DMIDECODE dump_var_mock -s system-manufacturer)"
|
||||
|
||||
@@ -1527,11 +1527,6 @@ show_footer(){
|
||||
else
|
||||
echo -e "${RED}${SEND_LOGS_OPT}${NORMAL} to enable sending DTS logs ${NORMAL}"
|
||||
fi
|
||||
if [ "${VERBOSE_ACTIVE}" == "true" ]; then
|
||||
echo -ne "${RED}${VERBOSE_OPT}${NORMAL} to disable verbose mode ${NORMAL}"
|
||||
else
|
||||
echo -ne "${RED}${VERBOSE_OPT}${NORMAL} to enable verbose mode ${NORMAL}"
|
||||
fi
|
||||
echo -ne "${YELLOW}\nEnter an option:${NORMAL}"
|
||||
}
|
||||
|
||||
@@ -1561,8 +1556,9 @@ footer_options(){
|
||||
echo "Entering shell, to leave type exit and press Enter or press LCtrl+D"
|
||||
echo ""
|
||||
send_dts_logs
|
||||
set_verbose "false"
|
||||
stop_logging
|
||||
${CMD_SHELL}
|
||||
start_logging "$DTS_LOG_FILE"
|
||||
|
||||
# If in submenu before going to shell - return to main menu after exiting
|
||||
# shell:
|
||||
@@ -1583,13 +1579,6 @@ footer_options(){
|
||||
export SEND_LOGS_ACTIVE="true"
|
||||
fi
|
||||
;;
|
||||
"${VERBOSE_OPT}" | "${VERBOSE_OPT_LOW}")
|
||||
if [ "${VERBOSE_ACTIVE}" == "true" ]; then
|
||||
set_verbose "false"
|
||||
else
|
||||
set_verbose "true"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
return 1
|
||||
@@ -1614,6 +1603,7 @@ send_dts_logs(){
|
||||
|
||||
mkdir $log_dir
|
||||
cp ${DTS_LOG_FILE} $log_dir
|
||||
cp ${DTS_VERBOSE_LOG_FILE} $log_dir
|
||||
|
||||
if [ -f ${ERR_LOG_FILE} ]; then
|
||||
cp ${ERR_LOG_FILE} $log_dir
|
||||
@@ -1744,22 +1734,3 @@ check_if_intel() {
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
set_verbose() {
|
||||
if [ $1 == "true" ]; then
|
||||
VERBOSE_ACTIVE="true"
|
||||
CMD_DASHARO_DEPLOY="/usr/bin/env bash -x $CMD_DASHARO_DEPLOY"
|
||||
CMD_DASHARO_HCL_REPORT="/usr/bin/env bash -x $CMD_DASHARO_HCL_REPORT"
|
||||
CMD_EC_TRANSITION="/usr/bin/env bash -x $CMD_EC_TRANSITION"
|
||||
CMD_CLOUD_LIST="/usr/bin/env bash -x $CMD_CLOUD_LIST"
|
||||
set -x
|
||||
elif [ $1 == "false" ]; then
|
||||
unset VERBOSE_ACTIVE
|
||||
# Remove the -x option
|
||||
CMD_DASHARO_DEPLOY=$(echo $CMD_DASHARO_DEPLOY | sed 's|^/usr/bin/env bash -x ||')
|
||||
CMD_DASHARO_HCL_REPORT=$(echo $CMD_DASHARO_HCL_REPORT | sed 's|^/usr/bin/env bash -x ||')
|
||||
CMD_EC_TRANSITION=$(echo $CMD_EC_TRANSITION | sed 's|^/usr/bin/env bash -x ||')
|
||||
CMD_CLOUD_LIST=$(echo $CMD_CLOUD_LIST | sed 's|^/usr/bin/env bash -x ||')
|
||||
set +x
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -14,6 +14,16 @@ export DTS_SUBS="$SBIN_DIR/dts-subscription.sh"
|
||||
export DTS_HAL="$SBIN_DIR/dts-hal.sh"
|
||||
export DTS_MOCK_COMMON="$SBIN_DIR/common-mock-func.sh"
|
||||
export DTS_LOG_FILE="/tmp/dts.log"
|
||||
export DTS_VERBOSE_LOG_FILE="/tmp/dts-verbose.log"
|
||||
export BASH_ENV="/$SBIN_DIR/logging"
|
||||
export SHELLOPTS
|
||||
|
||||
# shellcheck source=./logging
|
||||
source "$BASH_ENV"
|
||||
start_logging "$DTS_LOG_FILE"
|
||||
exec {xtrace_fd}>>"${DTS_VERBOSE_LOG_FILE}"
|
||||
export BASH_XTRACEFD=${xtrace_fd}
|
||||
set -x
|
||||
|
||||
# shellcheck source=../include/dts-environment.sh
|
||||
source $DTS_ENV
|
||||
@@ -25,5 +35,5 @@ source $DTS_HAL
|
||||
if [ -f $FUM_EFIVAR ]; then
|
||||
$SBIN_DIR/dasharo-deploy update fum
|
||||
else
|
||||
$BIN_DIR/script -c $SBIN_DIR/dts "$DTS_LOG_FILE"
|
||||
$SBIN_DIR/dts
|
||||
fi
|
||||
|
||||
14
scripts/logging
Normal file
14
scripts/logging
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
start_logging() {
|
||||
local file=$1
|
||||
CURRENT_TTY="$(tty)"
|
||||
exec 1>> >(tee >(stdbuf -i0 -oL -eL ts "[%T]: " >> "$file")) 2>&1
|
||||
}
|
||||
|
||||
stop_logging() {
|
||||
exec &>"$CURRENT_TTY"
|
||||
}
|
||||
|
||||
export PS4="+[\$(date +%T.%3N)]:\${BASH_SOURCE[0]}:\${LINENO[0]}:\${FUNCNAME[0]:-main}: "
|
||||
export CURRENT_TTY
|
||||
Reference in New Issue
Block a user