You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
3.0 KiB

# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
inherit desktop xdg unpacker
MY_PN=${PN/-bin}
DESCRIPTION="A remote control software."
HOMEPAGE="https://rustdesk.com/"
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/releases/download/${PV}/${MY_PN}-${PV}.deb"
LICENSE=""
SLOT="0"
KEYWORDS="~amd64"
# Зависимости для запуска этой программы
RDEPEND="
!net-misc/rustdesk
dev-lang/python
net-misc/curl
media-libs/alsa-lib
media-sound/pulseaudio
sys-apps/systemd-utils
x11-libs/gtk+:3
x11-libs/libxcb
x11-misc/xdotool
x11-libs/libXfixes
"
RESTRICT="bindist mirror strip"
S=${WORKDIR}
#MY_P="rustdesk"
src_unpack() {
unpack_deb ${A}
}
src_install() {
mv * "${D}" || die
# Добавление службы rustdesk
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}/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="RustDesk"
description="RustDesk Daemon Service"
supervisor="supervise-daemon"
command="/usr/bin/rustdesk"
command_args="--service"
command_user="root"
pidfile="/run/rudesktop"
depend() {
after xdm
need net
}' > ${D}/etc/init.d/${MY_PN}
# Исправление прав на запуск службы
chmod +x ${D}/etc/init.d/${MY_PN}
fi
# Исправление ярлыка для меню Пуск
sed -i -E -e 's/^Type=Application/Type=Application\nCategories=Network/' ${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() {
# Добавление и запуск службы в автозагрузку
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
/etc/init.d/${MY_PN} start
fi
}
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
rm -f /etc/init.d/${MY_PN} || die
fi
}