|
|
|
@ -0,0 +1,131 @@
|
|
|
|
|
# Copyright 1999-2023 Gentoo Authors
|
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
|
|
EAPI="8"
|
|
|
|
|
|
|
|
|
|
inherit desktop xdg unpacker
|
|
|
|
|
|
|
|
|
|
DESCRIPTION="A remote control software."
|
|
|
|
|
HOMEPAGE="https://rudesktop.ru/"
|
|
|
|
|
SRC_URI="https://rudesktop.ru/download/rudesktop-amd64.deb"
|
|
|
|
|
|
|
|
|
|
LICENSE=""
|
|
|
|
|
SLOT="0"
|
|
|
|
|
KEYWORDS="~amd64"
|
|
|
|
|
|
|
|
|
|
# Зависимости для запуска этой программы
|
|
|
|
|
RDEPEND="
|
|
|
|
|
app-misc/ca-certificates
|
|
|
|
|
dev-libs/libayatana-appindicator
|
|
|
|
|
media-libs/alsa-lib
|
|
|
|
|
sys-apps/systemd-utils
|
|
|
|
|
x11-libs/gtk+:3
|
|
|
|
|
x11-libs/libxcb
|
|
|
|
|
x11-libs/libXfixes
|
|
|
|
|
x11-libs/libXtst
|
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
RESTRICT="bindist mirror strip"
|
|
|
|
|
|
|
|
|
|
S=${WORKDIR}
|
|
|
|
|
|
|
|
|
|
# Убираем суффикс в названии продукта
|
|
|
|
|
MY_PN=${PN/-bin/}
|
|
|
|
|
|
|
|
|
|
src_unpack() {
|
|
|
|
|
unpack_deb ${A}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
|
mv * "${D}" || die
|
|
|
|
|
|
|
|
|
|
# Перемещаем библиотеку в подпапку с именем пакета
|
|
|
|
|
mkdir -p ${D}/usr/lib/${MY_PN}
|
|
|
|
|
mv ${D}/usr/lib/libsciter-gtk.so ${D}/usr/lib/${MY_PN}/
|
|
|
|
|
|
|
|
|
|
# Добавление службы rudesktop
|
|
|
|
|
INITSYS=$(ls -al /proc/1/exe | awk -F' ' '{print $NF}' | awk -F'/' '{print $NF}')
|
|
|
|
|
|
|
|
|
|
if [ "systemd" == "${INITSYS}" ]; then
|
|
|
|
|
mkdir -p ${D}/usr/lib/systemd/system
|
|
|
|
|
cp ${D}/usr/share/${MY_PN}-client/files/systemd/${MY_PN}.service ${D}/usr/lib/systemd/system/${MY_PN}.service
|
|
|
|
|
else
|
|
|
|
|
mkdir -p ${D}/etc/init.d/
|
|
|
|
|
echo '#!/sbin/openrc-run
|
|
|
|
|
name="RuDesktop"
|
|
|
|
|
description="RuDesktop Daemon Service"
|
|
|
|
|
supervisor="supervise-daemon"
|
|
|
|
|
command="/usr/bin/rudesktop"
|
|
|
|
|
command_args="--service"
|
|
|
|
|
command_user="root"
|
|
|
|
|
pidfile="/run/rudesktop"
|
|
|
|
|
|
|
|
|
|
depend() {
|
|
|
|
|
after xdm
|
|
|
|
|
need net
|
|
|
|
|
}' > ${D}/etc/init.d/${MY_PN}
|
|
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Исправление прав на запуск службы
|
|
|
|
|
chmod +x ${D}/etc/init.d/${MY_PN}
|
|
|
|
|
|
|
|
|
|
# # Исправление ярлыка для меню Пуск
|
|
|
|
|
echo "Exec=${MY_PN} %u" >> ${D}/usr/share/applications/${MY_PN}.desktop
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pkg_preinst() {
|
|
|
|
|
INITSYS=$(ls -al /proc/1/exe | awk -F' ' '{print $NF}' | awk -F'/' '{print $NF}')
|
|
|
|
|
if [ "systemd" == "${INITSYS}" ]; then
|
|
|
|
|
service ${MY_PN} stop || true
|
|
|
|
|
|
|
|
|
|
if [ -e /etc/systemd/system/${MY_PN}.service ]; then
|
|
|
|
|
rm -f /etc/systemd/system/${MY_PN}.service /usr/lib/systemd/system/${MY_PN}.service /usr/lib/systemd/user/${MY_PN}.service
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
rc-service ${MY_PN} stop
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
|
echo "root ALL=(ALL) NOPASSWD:SETENV:/usr/bin/${MY_PN}" > /etc/sudoers.d/${MY_PN}
|
|
|
|
|
|
|
|
|
|
/usr/bin/python3 /usr/share/${MY_PN}-client/files/patch-X11.py
|
|
|
|
|
|
|
|
|
|
INITSYS=$(ls -al /proc/1/exe | awk -F' ' '{print $NF}' | awk -F'/' '{print $NF}')
|
|
|
|
|
if [ "systemd" == "${INITSYS}" ]; then
|
|
|
|
|
systemctl daemon-reload
|
|
|
|
|
systemctl enable ${MY_PN}
|
|
|
|
|
systemctl start ${MY_PN}
|
|
|
|
|
else
|
|
|
|
|
# Добавление службы в автозагрузку
|
|
|
|
|
rc-update add ${MY_PN} default
|
|
|
|
|
|
|
|
|
|
# Запуск службы rustdesk
|
|
|
|
|
rc-service ${MY_PN} start
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ ! -z "$RUDESKTOP_DOMAIN" ]; then
|
|
|
|
|
/usr/bin/${MY_PN} --rendezvous $RUDESKTOP_DOMAIN || true
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
mv /usr/lib/${MY_PN}/libsciter-gtk.so /usr/lib/
|
|
|
|
|
rm -rf /usr/lib/${MY_PN}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pkg_prerm() {
|
|
|
|
|
# Зачистка мусора
|
|
|
|
|
INITSYS=$(ls -al /proc/1/exe | awk -F' ' '{print $NF}' | awk -F'/' '{print $NF}')
|
|
|
|
|
if [ "systemd" == "${INITSYS}" ]; then
|
|
|
|
|
systemctl stop ${MY_PN} || true
|
|
|
|
|
systemctl disable ${MY_PN} || true
|
|
|
|
|
rm -f /etc/systemd/system/${MY_PN}.service /usr/lib/systemd/system/${MY_PN}.service /usr/lib/systemd/user/${MY_PN}.service /etc/sudoers.d/${MY_PN}
|
|
|
|
|
else
|
|
|
|
|
rc-update delete ${MY_PN}
|
|
|
|
|
rc-service ${MY_PN} stop
|
|
|
|
|
fi
|
|
|
|
|
rm -rf /usr/lib/libsciter-gtk.so
|
|
|
|
|
rm -rf /usr/share/${MY_PN}-client
|
|
|
|
|
# rm -rf /root/.config/rudesktop || true
|
|
|
|
|
}
|