diff --git a/net-misc/rustdesk-bin/Manifest b/net-misc/rustdesk-bin/Manifest index 389502d..e7830b4 100644 --- a/net-misc/rustdesk-bin/Manifest +++ b/net-misc/rustdesk-bin/Manifest @@ -1 +1,2 @@ DIST rustdesk-1.2.3-x86_64.deb 18726924 BLAKE2B 597be8939f899ba4643b1c256f34b22179606be4b63cade67fd5ff3f5bd400f32584c0ba6c8908517ff921d714452c86993ab2a2ee31a462e679de6317ece949 SHA512 51681768c5c4094dbbf9e9e465e8bb01ddc4a6664bd0061e5ebddb056ffae0d3e21b470d699d02e59333af60b30f34ebdc9829e0251ccab337542b548a908992 +DIST rustdesk-bin-1.2.3.1.deb 18726924 BLAKE2B 597be8939f899ba4643b1c256f34b22179606be4b63cade67fd5ff3f5bd400f32584c0ba6c8908517ff921d714452c86993ab2a2ee31a462e679de6317ece949 SHA512 51681768c5c4094dbbf9e9e465e8bb01ddc4a6664bd0061e5ebddb056ffae0d3e21b470d699d02e59333af60b30f34ebdc9829e0251ccab337542b548a908992 diff --git a/net-misc/rustdesk-bin/rustdesk-bin-1.2.3.1.ebuild b/net-misc/rustdesk-bin/rustdesk-bin-1.2.3.1.ebuild new file mode 100644 index 0000000..3c317a2 --- /dev/null +++ b/net-misc/rustdesk-bin/rustdesk-bin-1.2.3.1.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +PYTHON_COMPAT=( python3_{10..12} ) +inherit xdg unpacker python-r1 + +MY_PN=${PN/-bin} +MY_PV=$(ver_cut 1-3) +MY_PV2=$(ver_rs 3 '-') + +DESCRIPTION="A remote control software." +HOMEPAGE="https://rustdesk.com/" + +SRC_URI=" + amd64? ( + https://github.com/${MY_PN}/${MY_PN}/releases/download/${MY_PV2}/${MY_PN}-${MY_PV}-x86_64.deb -> ${P}.deb + ) +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" + +# Зависимости для запуска этой программы +RDEPEND=" + !net-misc/rustdesk + dev-lang/python + dev-libs/libappindicator + net-misc/curl + media-libs/alsa-lib + media-libs/gstreamer + media-libs/gst-plugins-base + media-libs/libva[X] + sys-apps/systemd-utils + sys-libs/pam + x11-libs/gtk+:3 + x11-libs/libxcb + x11-libs/libvdpau + x11-libs/libXfixes + x11-misc/xdotool + ${PYTHON_DEPS} +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="bindist mirror strip" + +S=${WORKDIR} + +src_unpack() { + unpack_deb ${A} +} + +src_install() { + mv * "${D}" || die + + ln -s "/usr/lib/rustdesk/${MY_PN}" "${D}/usr/bin/${MY_PN}" + + # Добавление службы 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 display-manager + need net +}' > "${D}/etc/init.d/${MY_PN}" + + # Исправление прав на запуск службы + chmod +x "${D}/etc/init.d/${MY_PN}" + + fi +} + +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 +}