File surfshark.spec of Package surfshark
%global debug_package %{nil}
%global __strip /bin/true
%define deb_version %(dpkg-deb -f %{_sourcedir}/%{name}.deb Version 2>/dev/null | sed "s|.\\:\\(.\\+\\)|\\1|" | sed "s|-.\\+||")
Name: surfshark
Summary: VPN client
Version: %{deb_version}
Release: 0
Group: Productivity/Networking/Security
License: MIT
URL: https://surfshark.com
Source0: %{name}.deb
BuildRequires: dpkg
BuildRequires: desktop-file-utils
BuildRequires: hicolor-icon-theme
%description
Keep your online activity and personal information secure. Put your privacy-conscious mind at rest and enjoy unrestricted internet.
%prep
%setup -q -c -T %{name}_%{version}
ar x %{SOURCE0}
[ -f data.tar.xz ] && tar -xf data.tar.xz || echo "Not xz file"
[ -f data.tar.gz ] && tar -xzf data.tar.gz || echo "Not gz file"
chmod 755 ./opt/Surfshark/resources/dist/resources/surfsharkd.js || true
chmod 755 ./opt/Surfshark/resources/dist/resources/surfsharkd2.js || true
chmod 755 ./opt/Surfshark/resources/dist/resources/update || true
chmod 755 ./opt/Surfshark/resources/dist/resources/diagnostics || true
chmod 755 ./opt/Surfshark/resources/dist/resources/diagnostics-snap || true
sed -i "s|/opt/Surfshark/surfshark|env LD_LIBRARY_PATH=/opt/Surfshark /opt/Surfshark/surfshark|" ./%{_datadir}/applications/%{name}.desktop
cp .%{_datadir}/doc/%{name}/changelog.gz ./
gunzip changelog.gz
mv changelog %{_sourcedir}/%{name}.changes
rm -rf .%{_datadir}/doc
rm -rf ./etc/init.d
%build
%install
cp -frp ./opt %{buildroot}/opt
cp -frp ./etc %{buildroot}/etc
cp -frp ./usr %{buildroot}
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
mkdir -p %{buildroot}%{_bindir}
pushd %{buildroot}%{_bindir}
ln -sr ../../opt/Surfshark/surfshark ./
popd
mkdir -p %{buildroot}%{_sbindir}
pushd %{buildroot}%{_sbindir}
ln -s service rcsurfsharkd2
popd
%pre
%service_add_pre %{name}d.service /tmp/%{name}d.sock $XDG_RUNTIME_DIR/%{name}d.sock
%service_add_pre %{name}d2.service /tmp/%{name}-electron.sock $XDG_RUNTIME_DIR/%{name}-electron.sock
%post
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%service_add_post %{name}d.service /tmp/%{name}d.sock $XDG_RUNTIME_DIR/%{name}d.sock
%service_add_post %{name}d2.service /tmp/%{name}-electron.sock $XDG_RUNTIME_DIR/%{name}-electron.sock
%preun
%service_del_preun %{name}d.service /tmp/%{name}d.sock $XDG_RUNTIME_DIR/%{name}d.sock
%service_del_preun %{name}d2.service /tmp/%{name}-electron.sock $XDG_RUNTIME_DIR/%{name}-electron.sock
%postun
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
%{_bindir}/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%service_del_postun %{name}d.service /tmp/%{name}d.sock $XDG_RUNTIME_DIR/%{name}d.sock
%service_del_postun %{name}d2.service /tmp/%{name}-electron.sock $XDG_RUNTIME_DIR/%{name}-electron.sock
nmcli connection delete surfshark_ipv6 2> /dev/null || true
nmcli connection delete surfshark_wg 2> /dev/null || true
nmcli connection delete surfshark_openvpn 2> /dev/null || true
nmcli connection delete surfshark_2 2> /dev/null || true
%posttrans
%{_bindir}/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files
%dir /opt/Surfshark
/opt/Surfshark/*
%dir /etc/openvpn
%dir /etc/openvpn/client
%dir /etc/openvpn/client/%{name}
/etc/openvpn/client/%{name}/*
%{_datadir}/applications/%{name}.desktop
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/*
%dir %{_datadir}/icons/hicolor/*/apps
%{_datadir}/icons/hicolor/*/apps/%{name}.png
/usr/lib/systemd/system/%{name}*
/usr/lib/systemd/user/%{name}*
%ghost /run/%{name}
%{_bindir}/%{name}
%{_sbindir}/rc%{name}d2
%changelog