Revamp debugging

This commit is contained in:
Muhammad Rivan 2021-06-02 23:04:59 +07:00
parent 8db65c5a86
commit b8bd9c2e38
No known key found for this signature in database
GPG key ID: C56A200FD936FAAA
5 changed files with 61 additions and 42 deletions

View file

@ -7,3 +7,10 @@
git clean -d -f -X
git add .
! command -v beautysh && sudo pip install beautysh
beautysh -i 2 -s paronly *.sh
git add .
echo "DONE!"

View file

@ -121,7 +121,9 @@ else
if [[ "${interactive}" == 'true' ]]; then
show_panel_opacity_dialog; show_sidebar_size_dialog; show_nautilus_style_dialog
prompt -w "DIALOG: '--size' and '--panel' parameters are ignored if exist."; echo
else show_needed_dialogs; fi
else
show_needed_dialogs
fi
prompt -w "Removing the old '${name}' themes..."
@ -150,6 +152,8 @@ else
fi
echo; prompt -w "${final_msg}"; echo
rootify ls /mama; ls /mama; ls /mama
ls /mama
ls /mama
[[ -x /usr/bin/notify-send ]] && notify-send "'${name}' theme has been installed. Enjoy!" "${notif_msg}" -i "dialog-information-symbolic"
fi

View file

@ -9,6 +9,8 @@
# WARNING: Please set REPO_DIR variable before using this lib
set -Eeo pipefail
WHITESUR_SOURCE=()
WHITESUR_SOURCE+=("lib-core.sh")
###############################################################################
# VARIABLES #
@ -118,9 +120,9 @@ showapps_normal="false"
msg=""
final_msg="Run '${0} --help' to explore more customization features!"
notif_msg=""
error_msg=""
process_ids=()
errors=()
whitesur_error=""
whitesur_lines=()
export ANIM_PID="0"
has_any_error="false"
@ -481,12 +483,13 @@ remind_relative_path() {
rootify() {
trap true SIGINT
prompt -w "Executing '$(echo "${@}" | cut -c -35 )...' as root"
if ! sudo "${@}"; then
errors+=("${*}")
whitesur_lines+=("${BASH_LINENO}")
whitesur_error="${*}"
operation_aborted
fi
trap signal_exit SIGINT
}
@ -499,12 +502,13 @@ full_rootify() {
userify() {
trap true SIGINT
if ! sudo -u "${MY_USERNAME}" "${@}"; then
errors+=("${*}")
whitesur_lines+=("${BASH_LINENO}")
whitesur_error="${*}"
operation_aborted
fi
trap signal_exit SIGINT
}
@ -515,46 +519,48 @@ signal_exit() {
operation_aborted() {
IFS=$'\n'
local sources=($(basename -a "${BASH_SOURCE[@]}" | sort -u))
local dist_ids=($(cat '/etc/os-release' | awk -F '=' '/ID/{print $2}'))
local sources=($(basename -a "${WHITESUR_SOURCE[@]}" "${BASH_SOURCE[@]}" | sort -u))
local dist_ids=($(awk -F '=' '/ID/{print $2}' "/etc/os-release"))
local repo_ver=""
local lines=()
if ! repo_ver="$(cd "${REPO_DIR}"; git log -1 --date=format-local:"%FT%T%z" --format="%ad")"; then
if ! repo_ver="$(date -r "${REPO_DIR}" +"%FT%T%z")"; then
repo_ver="unknown"
fi
fi
#whitesur_lines=($(printf "%s\n" "${whitesur_lines[@]}" | sort -u))
clear
prompt -e "\n\n Oops! Operation has been aborted or failed...\n"
prompt -e "=========== ERROR LOG ==========="
if [[ -f "${WHITESUR_TMP_DIR}/error_log.txt" ]]; then
error_msg="$(cat "${WHITESUR_TMP_DIR}/error_log.txt")"
awk '{printf "\033[1;31m >>> %s\n", $0}' "${WHITESUR_TMP_DIR}/error_log.txt"
fi
prompt -e "\n\n Oops! Operation has been aborted or failed...\n"
prompt -e "ERROR LOG:\n${error_msg}\n"
prompt -e "ERROR INFO:"
prompt -e " SOURCES : $(IFS=';'; echo "${sources[*]}")"
prompt -e " LINES : ${LINENO};${BASH_LINENO}"
prompt -e " SNIPPETS:"
prompt -e "\n =========== ERROR INFO =========="
prompt -e "FOUND :"
for i in "${sources[@]}"; do
errors+=("$(sed "${BASH_LINENO}q;d" "${REPO_DIR}/${i}")")
errors+=("$(sed "${LINENO}q;d" "${REPO_DIR}/${i}")")
lines=($(grep -Fn "${whitesur_error:-${BASH_COMMAND}}" "${REPO_DIR}/${i}" | cut -d : -f 1 || echo ""))
prompt -e " >>> ${i} $(IFS=';'; [[ "${lines[*]}" ]] && echo "at ${lines[*]}")"
done
errors+=("${BASH_COMMAND}")
errors=($(printf "%s\n" "${errors[@]}" | sort -u))
for i in "${errors[@]}"; do
[[ ! "${i}" =~ "errors+=" && ! "${i}" =~ "operation_aborted" ]] && prompt -e ">>> ${i}"
done
prompt -e " TRACE :"
prompt -e "SNIPPET:\n >>> ${whitesur_error:-${BASH_COMMAND}}"
prompt -e "TRACE :"
for i in "${FUNCNAME[@]}"; do
prompt -e ">>> ${i}"
prompt -e " >>> ${i}"
done
echo
prompt -e "SYSTEM INFO:"
prompt -e " DISTRO : $(IFS=';'; echo "${dist_ids[*]}")"
prompt -e " SUDO : $([[ -w "/" ]] && echo "yes" || echo "no")"
prompt -e " GNOME : ${GNOME_VERSION}\n"
prompt -e "\n =========== SYSTEM INFO ========="
prompt -e "DISTRO : $(IFS=';'; echo "${dist_ids[*]}")"
prompt -e "SUDO : $([[ -w "/" ]] && echo "yes" || echo "no")"
prompt -e "GNOME : ${GNOME_VERSION}"
prompt -e "REPO : ${repo_ver}\n"
prompt -i "TIP: you can google or report to us the infos above\n"
prompt -i "https://github.com/vinceliuice/WhiteSur-gtk-theme/issues\n\n"

View file

@ -13,6 +13,7 @@
###############################################################################
source "${REPO_DIR}/lib-core.sh"
WHITESUR_SOURCE+=("lib-install.sh")
###############################################################################
# DEPENDENCIES #
@ -45,8 +46,7 @@ install_theme_deps() {
install_gdm_deps() {
#TODO: @vince, do we also need "sassc" here?
if ! has_command glib-compile-resources || ! has_command xmllint || \
! has_command sassc; then
if ! has_command glib-compile-resources || ! has_command xmllint || ! has_command sassc; then
echo; prompt -w "'glib2.0', 'xmllint', and 'sassc' are required for theme installation."
if has_command zypper; then
@ -186,7 +186,9 @@ install_shelly() {
if [[ -z "${6}" ]]; then
TARGET_DIR="${dest}/${name}${color}${opacity}${alt}${theme}/gnome-shell"
else TARGET_DIR="${6}"; fi
else
TARGET_DIR="${6}"
fi
mkdir -p "${TARGET_DIR}"
mkdir -p "${TARGET_DIR}/assets"

View file

@ -54,7 +54,7 @@ while [[ $# -gt 0 ]]; do
# at once
case "${1}" in
# Parameters that don't require value
# Parameters that don't require value
-r|--remove|--revert)
uninstall='true'; shift ;;
-h|--help)
@ -113,7 +113,7 @@ while [[ $# -gt 0 ]]; do
no_darken="true"; shift ;;
-n|--no-blur)
no_blur="true"; shift ;;
# Parameters that require value, single use
# Parameters that require value, single use
-b|--background)
check_param "${1}" "${1}" "${2}" "must" "must" "must" "false" && shift 2 || shift ;;
-i|--icon)