diff --git a/net-misc/cassistant/Manifest b/net-misc/cassistant/Manifest index 50b9945..50a8000 100644 --- a/net-misc/cassistant/Manifest +++ b/net-misc/cassistant/Manifest @@ -1 +1,2 @@ DIST cassistant-5.5.0.deb 21929980 BLAKE2B 371d77591bf9b848d9fea10a1a9eda250ed0892b81965a069b46666d809e0ea6a2b4b300897f3831988dec9e2a0e6dfabd2d6adc309e7a2aaf9a0e883bd1ee47 SHA512 84de48974fe996c3330b453ec96ec2e4862ebe9edea0be5fa36eaee6d85a47d81070abc599d521c6843aea65375c880e9f1db45fbaa301406ea82d0ffff18dec +DIST cassistant-5.6.0.deb 18536388 BLAKE2B 9df2233ce7dd3928eddb7c79499eda38c5826afd2a5d9834d6fc62e0881c8f5af409834cf25691ccca07be49697584d5293c51dcd5059f2f26b5e68f7fe2b7b3 SHA512 65aa9ebb98729214847d05cfe98edffd7eda38b791fd7cc3066e929a55e338044ebc46914d28dc4755bdc47537cfa77df598298cee2099d45d33dda845f87b42 diff --git a/net-misc/cassistant/cassistant-5.6.0.ebuild b/net-misc/cassistant/cassistant-5.6.0.ebuild new file mode 100644 index 0000000..09bce40 --- /dev/null +++ b/net-misc/cassistant/cassistant-5.6.0.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit 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/951 -> ${P}.deb +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" + +# Зависимости для запуска этой программы +RDEPEND=" + !net-misc/assistant + app-shells/bash + sys-apps/hwdata +" + +RESTRICT="bindist mirror strip" + +S=${WORKDIR} + +MY_PN=${PN/c} + +ASISTDIR="opt/${MY_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" + sed -i -E -e 's/exec \/opt\/assistant\/bin\/asts/exec \/opt\/assistant\/bin\/asts --console/g' \ + "${D}${SCRIPTS_DIR}/openrc.t" + +} + +pkg_preinst() { + + # Sandbox Disabled + + # Завершаем процессы, иначе не дают обновить или преустановить ранее установленную версию + killall assistant 2> /dev/null + killall asts 2> /dev/null + +} + +pkg_postinst() { + + # Sandbox Disabled + + # Исправляем права на файлы и папки + chmod -R +x /${ASISTDIR}/{bin} + chmod -R +x ${SCRIPTS_DIR} + mkdir -p /${ASISTDIR}/{chat,log,screenshot,video} + chmod -R a+rw /${ASISTDIR}/{chat,license,log,screenshot,video} + rm -rf /root/.config/cassistant/ + mkdir -p /root/.config/cassistant + ln -s /.config/cassistant/assistant.ini /root/.config/cassistant/assistant.ini + chmod 666 /root/.config/cassistant/assistant.ini + + ${SCRIPTS_DIR}/setup.sh --install + + elog "--------------------------------------------------------------------------" + elog "Для получени ID и пароля подключения запустите" + elog "\"/opt/assistant/bin/asts --console\"." + elog "После того, как будет установлено соединение с сервером," + elog "нажмите на клавиатуре клавишу [i]." + elog + elog "Для установки постоянного пароля убедитесь, что процессы asts завершены." + elog "Процессы можно завершить командой \"sudo killall asts 2> /dev/null\"." + elog + elog "Далее запустите \"sudo /opt/assistant/bin/asts --console -p <пароль>\"." + elog "--------------------------------------------------------------------------" + +} + +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/${PN} || die + fi + +} + +pkg_postrm() { + + if [ "${REPLACED_BY_VERSION}" = "" ]; then + elog "Пакет ${P} окончательно удаляется" + + # Удалить каталог с журналами после удаления + rm -r -f /opt/assistant || die + rm -r -f /.config/${PN} || die + fi + +}