%PDF- %PDF-
Direktori : /var/lib/dpkg/info/ |
Current File : /var/lib/dpkg/info/kesl.postinst |
#!/bin/sh -u export LC_ALL=C ContainSubstr() { printf '%s' "$1" | grep -F "$2" >/dev/null } IContainSubstr() { printf '%s' "$1" | grep -iF "$2" >/dev/null } IStartsWith() { awk -v "_input=$1" -v "_test=$2" -- 'BEGIN { exit(index(tolower(_input), tolower(_test)) == 1 ? 0 : 1); }' return $? } IsNo() { [ -n "$1" ] && IStartsWith 'no' "$1" } IsYes() { [ -n "$1" ] && IStartsWith 'yes' "$1" } ReplaceAllByRegex() { local _out='' local rc=0 _out=$(awk -v _ere="$2" -v _repl="$3" -v _in="$1" -- 'BEGIN { num = gsub(_ere, _repl, _in); print _in; exit(10 + num); }' 2>/dev/null) || rc=$? if [ ${rc} -lt 10 ]; then return 1 fi if [ -n "${4:-}" ]; then eval "${4#@}=\"\${_out}\"" fi if [ -n "${5:-}" ]; then eval "${5#@}=$((${rc}-10))" fi return 0 } ParseVersionString() { local _ver="$1" shift local _cmd='' _cmd=$(cat <<'AWK_PROGRAM' BEGIN { n = split(version, a, "."); if (n > num) n = num; for (i = 1; i <= n; ++i) { printf("${%s:+eval \"${%s#@}='%s'\"};", i, i, a[i]); } exit; } AWK_PROGRAM ) local _code='' _code="$(awk -v version="${_ver}" -v num="$#" -- "${_cmd}" 2>/dev/null)" || return $? eval "${_code}" return $? } CompareVersions() { local _v1="$1" local _v2="$2" local _v1_major='' local _v1_minor='' local _v1_fix='' local _v1_build='' if ! ParseVersionString "${_v1}" @_v1_major @_v1_minor @_v1_fix @_v1_build; then return 1 fi local _v2_major='' local _v2_minor='' local _v2_fix='' local _v2_build='' if ! ParseVersionString "${_v2}" @_v2_major @_v2_minor @_v2_fix @_v2_build; then return 1 fi test "${_v1_major}" -eq "${_v1_major}" 2>/dev/null || return 1 test "${_v1_minor}" -eq "${_v1_minor}" 2>/dev/null || return 1 test "${_v1_fix}" -eq "${_v1_fix}" 2>/dev/null || return 1 test "${_v1_build}" -eq "${_v1_build}" 2>/dev/null || return 1 test "${_v2_major}" -eq "${_v2_major}" 2>/dev/null || return 1 test "${_v2_minor}" -eq "${_v2_minor}" 2>/dev/null || return 1 test "${_v2_fix}" -eq "${_v2_fix}" 2>/dev/null || return 1 test "${_v2_build}" -eq "${_v2_build}" 2>/dev/null || return 1 local _res='=' while :; do if [ "${_v1_major}" -ne "${_v2_major}" ]; then [ "${_v1_major}" -lt "${_v2_major}" ] && _res='<' || _res='>' break fi if [ "${_v1_minor}" -ne "${_v2_minor}" ]; then [ "${_v1_minor}" -lt "${_v2_minor}" ] && _res='<' || _res='>' break fi if [ "${_v1_fix}" -ne "${_v2_fix}" ]; then [ "${_v1_fix}" -lt "${_v2_fix}" ] && _res='<' || _res='>' break fi if [ "${_v1_build}" -ne "${_v2_build}" ]; then [ "${_v1_build}" -le "${_v2_build}" ] && _res='<' || _res='>' break fi break done eval "${3#@}=\"\${_res}\"" return $? } DeleteFromList() { local _cmd='' _cmd=$(cat <<'AWK_PROGRAM' function ltrim(s) { sub(/^\s+/, "", s); return s; } function rtrim(s) { sub(/\s+$/, "", s); return s; } function trim(s) { return rtrim(ltrim(s)); } BEGIN { re = "\\s*" rmItem "\\s*"; n = split(lst, a); k = 0; for (i = 1; i <= n; i++) { if (a[i] ~ re) continue; if (k > 0) printf("%s ", FS); printf("%s", trim(a[i])); k++; } exit; } AWK_PROGRAM ) local _s='' _s="$(awk -v lst="${1}" -v FS="${2}" -v rmItem="${3}" -- "${_cmd}")" || return $? eval "${4#@}=\"\${_s}\"" return $? } readonly PACKAGE_TYPE=deb readonly KESL_USE_KSN="${KESL_USE_KSN:-}" readonly KESL_ASYNCHRONOUS_RESTART="${KESL_ASYNCHRONOUS_RESTART:-}" readonly VAR_DIRECTORY='/var/opt/kaspersky/kesl/' readonly VAR_OPT_KASPERSKY_DIRECTORY='/var/opt/kaspersky/' readonly PACKAGE_INSTALL_DIRECTORY='/var/opt/kaspersky/kesl/install_12.0.0.6672/' readonly LAUNCHER_FILEPATH='/opt/kaspersky/kesl/libexec/launcher' readonly TIMESTAMP="$(date '+%s')" Main() { if [ "$1" != "configure" ]; then exit 0 fi local ksn='' if IsYes "${KESL_USE_KSN}"; then ksn='--ksn-on' elif IsNo "${KESL_USE_KSN}"; then ksn='--ksn-off' fi local async_restart='' if IsYes "${KESL_ASYNCHRONOUS_RESTART}"; then async_restart='--async-restart' fi local parsec_caps='' if lsmod | fgrep -q 'parsec'; then parsec_caps='/usr/sbin/execaps -c 0x20000 -- ' fi chmod a+X "${VAR_OPT_KASPERSKY_DIRECTORY}" chmod a+X "${VAR_DIRECTORY}" ${parsec_caps} ${PACKAGE_INSTALL_DIRECTORY}/${LAUNCHER_FILEPATH} "--install" "${TIMESTAMP}" "--package-type" "${PACKAGE_TYPE}" "${ksn}" "${async_restart}" } Main "$@" exit 0