diff --git a/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration b/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration index 333599a..b6838ae 100755 --- a/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration +++ b/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration @@ -1,5 +1,43 @@ #!/bin/bash -ACE_dir="/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/bookworm-env" +# ===== Log ===== +# log.info xxx +# log.warn xxx +# log.info xxx +# log.debug xxx +# 带颜色的echo +function log.color_output() { + local color=$1 + shift 1 + + echo >&2 -e "\033[${color}m$@\033[0m" + return 0 +} + +# Log is named without prefix "utils." for convenience +# Usage: log.log <level> ...content +function log.log() { + if [[ $# < 2 ]]; then + return -1 + fi + + local level=$1 + shift 1 + + case $level in + error) log.color_output "0;31" "[ERROR] $@" ;; + warn) log.color_output "1;33" "[WARN] $@" ;; + info) log.color_output "1;37" "[INFO] $@" ;; + debug) log.color_output "1;30" "[DEBUG] $@" ;; + esac + + return 0 +} + +function log.error() { log.log "error" "$@"; } +function log.warn() { log.log "warn" $@; } +function log.info() { log.log "info" $@; } +function log.debug() { log.log "debug" $@; } + function do_integrate(){ @@ -25,19 +63,25 @@ local file=$1 chmod +x $file } - - -for app_dir in $(ls /opt/apps/); do - for file in /opt/apps/$app_dir/entries/applications/*.desktop;do - do_integrate $file +if [ "${IS_ACE_ENV}" != "" ];then + if [ -e /opt/apps/ ];then + for app_dir in $(ls /opt/apps/); do + for file in /opt/apps/$app_dir/entries/applications/*.desktop;do + do_integrate $file + done done -done - - + else + log.warn "No /opt/apps directory. Skip..." + fi + for file in /usr/share/applications/*.desktop; do do_integrate $file done find "/usr/share/applications/" -xtype l -delete +else + +log.error "DO NOT run me on host OS" +fi