2022-06-02 17:22:27 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# if [ ${git_helpers_sourced:-1} = "1" ]; then
|
|
|
|
# readonly git_helpers_sourced=${BASH_SOURCE[0]}
|
|
|
|
#else
|
|
|
|
# return 0
|
|
|
|
#fi
|
|
|
|
|
2022-06-04 14:43:27 +02:00
|
|
|
source ./general_utils
|
|
|
|
|
2022-06-03 20:48:37 +02:00
|
|
|
exec_opkg_command () {
|
|
|
|
local func="${FUNCNAME[0]}"
|
|
|
|
log_debug "$func:${LINENO} exec-ing [$*]"
|
|
|
|
|
2022-06-04 14:43:27 +02:00
|
|
|
local __result=$(exec_process_substitution $*)
|
2022-06-04 18:16:10 +02:00
|
|
|
local __result_code=$?
|
|
|
|
|
2022-06-04 14:43:27 +02:00
|
|
|
log_debug "$func:${LINENO} result=$__result"
|
2022-06-03 20:48:37 +02:00
|
|
|
|
2022-06-04 14:43:27 +02:00
|
|
|
printf '%s' "$__result"
|
2022-06-04 18:16:10 +02:00
|
|
|
return $__result_code
|
2022-06-03 20:48:37 +02:00
|
|
|
}
|
|
|
|
|
2022-06-02 17:22:27 +02:00
|
|
|
# Fetch/merge updates from predefined repository using git.
|
|
|
|
#
|
|
|
|
fetch_customer_updates() {
|
2022-06-03 20:48:37 +02:00
|
|
|
if ! pull_customer_repository $1; then
|
|
|
|
return 1
|
2022-06-02 17:22:27 +02:00
|
|
|
fi
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2022-06-05 16:50:04 +02:00
|
|
|
copy () {
|
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-04 21:46:30 +02:00
|
|
|
local copy_necessary=0
|
2022-06-05 16:50:04 +02:00
|
|
|
|
|
|
|
readarray -td' ' files <<< "$1"
|
|
|
|
for f in ${files[@]}; do
|
2022-06-05 19:25:23 +02:00
|
|
|
log_debug "$func:${LINENO}: $f"
|
|
|
|
# $f is determined by git
|
2022-06-03 19:27:28 +02:00
|
|
|
if [[ "$f" =~ .*update[.]conf.* ]] || [[ "$f" =~ .*current[.]conf.* ]]
|
|
|
|
then
|
2022-06-02 22:28:03 +02:00
|
|
|
continue
|
|
|
|
fi
|
2022-06-04 21:46:30 +02:00
|
|
|
|
|
|
|
copy_necessary=1
|
|
|
|
|
|
|
|
PERCENT=$((PERCENT+1))
|
|
|
|
test $PERCENT -gt 100 && PERCENT=100
|
|
|
|
|
2022-06-05 19:25:23 +02:00
|
|
|
local __f=${f##*/}
|
|
|
|
local __m=""
|
|
|
|
local __copy_error=0
|
|
|
|
|
2022-06-02 22:28:03 +02:00
|
|
|
if grep -qE "^.*[.]conf\s*$" <<< ${f}; then
|
2022-06-05 19:25:23 +02:00
|
|
|
__m="cp ${CUSTOMER_ID_BASE_DIR}/${f} to ${CONF_SYS_DIR}/${__f}"
|
|
|
|
cp "${CUSTOMER_ID_BASE_DIR}/${f}" "${CONF_SYS_DIR}/${__f}"
|
|
|
|
__copy_error=$?
|
2022-06-02 22:28:03 +02:00
|
|
|
elif grep -qE "^.*[.]ini\s*$" <<< ${f}; then
|
2022-06-05 19:25:23 +02:00
|
|
|
if [ "$__f" = "$ATBQT_INI" ]; then
|
|
|
|
__m="cp ${CUSTOMER_ID_BASE_DIR}/${f} $ATBAPP_SYS_DIR/${__f}"
|
|
|
|
cp "${CUSTOMER_ID_BASE_DIR}/${f}" $ATBAPP_SYS_DIR/${__f}
|
|
|
|
__copy_error=$?
|
|
|
|
elif [ "$__f" = "$SYSTEM_CONTROL_INI" ]; then
|
|
|
|
__m="cp ${CUSTOMER_ID_BASE_DIR}/${f} $SYSCONFIG_SYS_DIR/${__f}"
|
|
|
|
cp "${CUSTOMER_ID_BASE_DIR}/${f}" $SYSCONFIG_SYS_DIR/${__f}
|
|
|
|
__copy_error=$?
|
|
|
|
elif [ "$__f" = "$SYS_CONFIG_INI" ]; then
|
|
|
|
__m="cp ${CUSTOMER_ID_BASE_DIR}/${f} $SYSCONFIG_SYS_DIR/${__f}"
|
|
|
|
cp "${CUSTOMER_ID_BASE_DIR}/${f}" $SYSCONFIG_SYS_DIR/${__f}
|
|
|
|
__copy_error=$?
|
|
|
|
elif [ "$__f" = "$ISMASMGR_INI" ]; then
|
|
|
|
if grep -qE "$ISMASMGR_SYS_DIR" <<< "${f%/*}"; then
|
|
|
|
__m="cp ${CUSTOMER_ID_BASE_DIR}/${f}"
|
|
|
|
__m="$__m $ISMASMGR_SYS_DIR/${__f}"
|
|
|
|
cp "${CUSTOMER_ID_BASE_DIR}/${f}" $ISMASMGR_SYS_DIR/${__f}
|
|
|
|
__copy_error=$?
|
|
|
|
else
|
|
|
|
__m="cp ${CUSTOMER_ID_BASE_DIR}/${f}"
|
|
|
|
__m="$__m $SYSCONFIG_SYS_DIR/${__f}"
|
|
|
|
cp "${CUSTOMER_ID_BASE_DIR}/${f}" $SYSCONFIG_SYS_DIR/${__f}
|
|
|
|
__copy_error=$?
|
2022-06-03 19:27:28 +02:00
|
|
|
fi
|
|
|
|
fi
|
2022-06-05 19:25:23 +02:00
|
|
|
fi
|
2022-06-04 21:46:30 +02:00
|
|
|
|
2022-06-05 19:25:23 +02:00
|
|
|
if [ $__copy_error -ne 0 ]; then
|
|
|
|
log_error "$func:${LINENO}: $__m failed"
|
|
|
|
update_psa_copy_conf_and_ini_files \
|
|
|
|
$UPDATE_ISMAS_ERROR $RC_COPY_ERROR "$__m failed"
|
|
|
|
return $?
|
|
|
|
else
|
|
|
|
log_info "$func:${LINENO}: $__m ok"
|
|
|
|
update_psa_copy_conf_and_ini_files $UPDATE_ISMAS_PROGRESS \
|
|
|
|
$RC_SUCCESS "$__m ok"
|
2022-06-05 16:50:04 +02:00
|
|
|
fi
|
|
|
|
done
|
2022-06-04 21:46:30 +02:00
|
|
|
|
2022-06-05 19:25:23 +02:00
|
|
|
if [ $copy_necessary -eq 0 ]; then
|
|
|
|
update_psa_copy_conf_and_ini_files $UPDATE_ISMAS_PROGRESS $RC_SUCCESS \
|
2022-06-04 21:46:30 +02:00
|
|
|
"no copy of conf/ini-files necessary"
|
2022-06-05 19:25:23 +02:00
|
|
|
log_debug "$func:${LINENO}: no copy of conf/ini-files necessary"
|
|
|
|
else
|
|
|
|
log_debug "$func:${LINENO}: copied *conf/*ini-files to system-dirs"
|
|
|
|
fi
|
|
|
|
return 0
|
2022-06-05 16:50:04 +02:00
|
|
|
}
|
|
|
|
|
2022-06-03 19:27:28 +02:00
|
|
|
filter_conf_ini_files () {
|
2022-06-05 16:50:04 +02:00
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-02 22:28:03 +02:00
|
|
|
log_debug "$func:${LINENO} $1"
|
2022-06-05 16:50:04 +02:00
|
|
|
readarray -td' ' files <<< "$1"
|
|
|
|
local __system_files=""
|
|
|
|
for f in ${files[@]}; do
|
2022-06-05 19:25:23 +02:00
|
|
|
log_debug "$func:${LINENO} $f"
|
2022-06-02 22:28:03 +02:00
|
|
|
if grep -qE "^.*[.](conf|ini)\s*$" <<< $f; then
|
|
|
|
if [ -z $__system_files ]; then
|
|
|
|
__system_files="${f}"
|
|
|
|
else
|
|
|
|
__system_files="$__system_files ${f}"
|
|
|
|
fi
|
|
|
|
fi
|
2022-06-05 16:50:04 +02:00
|
|
|
done
|
|
|
|
|
|
|
|
log_debug "$func:${LINENO} system-files=$__system_files"
|
|
|
|
printf '%s' "$__system_files"
|
|
|
|
}
|
|
|
|
|
2022-06-02 22:28:03 +02:00
|
|
|
#
|
|
|
|
md5_of () {
|
|
|
|
printf '%s' "$(md5sum "$1" | cut -d' ' -f1)"
|
|
|
|
}
|
2022-06-05 16:50:04 +02:00
|
|
|
|
2022-06-02 17:22:27 +02:00
|
|
|
# Check if the fetched/merged files have the correct md5 and are
|
|
|
|
# valid for the PSA.
|
|
|
|
#
|
2022-06-04 21:30:42 +02:00
|
|
|
check_md5_for_changed_conf_and_ini_files () {
|
2022-06-03 20:48:37 +02:00
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-02 22:28:03 +02:00
|
|
|
local js_key="" # used by json-parser 'jq'
|
2022-06-04 21:30:42 +02:00
|
|
|
local md5sum_update_conf=""
|
|
|
|
local md5sum_repository=""
|
2022-06-02 22:28:03 +02:00
|
|
|
local readonly cut_md5="cut -d' ' -f1"
|
2022-06-04 21:30:42 +02:00
|
|
|
log_debug "$func:${LINENO} files=$1"
|
|
|
|
if ! [ -z $1 ]; then
|
|
|
|
readarray -td' ' files <<< "$1"
|
|
|
|
for file in ${files[@]}; do
|
2022-06-04 21:46:30 +02:00
|
|
|
log_debug "$func:${LINENO} checking file=${file}..."
|
2022-06-03 19:27:28 +02:00
|
|
|
if [[ "$file" =~ .*emp[.]conf.* ]]; then
|
2022-06-02 22:28:03 +02:00
|
|
|
js_key=".conf.szeged.zg[1].z[1].etc.psa_config.emp"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-02 22:28:03 +02:00
|
|
|
md5sum_repository="$(md5_of $emp_conf)"
|
2022-06-03 19:27:28 +02:00
|
|
|
elif [[ "$file" =~ .*printer[.]conf.* ]]; then
|
2022-06-02 22:28:03 +02:00
|
|
|
js_key=".conf.szeged.zg[1].z[1].etc.psa_config.printer"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-02 22:28:03 +02:00
|
|
|
md5sum_repository="$(md5_of $printer_conf)"
|
2022-06-03 19:27:28 +02:00
|
|
|
elif [[ "$file" =~ .*device[.]conf.* ]]; then
|
2022-06-02 22:28:03 +02:00
|
|
|
js_key=".conf.szeged.zg[1].z[1].etc.psa_config.device"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-02 22:28:03 +02:00
|
|
|
md5sum_repository="$(md5_of $device_conf)"
|
2022-06-03 19:27:28 +02:00
|
|
|
elif [[ "$file" =~ .*ATBQT[.]ini.* ]]; then
|
|
|
|
js_key=".ini.szeged.zg[1].z[1].opt.app.ATBAPP.ATBQT"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-05 19:25:23 +02:00
|
|
|
md5sum_repository="$(md5_of $ATBQT_INI_FULL)"
|
2022-06-03 19:27:28 +02:00
|
|
|
elif [[ "$file" =~ .*sysconfig[.]ini.* ]]; then
|
2022-06-02 22:28:03 +02:00
|
|
|
js_key=".ini.szeged.zg[1].z[1].opt.app.sysconfig.sysconfig"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-05 19:25:23 +02:00
|
|
|
md5sum_repository=$(md5_of $SYSCONFIG_SYSCONFIG_INI_FULL)
|
2022-06-03 19:27:28 +02:00
|
|
|
elif [[ "$file" =~ .*SystemControl[.]ini.* ]]; then
|
2022-06-02 22:28:03 +02:00
|
|
|
js_key=".ini.szeged.zg[1].z[1].opt.app.sysconfig.SystemControl"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-05 19:25:23 +02:00
|
|
|
md5sum_repository=$(md5_of $SYSCONFIG_SYSCTRL_INI_FULL)
|
2022-06-03 19:27:28 +02:00
|
|
|
elif [[ "$file" =~ .*ISMASMgr/ISMASMgr[.]ini.* ]]; then
|
2022-06-02 22:28:03 +02:00
|
|
|
js_key=".ini.szeged.zg[1].z[1].opt.app.ISMASMgr.ISMASMgr"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-05 19:25:23 +02:00
|
|
|
md5sum_repository=$(md5_of $ISMASMGR_ISMASMGR_INI_FULL)
|
2022-06-03 19:27:28 +02:00
|
|
|
elif [[ "$file" =~ .*sysconfig/ISMASMgr[.]ini.* ]]; then
|
2022-06-02 22:28:03 +02:00
|
|
|
js_key=".ini.szeged.zg[1].z[1].opt.app.sysconfig.ISMASMgr"
|
2022-06-03 21:50:15 +02:00
|
|
|
md5sum_update_conf=$(cat $UPDATE_CONF | jq -r $js_key)
|
2022-06-05 19:25:23 +02:00
|
|
|
md5sum_repository=$(md5_of $SYSCONFIG_ISMASMGR_INI_FULL)
|
2022-06-04 21:30:42 +02:00
|
|
|
else
|
|
|
|
continue
|
|
|
|
fi
|
2022-06-04 21:46:30 +02:00
|
|
|
|
|
|
|
PERCENT=$((PERCENT+1))
|
|
|
|
test $PERCENT -gt 100 && PERCENT=100
|
2022-06-04 21:30:42 +02:00
|
|
|
|
|
|
|
if [ "$md5sum_repository" = "$md5sum_update_conf" ]; then
|
|
|
|
log_info "$func:${LINENO}: md5sum for $file ok"
|
2022-06-04 21:46:30 +02:00
|
|
|
update_psa_check_hash $UPDATE_ISMAS_PROGRESS $RC_SUCCESS \
|
|
|
|
"md5sum -|$md5sum_repository|- for $file ok"
|
2022-06-04 21:30:42 +02:00
|
|
|
else
|
|
|
|
local __r="repository: $md5sum_repository"
|
|
|
|
local __u="update.conf=$md5sum_update_conf"
|
|
|
|
local __m="$__r != $__u"
|
|
|
|
log_error "$func:${LINENO}: md5sum for $file wrong: $__m"
|
2022-06-04 21:46:30 +02:00
|
|
|
update_psa_check_hash $UPDATE_ISMAS_ERROR $RC_HASH_VALUE_ERROR \
|
|
|
|
"md5sum -|$md5sum_repository|- for $file wrong"
|
|
|
|
return $?
|
2022-06-04 21:30:42 +02:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
else
|
|
|
|
log_debug "$func:${LINENO} no changed conf-/ini-files"
|
|
|
|
fi
|
2022-06-03 20:48:37 +02:00
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2022-06-04 21:46:30 +02:00
|
|
|
check_hardware_compatibility () {
|
|
|
|
local func="${FUNCNAME[0]}"
|
|
|
|
# RC_HW_COMPATIBILITY_ERROR=6
|
|
|
|
update_psa_check_hardware_compatibility $UPDATE_ISMAS_PROGRESS \
|
|
|
|
$RC_SUCCESS "TODO: hardware compatibility"
|
|
|
|
return $?
|
|
|
|
}
|
|
|
|
|
2022-06-03 20:48:37 +02:00
|
|
|
check_md5_for_opkg_packages () {
|
2022-06-02 17:22:27 +02:00
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-03 20:48:37 +02:00
|
|
|
local -n opkg_output_ref=$1
|
|
|
|
local package=""
|
2022-06-04 18:16:10 +02:00
|
|
|
local md5sum_opkg_info=""
|
2022-06-03 20:48:37 +02:00
|
|
|
local filename=""
|
|
|
|
for line in ${opkg_output_ref[@]}; do
|
2022-06-04 18:16:10 +02:00
|
|
|
log_info "$func:${LINENO}: line=$line"
|
2022-06-03 20:48:37 +02:00
|
|
|
if grep -qE "^\s*Package\s*:.*?$" <<< "$line"; then
|
|
|
|
package=${line#*:* }
|
|
|
|
elif grep -qE "^\s*MD5Sum\s*:.*?$" <<< "$line"; then
|
2022-06-04 18:16:10 +02:00
|
|
|
md5sum_opkg_info=${line#*:* }
|
2022-06-03 20:48:37 +02:00
|
|
|
elif grep -qE "^\s*Filename\s*:.*?$" <<< "$line"; then
|
|
|
|
filename=${line#*:* }
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2022-06-03 21:50:15 +02:00
|
|
|
local __update_conf="${CUSTOMER_LOCATION_DIR}/update.conf"
|
2022-06-04 18:16:10 +02:00
|
|
|
md5sum_repo=$(cat $__update_conf | jq -r .opkg.${package}.MD5Sum)
|
|
|
|
if ! [ -z $md5sum_repo ]; then
|
|
|
|
if [ "$md5sum_opkg_info" = "$md5sum_repo" ]; then
|
|
|
|
log_info "$func:${LINENO}: md5 $md5sum_repo OK for $package"
|
|
|
|
return 0
|
|
|
|
else
|
|
|
|
log_error "$func:${LINENO}: md5sum_repo [$md5sum_repo] "\
|
|
|
|
"!= md5sum_opkg_info [$md5sum_opkg_info] for $package"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
log_error "$func:${LINENO}: md5sum_repo empty"
|
|
|
|
fi
|
|
|
|
|
|
|
|
return 1
|
2022-06-02 17:22:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# In case the new checked-out files are not correct, revert the git
|
|
|
|
# repository to its previous state.
|
|
|
|
#
|
2022-06-04 21:30:42 +02:00
|
|
|
revert_customer_repository () {
|
2022-06-02 17:22:27 +02:00
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-05 19:25:23 +02:00
|
|
|
# TODO
|
2022-06-02 17:22:27 +02:00
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
# Backup before the update-process.
|
|
|
|
#
|
2022-06-03 20:48:37 +02:00
|
|
|
backup_previous_version () {
|
2022-06-02 17:22:27 +02:00
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-05 19:25:23 +02:00
|
|
|
# TODO
|
2022-06-02 17:22:27 +02:00
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2022-06-03 20:48:37 +02:00
|
|
|
exec_opkg_info () {
|
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-04 18:16:10 +02:00
|
|
|
log_info "$func:${LINENO}: executing info $1"
|
2022-06-03 20:48:37 +02:00
|
|
|
|
|
|
|
opkg_result=$(exec_opkg_command "opkg info $1")
|
2022-06-04 18:16:10 +02:00
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
# make sure the keywords start with '\n'
|
|
|
|
opkg_result=$(sed -E -e "s/(^.*)(Package)(.*$)/\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Version)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Depends)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Status)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Architecture)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Maintainer)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(MD5Sum)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Filename)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Source)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Description)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Installed-Size)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Section)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*[^-])(Size)(.*$)/\1\n\2\3/g"\
|
|
|
|
-e "s/(^.*)(Installed-Time)(.*$)/\1\n\2\3/g"
|
|
|
|
<<< "$opkg_result")
|
|
|
|
|
|
|
|
local -n output_ref=$2
|
|
|
|
|
|
|
|
readarray -d $'\n' output_ref < <(printf '%s' "$opkg_result")
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
log_error "$func:${LINENO}: readarray finished with error"
|
|
|
|
return 1
|
|
|
|
fi
|
2022-06-03 20:48:37 +02:00
|
|
|
|
2022-06-04 18:16:10 +02:00
|
|
|
log_info "$func:${LINENO}: ... done"
|
|
|
|
# log_info "$func:${LINENO}: opkg_result=${output_ref[@]}"
|
|
|
|
return 0
|
2022-06-03 20:48:37 +02:00
|
|
|
fi
|
2022-06-04 18:16:10 +02:00
|
|
|
|
|
|
|
log_error "$func:${LINENO}: executing info $1"
|
|
|
|
return 1
|
2022-06-03 20:48:37 +02:00
|
|
|
}
|
|
|
|
|
2022-06-02 17:22:27 +02:00
|
|
|
# Try to install new opkg-packages (in case the are some
|
|
|
|
# in the new git-checkout).
|
|
|
|
#
|
2022-06-04 21:30:42 +02:00
|
|
|
exec_opkg_noaction() {
|
2022-06-02 17:22:27 +02:00
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-03 20:48:37 +02:00
|
|
|
local opkg_command_no_action="opkg --noaction $1"
|
2022-06-04 21:30:42 +02:00
|
|
|
log_debug "$func:${LINENO}: executing $opkg_command_no_action"
|
|
|
|
|
|
|
|
local __opkg_result=$(exec_opkg_command "opkg --noaction $1")
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
log_info "$func:${LINENO}: opkg_result=$__opkg_result"
|
|
|
|
return 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
log_error "$func:${LINENO}: error executing opkg --noaction $1"
|
|
|
|
return 1
|
2022-06-02 17:22:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# Install the new packages using opkg.
|
|
|
|
#
|
2022-06-03 20:48:37 +02:00
|
|
|
exec_opkg () {
|
2022-06-02 17:22:27 +02:00
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-04 18:16:10 +02:00
|
|
|
log_debug "$func:${LINENO}: executing $1"
|
2022-06-03 22:18:00 +02:00
|
|
|
|
2022-06-04 18:16:10 +02:00
|
|
|
local __opkg_result=$(exec_opkg_command "opkg $1")
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
log_info "$func:${LINENO}: opkg_result=$__opkg_result"
|
|
|
|
return 0
|
|
|
|
fi
|
2022-06-03 22:18:00 +02:00
|
|
|
|
2022-06-04 18:16:10 +02:00
|
|
|
log_error "$func:${LINENO}: error executing $1"
|
|
|
|
return 1
|
2022-06-02 17:22:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# In case there was some error, re-install the previous package(s)
|
|
|
|
# and use the backup to restore any conf/ini-files.
|
|
|
|
#
|
|
|
|
fallback_to_previous_version() {
|
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-05 19:25:23 +02:00
|
|
|
# TODO
|
2022-06-02 17:22:27 +02:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
# If all went well, then execute all necessary cleanup steps.
|
|
|
|
#
|
|
|
|
cleanup_previous_version() {
|
|
|
|
local func="${FUNCNAME[0]}"
|
2022-06-05 19:25:23 +02:00
|
|
|
# TODO
|
2022-06-02 17:22:27 +02:00
|
|
|
return 0
|
|
|
|
}
|
2022-06-03 21:50:15 +02:00
|
|
|
|
|
|
|
check_for_apism () {
|
|
|
|
nc localhost 7778
|
|
|
|
}
|
|
|
|
|