diff --git a/net-misc/assistant/Manifest b/net-misc/assistant/Manifest index bf40492..1fac83c 100644 --- a/net-misc/assistant/Manifest +++ b/net-misc/assistant/Manifest @@ -1,2 +1,3 @@ DIST assistant-5.4.2.deb 18932488 BLAKE2B 6b73d945aab7f51c3d00117d99b831d6eb1da9078effcc7bd11a1826ad2a9af746e33e9a798f75cfe598d1b3df5b061015787d8bde041c4936416eb84fcdc392 SHA512 554a65e3ad54c6d757beb7bdb9560d893a55c2353273d79e7608614ea992c5e9b5cb8e0abe0ded9a7bb958cb7b2c75f6a47721d69879556c649b1941ddfd053b DIST assistant-5.5.0.deb 21930176 BLAKE2B f4e4ecb71245c902f07edc9740b83b30a638b3ca3b637272dd4498dc48e6bb44264445d71deaed7f90d3e283ee090bee92339953f3f9dfb318750214bccd74a3 SHA512 ecbbfc4ba5dd7ce30f32a23b8920a1c6847b0b9eb3e5e701b1513826deb818a1e6b2f20d5fd6fc5e8776033245499bffc42d223f433477e834774f9246345918 +DIST assistant-5.6.0.deb 18536424 BLAKE2B 82ca03b48f7286f1fc2bbcc8c4005c002703599a0eeaef402f647c4e84acbca7504b7509a6dac2ac7b767bfdccadd1b92aaf78ce4e06aa3c712b7d1af691cb66 SHA512 a435271771f87b31b5ef9bc143f2e332fba0d56e348db62c711c646958f9397c480e8e7c43b6e743374cb4ab6ab858f28bea0128c5df882e108ffb086bdc11c0 diff --git a/net-misc/assistant/assistant-5.6.0.ebuild b/net-misc/assistant/assistant-5.6.0.ebuild new file mode 100644 index 0000000..7a72566 --- /dev/null +++ b/net-misc/assistant/assistant-5.6.0.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit xdg unpacker + +DESCRIPTION="Ассистент - удобный инструмент для безопасного удаленного доступа." +HOMEPAGE="https://мойассистент.рф/" +SRC_URI=" +https://xn--80akicokc0aablc.xn--p1ai/%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C/Download/947 -> ${P}.deb +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" + +# Зависимости для запуска этой программы +RDEPEND=" + !net-misc/cassistant + app-shells/bash + x11-libs/gtk+:2 + sys-apps/hwdata +" + +RESTRICT="bindist mirror strip" + +S=${WORKDIR} + +ASISTDIR="opt/${PN}" +SCRIPTS_DIR="/${ASISTDIR}/scripts" + +pkg_setup() { + + # Sandbox Disabled + + CRON_REGEXP_PATTERN="^\*\/1 \* \* \* \* root \/opt\/assistant\/scripts\/ast_restart\.sh$" + CRON_FILE="/etc/crontab" + sed -i "/${CRON_REGEXP_PATTERN}/d" ${CRON_FILE} + + # Завершаем процессы, иначе не дают обновить или преустановить ранее установленную версию + killall assistant 2> /dev/null + killall asts 2> /dev/null + +} + +src_install() { + + mv * "${D}" || die + sed -i -E -e '/^\s+eselect rc stop zassistantd/d' "${D}${SCRIPTS_DIR}/daemon.sh" + +} + +pkg_preinst() { + + # Sandbox Disabled + + # Завершаем процессы, иначе не дают обновить или преустановить ранее установленную версию + killall assistant 2> /dev/null + killall asts 2> /dev/null + +} + +pkg_postinst() { + + # Sandbox Disabled + + # Исправляем права на файлы и папки + chmod -R +x /${ASISTDIR}/{bin,lang} + chmod -R +x ${SCRIPTS_DIR} + mkdir -p /${ASISTDIR}/{chat,log,screenshot,video} + chmod -R a+rw /${ASISTDIR}/{chat,license,log,screenshot,video} + + ${SCRIPTS_DIR}/setup.sh --install + + xdg_desktop_database_update + xdg_icon_cache_update + +} + +pkg_prerm() { + + killall assistant 2> /dev/null + killall asts 2> /dev/null + + # При новой установке REPLACING_VERSIONS = "", при новой установке pkg_postrm() не выполняется. + # При удалении REPLACING_VERSIONS не вычисляется, этап pkg_postinst() не выполняется. + # При удалении REPLACED_BY_VERSION = "", при новой установке pkg_postrm() не выполняется. + # При обновлении или переустановки выполняются этапы pkg_postinst() и pkg_postrm() + # и, соответственно, переменные REPLACING_VERSIONS и REPLACED_BY_VERSION имеют ненулевое значение. + # Таким образом мы можем определить, что пакет устанавливается, обновляется, переустанавливается поверх или удаляется + # и выстраивать соответствующую логику. + + if [ "${REPLACED_BY_VERSION}" = "" ]; then + # Удалить ярлык + rm -f /usr/share/applications/assistant.desktop || die + + if which rc-update >/dev/null 2>&1; then + # Зачистка мусора + rc-update delete zassistantd + /etc/init.d/zassistantd stop + + # Удалить службу + rm -f /etc/init.d/zassistantd || die + fi + + ${SCRIPTS_DIR}/setup.sh --uninstall + + # Удалить каталог с журналами после удаления + rm -r -f /opt/assistant || die + rm -r -f /.config/assistant || die + fi + +} + +pkg_postrm() { + + if [ "${REPLACED_BY_VERSION}" = "" ]; then + elog "Пакет окончательно удаляется" + + # Удалить каталог с журналами после удаления + rm -r -f /opt/assistant || die + rm -r -f /.config/assistant || die + fi + + xdg_desktop_database_update + xdg_icon_cache_update + +}