Обновление vipnetclient-gui-gost до версии 4.15.0.26717

master
serg-sg 7 months ago
parent 46c4ca14d1
commit ed160d388f

@ -1 +1,2 @@
DIST vipnetclient-gui-gost_ru_amd64_4.14.0.23314.deb 43851572 BLAKE2B d788720185a7260e99e78b0b5830c3e1f8d6a3143c06612702fc54fc93a87d94c3f49757c11cdb4a63a0651313f5ed37e83711e0aa9b7878b7b28b888862b203 SHA512 605fe390c42733a9418bb03fcf1590b4913df59c8151ab85ec0c48a1393457994d53b27740aa4e2e247f4e3227cf2c68d679b854a8d2e044d00126ee5e3b63b2
DIST vipnetclient-gui_gost_ru_amd64_4.15.0-26717.deb 43871382 BLAKE2B 712e27bbadce50b11317985f11fbba0adf3a605ac378a18c859e9328a4f788b5833d419027c595cd762c54af7739720f9e8fe7d18004e5689ff62641cc7a7be8 SHA512 d02cd2d146b8109acc6809f6d10a98940c0ebc23be5a7d0e0483369de9482a1e141e7589d4cdb6b4cb481cb29b6bb10b380d5502b2b0feebe57d45673949f48e

@ -7,6 +7,10 @@ inherit desktop unpacker xdg
DESCRIPTION="ViPNet Client for Linux GUI by JSC InfoTeCS"
HOMEPAGE="https://www.vipnet.ru"
MY_PV=${PV/0./0-}
MY_PN=${PN/-gost/_gost}
SRC_URI="https://git.calculate-linux.org/serg-sg/sources/raw/branch/master/net-vpn/vipnetclient/${PN}_ru_amd64_${PV}.deb"
LICENSE=""
@ -14,13 +18,13 @@ 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
x11-libs/libxkbcommon[X(+)]
x11-libs/libxcb[xkb(+)]
sys-process/procps
"
#dev-qt/qtgui[linuxfb(+),vnc(+)]
@ -49,7 +53,7 @@ src_unpack() {
unpack_deb ${A}
# Переименуем папку systemd чтобы не попал под фильтр INSTALL-MASK
mv ${S}/etc/systemd ${S}/etc/_systemd
mv -f ${S}/etc/systemd ${S}/var/lib/vipnet/systemd || die
}
@ -71,8 +75,8 @@ pkg_postinst() {
# Sandbox Disabled
# Копируем файлы службы для systemd, без них не работает
mkdir -p /etc/systemd/system
cp -rf /etc/_systemd/system/* /etc/systemd/system/ && rm -rf /etc/_systemd
mkdir -p /etc/systemd/system || die
cp -rf /var/lib/vipnet/systemd/system/* /etc/systemd/system/ || die
# update man db
mandb >/dev/null 2>&1
@ -103,12 +107,8 @@ pkg_postinst() {
which ldconfig >/dev/null 2>&1 && ldconfig 2>/dev/null
}
#
pkg_prerm () {
# Sandbox Disabled
GUI_NAME=vipnetclient-gui-bin
# При новой установке REPLACING_VERSIONS = "", при новой установке pkg_postrm() не выполняется.
# При удалении REPLACING_VERSIONS не вычисляется, этап pkg_postinst() не выполняется.
@ -119,13 +119,14 @@ pkg_prerm () {
# и выстраивать соответствующую логику.
if [ "${REPLACED_BY_VERSION}" = "" ]; then
GUI_NAME=vipnetclient-gui-bin
pkill -f --signal INT ${GUI_NAME} 2>/dev/null
# Удалим мусор при окончательном удалении
elog "Пакет окончательно удаляется"
rm -rf /etc/systemd/system/vipnetclient*
fi
pkill -f --signal INT ${GUI_NAME} 2>/dev/null
# Размонтируем виртуальный диск
umount /home/*/.vipnet/var/run
umount /root/.vipnet/var/run

@ -0,0 +1,147 @@
# 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"
MY_PV=${PV/0./0-}
MY_PN=${PN/-gost/_gost}
SRC_URI="https://git.calculate-linux.org/serg-sg/sources/raw/branch/master/net-vpn/vipnetclient/${MY_PN}_ru_amd64_${MY_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[X(+)]
x11-libs/libxcb[xkb(+)]
sys-process/procps
"
#dev-qt/qtgui[linuxfb(+),vnc(+)]
S=${WORKDIR}
pkg_setup() {
# Sandbox Disabled
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}
# Переименуем папку systemd чтобы не попал под фильтр INSTALL-MASK
mv -f ${S}/etc/systemd ${S}/var/lib/vipnet/systemd || die
}
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() {
# Sandbox Disabled
# Копируем файлы службы для systemd, без них не работает
mkdir -p /etc/systemd/system || die
cp -rf /var/lib/vipnet/systemd/system/* /etc/systemd/system/ || die
# 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 () {
# При новой установке 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
GUI_NAME=vipnetclient-gui-bin
pkill -f --signal INT ${GUI_NAME} 2>/dev/null
# Удалим мусор при окончательном удалении
elog "Пакет окончательно удаляется"
rm -rf /etc/systemd/system/vipnetclient*
fi
# Размонтируем виртуальный диск
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
}
Loading…
Cancel
Save