parent
367fd9b068
commit
cf49ff4dcd
@ -0,0 +1 @@
|
||||
DIST vipnetclient-gui-gost_ru_amd64_4.14.0.23314.deb 43851572 BLAKE2B d788720185a7260e99e78b0b5830c3e1f8d6a3143c06612702fc54fc93a87d94c3f49757c11cdb4a63a0651313f5ed37e83711e0aa9b7878b7b28b888862b203 SHA512 605fe390c42733a9418bb03fcf1590b4913df59c8151ab85ec0c48a1393457994d53b27740aa4e2e247f4e3227cf2c68d679b854a8d2e044d00126ee5e3b63b2
|
@ -0,0 +1,133 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
inherit desktop unpacker xdg
|
||||
|
||||
DESCRIPTION="ViPNet Client for Linux GUI by JSC InfoTeCS"
|
||||
HOMEPAGE="https://www.vipnet.ru"
|
||||
SRC_URI="https://git.calculate-linux.org/serg-sg/sources/raw/branch/master/net-vpn/vipnetclient/${PN}_ru_amd64_${PV}.deb"
|
||||
|
||||
LICENSE=""
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
RESTRICT="bindist mirror strip"
|
||||
|
||||
|
||||
RDEPEND="
|
||||
!net-vpn/vipnetclient-gui
|
||||
!net-vpn/vipnetclient-cli
|
||||
!net-vpn/vipnetclient-cli-gost
|
||||
x11-libs/libxkbcommon
|
||||
x11-libs/libxcb
|
||||
"
|
||||
#dev-qt/qtgui[linuxfb(+),vnc(+)]
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
rm -rf /tmp/vipnetclient
|
||||
mkdir -p /tmp/vipnetclient
|
||||
|
||||
# Creating file-markers on each existing vipnetclient process and send them USR1
|
||||
for pid in $(pgrep -U0 -x vipnetclient); do
|
||||
local user=$(grep -awz USER /proc/${pid}/environ 2>/dev/null | tr -d '\0' | cut -c 6-)
|
||||
[ -z "$user" ] && continue
|
||||
echo ${pid} > /tmp/vipnetclient/${user}
|
||||
done
|
||||
|
||||
pkill -x --signal USR1 vipnetclient 2>/dev/null
|
||||
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
|
||||
unpack_deb ${A}
|
||||
|
||||
# Set owners
|
||||
|
||||
# Переименуем папку systemd чтобы не попал под фильтр INSTALL-MASK
|
||||
mv ${S}/etc/systemd ${S}/etc/_systemd
|
||||
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
mv * "${D}" || die
|
||||
|
||||
# Set owners
|
||||
chown root:root ${D}/usr/bin/vipnetclient 2>/dev/null
|
||||
chown root:root $(ls -1 ${D}/etc/init.d/*vipnetclient) 2>/dev/null
|
||||
chmod 755 $(ls -1 ${D}/etc/init.d/*vipnetclient) 2>/dev/null
|
||||
chown root:root ${D}/usr/bin/vipnetclient-gui 2>/dev/null
|
||||
chown root:root ${D}/usr/bin/vipnetclient-gui-bin 2>/dev/null
|
||||
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
# Копируем файлы службы для systemd, без них не работает
|
||||
mkdir -p /etc/systemd/system
|
||||
cp -r /etc/_systemd/system/* /etc/systemd/system/
|
||||
# rm -rf /etc/_systemd
|
||||
|
||||
# update man db
|
||||
mandb >/dev/null 2>&1
|
||||
|
||||
# for some distrs
|
||||
find /var/lib/vipnet -type d -exec chmod 755 {} \;
|
||||
|
||||
xdg_icon_cache_update
|
||||
xdg_mimeinfo_database_update
|
||||
xdg_desktop_database_update
|
||||
|
||||
# create service and init scripts
|
||||
if which systemctl >/dev/null 2>&1; then
|
||||
systemctl reset-failed
|
||||
systemctl stop vipnetclientdaemon* && elog "Служба установлена"
|
||||
elif which rc-update >/dev/null 2>&1; then
|
||||
rc-update add vipnetclient default && elog "Служба установлена"
|
||||
fi
|
||||
|
||||
# Set capability
|
||||
/usr/bin/vipnetclient --setcap --version
|
||||
|
||||
# Restart each running instance of vipnetclient-gui
|
||||
pkill -f -USR1 vipnetclient-gui-bin 2>/dev/null
|
||||
|
||||
# Update shared libraries paths
|
||||
#ldconfig 2>/dev/null
|
||||
which ldconfig >/dev/null 2>&1 && ldconfig 2>/dev/null
|
||||
}
|
||||
|
||||
#
|
||||
pkg_prerm () {
|
||||
|
||||
GUI_NAME=vipnetclient-gui-bin
|
||||
|
||||
# Удалим мусор
|
||||
rm -rf /etc/systemd/system/vipnetclient*
|
||||
|
||||
pkill -f --signal INT ${GUI_NAME} 2>/dev/null
|
||||
|
||||
# Размонтируем виртуальный диск
|
||||
umount /home/*/.vipnet/var/run
|
||||
umount /root/.vipnet/var/run
|
||||
|
||||
# Update shared libraries paths
|
||||
which ldconfig >/dev/null 2>&1 && ldconfig 2>/dev/null
|
||||
|
||||
# disable service and remove init scripts
|
||||
if which systemctl >/dev/null 2>&1; then
|
||||
systemctl disable vipnetclient >/dev/null 2>&1
|
||||
if [ -f /etc/systemd/system/vipnetclient_gui_login.service ]; then
|
||||
systemctl disable vipnetclient_gui_login >/dev/null 2>&1
|
||||
fi
|
||||
elif which rc-update >/dev/null 2>&1; then
|
||||
rc-update -f vipnetclient remove >/dev/null 2>&1
|
||||
fi
|
||||
# rm -f /etc/rc*/*vipnetclient >/dev/null 2>&1
|
||||
|
||||
}
|
Loading…
Reference in new issue