File sshuttle-gui.spec of Package sshuttle-gui
%global debug_package %{nil}
Name: sshuttle-gui
Version: 0.3
Release: 1
Group: System/Configuration/Networking
Summary: GUI for SShuttle - Transparent proxy server
License: GPLv3
URL: https://github.com/AKotov-dev/SShuttle-GUI
Source0: https://github.com/AKotov-dev/SShuttle-GUI/archive/refs/tags/v%{version}.tar.gz?/%{name}-%{version}.tar.gz
BuildRequires: lazarus
BuildRequires: gettext
BuildRequires: systemd
Requires: sshuttle
Requires: systemd
Requires: iptables
Requires: sshpass
Requires: polkit
Requires: fping
Requires: gtk2
%description
GUI for SShuttle - Transparent proxy server that works as a poor man's VPN.
Forwards over ssh.
%post
systemctl daemon-reload
%postun
systemctl daemon-reload
#------------------------------------------------------------------
%prep
%setup -n SShuttle-GUI-%{version}/%{name}
# remove prebuild file
rm -f sshuttle_gui
rm -rf backup
rm -rf lib
%build
lazbuild --build-all *.lpi
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/{pixmaps,%{name},applications,polkit-1}
mkdir -p %{buildroot}%{_datadir}/%{name}/languages
mkdir -p %{buildroot}/etc/systemd/system/
cp ./all/usr/bin/* %{buildroot}%{_bindir}/
cp ./sshuttle_gui %{buildroot}%{_datadir}/%{name}
cp ./all/usr/share/icons/* %{buildroot}%{_datadir}/pixmaps/
cp ./all/usr/share/applications/* %{buildroot}%{_datadir}/applications/
cp ./languages/*.mo %{buildroot}%{_datadir}/%{name}/languages/
cp -r ./all/usr/share/polkit-1/actions %{buildroot}%{_datadir}/polkit-1/
cp ./all/etc/systemd/system/sshuttle.service %{buildroot}/etc/systemd/system/
%files
%doc ../README.md
%license ../LICENSE
%defattr(-,root,root)
%{_bindir}/%{name}
%{_datadir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/polkit-1/
%{_datadir}/polkit-1/actions/*
%dir "/etc/systemd"
%dir "/etc/systemd/system/"
"/etc/systemd/system/sshuttle.service"
%changelog
* Thu Jul 3 2025 Mistific@tor - 0.3-1
- Recompiling in Lazarus 3.2
- Force iptables nat clear if sshuttle.service is stopped
- Re-creating SSH keys (when there are changes on the server)