File sshuttle.spec of Package sshuttle
# vim: set sw=4 ts=4 et nu:
Name:               sshuttle
Version:            0.61
Release:            0
Summary:            Transparent Proxy VPN
Source:             sshuttle-%{version}.tar.gz
Patch1:             sshuttle-remove_python2.patch
URL:                https://github.com/apenwarr/sshuttle
Group:              Productivity/Networking/Security
License:            LGPL-2.1+
BuildRoot:          %{_tmppath}/build-%{name}-%{version}
BuildRequires:      python
%if (0%{?suse_version} >= 1320 || 0%{?suse_version} == 1310)
# python libs for generating man page do not exist in SLE 12, thus exclude 1315
BuildRequires:      python-Markdown
BuildRequires:      python-beautifulsoup
%endif
BuildArch:          noarch
%py_requires
%description
Transparent proxy server that works as a poor man's VPN. Forwards over ssh.
Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.
%prep
%setup -q -n sshuttle-sshuttle-%{version}
%patch1
%__rm stresstest.py
%build
%__python -c 'import compileall
compileall.compile_dir(".",ddir="%{_usr}/lib/%{name}",force=True)'
make
%install
%__install -d "%{buildroot}%{_usr}/lib/%{name}"
%__install -m0644 -p *.py* "%{buildroot}%{_usr}/lib/%{name}"
%__cp -a compat "%{buildroot}%{_usr}/lib/%{name}/"
# man page
%if (0%{?suse_version} >= 1320 || 0%{?suse_version} == 1310)
%__install -d -m0755 %{buildroot}%{_mandir}/man8
%__install -m0664 Documentation/%{name}.8 %{buildroot}%{_mandir}/man8/
%endif
%__install -d "%{buildroot}%{_bindir}"
cat<<EOF >"%{buildroot}%{_bindir}/%{name}"
#!/bin/sh
PYTHONPATH="%{_usr}/lib/%{name}"
export PYTHONPATH
exec %__python "%{_usr}/lib/%{name}/main.py" "%__python" "\$@"
EOF
%__chmod 0755 "%{buildroot}%{_bindir}/%{name}"
%clean
%{?buildroot:%__rm -rf "%{buildroot}"}
%files
%defattr(-,root,root)
%doc LICENSE README.md Documentation/%{name}.md
%{_bindir}/sshuttle
%{_usr}/lib/%{name}
%if (0%{?suse_version} >= 1320 || 0%{?suse_version} == 1310)
%doc %{_mandir}/man8/*
%endif