diff options
author | András Czigány | 2021-01-30 22:51:31 +0100 |
---|---|---|
committer | András Czigány | 2021-01-30 22:54:39 +0100 |
commit | e713c743804a74b93c2edf79616ee399f5f45649 (patch) | |
tree | 3e293aa283b60c1a75c554282619f2254727567d /eea.install | |
parent | 2a788988ebfafe79ea6e4198c404f711432136d3 (diff) | |
download | aur-e713c743804a74b93c2edf79616ee399f5f45649.tar.gz |
eea-dkms v7.1.9.0
Fixed: Real-time file system protection is does not work on new Ubuntu 20.04 kernel 5.8.0-36
Diffstat (limited to 'eea.install')
-rw-r--r-- | eea.install | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/eea.install b/eea.install index e69de29bb2d1..dffde175e67a 100644 --- a/eea.install +++ b/eea.install @@ -0,0 +1,247 @@ +pre_install() { + + # Script to be run before package is installed / upgraded + + SYSTEMD_CAT="`which systemd-cat 2>/dev/null || true`" + print_error() { + errorstr="ESET Endpoint Antivirus error: $1" + if [ -n "$SYSTEMD_CAT" ]; then + echo -n "$errorstr" | $SYSTEMD_CAT -t "eea" -p err + else + echo "$errorstr" 1>&2 + fi + } + + # Check for previous product + if [ -d "/opt/eset/esets/" ] || [ -f "/opt/eset/efs/etc/pkgid" ] || [ -f "/etc/opt/eset/esets/info/pkgid" ] || [ -f "/etc/opt/eset/esets/esets.cfg" ]; then + print_error 'Previous ESET Security product must be uninstalled first, package won'\''t be installed.' + exit 1 + fi + +} + +pre_upgrade() { + + # Script to be run before package is installed / upgraded + + SYSTEMD_CAT="`which systemd-cat 2>/dev/null || true`" + print_error() { + errorstr="ESET Endpoint Antivirus error: $1" + if [ -n "$SYSTEMD_CAT" ]; then + echo -n "$errorstr" | $SYSTEMD_CAT -t "eea" -p err + else + echo "$errorstr" 1>&2 + fi + } + + # Check for previous product + if [ -d "/opt/eset/esets/" ] || [ -f "/opt/eset/efs/etc/pkgid" ] || [ -f "/etc/opt/eset/esets/info/pkgid" ] || [ -f "/etc/opt/eset/esets/esets.cfg" ]; then + print_error 'Previous ESET Security product must be uninstalled first, package won'\''t be installed.' + exit 1 + fi + + #################################### Upgrade #################################### + if true; then + # stop and unregister old product + /opt/eset/eea/lib/install_scripts/unregister_service.sh + # export configuration from old product to xml + # this path must be into old product + /opt/eset/eea/lib/cfg-upgrade --export-xml /var/opt/eset/eea/confd/exported.xml + fi +} + +post_install() { + + # Script to be run after package is installed + + + # import config engine configuration from old product + import_configuration() { + # import only if we have exported xml from old product + if [ -f /var/opt/eset/eea/confd/exported.xml ]; then + # we don't want to leave old settings.json, all information is + # in exported xml + rm -f /var/opt/eset/eea/confd/settings.json + confd_ug='eset-eea-confd:eset-eea-daemons' + sudo -u ${confd_ug%:*} /opt/eset/eea/lib/cfg-upgrade --import-xml /var/opt/eset/eea/confd/exported.xml + rm /var/opt/eset/eea/confd/exported.xml + fi + } + + + if true; then + # first install and upgrade (deb only) + # check if users have been already created + if ! grep eset-eea-daemons /etc/group >/dev/null; then + # create users and groups + for g in eset-eea-daemons; do + groupadd -r $g + done + + for ug in eset-eea-licensed:eset-eea-daemons eset-eea-logd:eset-eea-daemons eset-eea-updated:eset-eea-daemons eset-eea-scand:eset-eea-daemons eset-eea-confd:eset-eea-daemons; do + useradd -d '/opt/eset/eea' -M -N -r -s /sbin/nologin -g "${ug#*:}" "${ug%:*}" + done + fi + fi + +} + +post_upgrade() { + + # Script to be run after package is installed + + + # import config engine configuration from old product + import_configuration() { + # import only if we have exported xml from old product + if [ -f /var/opt/eset/eea/confd/exported.xml ]; then + # we don't want to leave old settings.json, all information is + # in exported xml + rm -f /var/opt/eset/eea/confd/settings.json + confd_ug='eset-eea-confd:eset-eea-daemons' + sudo -u ${confd_ug%:*} /opt/eset/eea/lib/cfg-upgrade --import-xml /var/opt/eset/eea/confd/exported.xml + rm /var/opt/eset/eea/confd/exported.xml + fi + } + + + if true; then + # first install and upgrade (deb only) + # check if users have been already created + if ! grep eset-eea-daemons /etc/group >/dev/null; then + # create users and groups + for g in eset-eea-daemons; do + groupadd -r $g + done + + for ug in eset-eea-licensed:eset-eea-daemons eset-eea-logd:eset-eea-daemons eset-eea-updated:eset-eea-daemons eset-eea-scand:eset-eea-daemons eset-eea-confd:eset-eea-daemons; do + useradd -d '/opt/eset/eea' -M -N -r -s /sbin/nologin -g "${ug#*:}" "${ug%:*}" + done + fi + fi + + #################################### Upgrade & Install #################################### + # change directory permissions + chgrp -R 'eset-eea-daemons' '/var/opt/eset/eea' + chmod -R 775 '/var/opt/eset/eea' + + logd_ug='eset-eea-logd:eset-eea-daemons' + chown -R ${logd_ug%:*} '/var/log/eset/eea' + chmod -R 700 '/var/log/eset/eea' + mkdir -p '/var/opt/eset/eea/cache/data/Logs' + + chgrp -R 'eset-eea-daemons' '/var/opt/eset/eea/cache' '/var/opt/eset/eea/cache/data' '/var/opt/eset/eea/modules_notice' + for dir in /var/opt/eset/eea/cache /var/opt/eset/eea/cache/data; do + chmod -R 770 "$dir" + chmod 1770 "$dir" + done + chmod 1770 '/var/opt/eset/eea/cache/data/Logs' + + scand_ug='eset-eea-scand:eset-eea-daemons' + chown -R ${scand_ug%:*} /var/opt/eset/eea/cache + + # extract modules from tar + tar -xf /var/opt/eset/eea/lib/modules.tar -C /var/opt/eset/eea/lib + # compile modules + /opt/eset/eea/bin/upd --compile-nups + # set correct user to compiled modules + updated_ug='eset-eea-updated:eset-eea-daemons' + chown -R ${updated_ug} /var/opt/eset/eea/lib + + if false; then + # rpm upgrade only + import_configuration + fi + + if true; then + # deb upgrade only + import_configuration + fi + + # register and start service + /opt/eset/eea/lib/install_scripts/register_service.sh +} + +pre_remove() { + + # Script to be run before package is uninstalled + + SYSTEMD_CAT="`which systemd-cat 2>/dev/null || true`" + print_error() { + errorstr="ESET Endpoint Antivirus error: $1" + if [ -n "$SYSTEMD_CAT" ]; then + echo -n "$errorstr" | $SYSTEMD_CAT -t "eea" -p err + else + echo "$errorstr" 1>&2 + fi + } + + if false; then + # upgrade exits here + exit + fi + + #################################### Uninstall #################################### + # dissociate product + if ! /opt/eset/eea/sbin/lic -d >/dev/null 2>/dev/null; then + print_error 'License was not dissociated. Please use ESET License Administrator to dissociate license manually.' + fi + + # stop product, unregister from systemd/init.d + /opt/eset/eea/lib/install_scripts/unregister_service.sh + + # clean notice dir + rm -rf /var/opt/eset/eea/modules_notice/* + + # remove devctld file with udev rules + rm /etc/udev/rules.d/00-eset.eea.rules 2>/dev/null || true + + ### NOTE: All directories created by ApplicationBase::CreateAppDir() must be explicitly deleted bellow. + + # remove licensed folder + rm -rf /var/opt/eset/eea/licensed + + # remove confd folder + rm -rf /var/opt/eset/eea/confd +} + +post_remove() { + + # Script to be run after package is uninstalled + + if false; then + # only on debian package, we don't have any configuration file + exit + fi + + if false; then + # upgrade exits here + exit + fi + + #################################### Uninstall #################################### + # remove users and groups + for ug in eset-eea-licensed:eset-eea-daemons eset-eea-logd:eset-eea-daemons eset-eea-updated:eset-eea-daemons eset-eea-scand:eset-eea-daemons eset-eea-confd:eset-eea-daemons; do + usr=${ug%:*} + userdel $usr 2>/dev/null || true + done + + for g in eset-eea-daemons; do + groupdel $g 2>/dev/null || true + done + + # clean files generated on runtime + # there may be other our product(s) installed + rm -rf /var/log/eset/eea + rmdir /var/log/eset 2>/dev/null || true + + rm -rf /var/run/eset/eea + rmdir /var/run/eset 2>/dev/null || true + + rm -rf /var/opt/eset/eea + rmdir /var/opt/eset 2>/dev/null || true + + # remove kernel modules + rm -rf /lib/modules/**/eset/eea + rmdir --ignore-fail-on-non-empty /lib/modules/**/eset +} |