File rp-pppoe.spec of Package rp-pppoe

#
# spec file for package rp-pppoe
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org
#

%define _name pppoe
%define _group dialout
Name:           rp-%{_name}
Version:        3.12
Release:        0
Summary:        A PPP Over Ethernet Redirector for PPPD
License:        GPL-2.0+
Group:          Productivity/Networking/PPP
URL:            https://www.roaringpenguin.com/products/pppoe
Source0:        https://www.roaringpenguin.com/files/download/%{name}-%{version}.tar.gz
Source1:        %{_name}-connect
Source2:        %{_name}-setup
Source3:        %{_name}-start
Source4:        %{_name}-status
Source5:        %{_name}-stop
Source6:        %{_name}.service
Source7:        %{_name}-server.service
Patch0:         docdir.diff
Patch1:         nonrfc-modems.diff
Patch2:         release-buildsystem.diff
Patch3:         resolve-conf.diff
Patch4:         %{name}-3.10-config.patch
Patch5:         %{name}-3.10-init.patch
Patch6:         %{name}-pie.patch
Patch7:         strip.diff
# extracted from 3.15-3.14
Patch8:         rp-pppoe-dont-ifconfig.patch
BuildRequires:  ppp
BuildRequires:  systemd
Requires:       iproute2
Requires:       ppp
Requires(post): permissions
%if 0%{?suse_version} >= 1330
Requires:       group(%{_group})
Requires(pre):  group(%{_group})
%else
Requires(pre):  shadow
%endif

%description
%{name} is a user-space redirector which permits the use of PPPoE
(Point-to-Point Protocol Over Ethernet) with Linux. PPPoE is used by
many ADSL service providers.

%prep
%setup -q
%patch0
%patch1
%patch2
%patch3
%patch4 -p1
%patch5 -p1
%patch6
%patch7
%patch8 -p1

%build
cd src
%configure
make %{?_smp_mflags}
cd ../gui
make %{?_smp_mflags}

%install
%make_install -C src
mkdir -p %{buildroot}%{_sbindir} %{buildroot}%{_unitdir}
install -m 0755 %{SOURCE1} %{buildroot}%{_sbindir}
install -m 0755 %{SOURCE2} %{buildroot}%{_sbindir}
install -m 0755 %{SOURCE3} %{buildroot}%{_sbindir}
install -m 0755 %{SOURCE4} %{buildroot}%{_sbindir}
install -m 0755 %{SOURCE5} %{buildroot}%{_sbindir}
install -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/%{_name}.service
install -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/%{_name}-server.service
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{_name}
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{_name}-server
ln -sf %{_name}-stop %{buildroot}%{_sbindir}/adsl-stop
ln -sf %{_name}-start %{buildroot}%{_sbindir}/adsl-start
rm -rf %{buildroot}%{_sysconfdir}/ppp/%{_name}.conf \
       %{buildroot}%{_sysconfdir}/rc.d/init.d/%{_name} \
       %{buildroot}%{_initddir}
%make_install -C gui
install -d  %{buildroot}%{_defaultdocdir}/%{name}
mv %{buildroot}%{_sysconfdir}/ppp/plugins/README %{buildroot}%{_defaultdocdir}/%{name}/README.plugins
rm -rf %{buildroot}%{_sysconfdir}/ppp/plugins

%pre
%if 0%{?suse_version} < 1330
getent group %{_group} >/dev/null || %{_sbindir}/groupadd -r %{_group}
%endif
%service_add_pre %{_name}.service
%service_add_pre %{_name}-server.service

%preun
%service_del_preun %{_name}.service
%service_del_preun %{_name}-server.service

%post
%service_add_post %{_name}.service
%service_add_post %{_name}-server.service
%set_permissions %{_sbindir}/%{_name}-wrapper

%postun
%service_del_postun %{_name}.service
%service_del_postun %{_name}-server.service

%verifyscript
%verify_permissions -e %{_sbindir}/%{_name}-wrapper

%files
%dir %{_defaultdocdir}/%{name}
%doc %{_defaultdocdir}/%{name}/*
%config(noreplace) %{_sysconfdir}/ppp/%{_name}-server-options
%config(noreplace) %{_sysconfdir}/ppp/firewall-masq
%config(noreplace) %{_sysconfdir}/ppp/firewall-standalone
%{_bindir}/tkpppoe
%{_sbindir}/%{_name}
%{_sbindir}/%{_name}-server
%{_sbindir}/%{_name}-sniff
%{_sbindir}/%{_name}-relay
%{_sbindir}/%{_name}-connect
%{_sbindir}/%{_name}-start
%{_sbindir}/%{_name}-stop
%{_sbindir}/%{_name}-setup
%{_sbindir}/%{_name}-status
%attr (4750,root,dialout) %{_sbindir}/%{_name}-wrapper
%{_mandir}/man5/%{_name}.conf.5*
%{_mandir}/man8/%{_name}.8*
%{_mandir}/man8/%{_name}-server.8*
%{_mandir}/man8/%{_name}-relay.8*
%{_mandir}/man8/%{_name}-sniff.8*
%{_mandir}/man8/%{_name}-connect.8*
%{_mandir}/man8/%{_name}-start.8*
%{_mandir}/man8/%{_name}-stop.8*
%{_mandir}/man8/%{_name}-status.8*
%{_mandir}/man8/%{_name}-setup.8*
%{_sbindir}/adsl-start
%{_sbindir}/adsl-stop
%{_sbindir}/rc%{_name}
%{_sbindir}/rc%{_name}-server
%{_unitdir}/%{_name}.service
%{_unitdir}/%{_name}-server.service
%dir %{_sysconfdir}/ppp/%{name}-gui
%{_mandir}/man1/tk%{_name}.1*
%{_mandir}/man1/%{_name}-wrapper.1*
%dir %{_datarootdir}/tk%{_name}
%{_datarootdir}/tk%{_name}/tk%{_name}.html
%{_datarootdir}/tk%{_name}/mainwin-busy.png
%{_datarootdir}/tk%{_name}/mainwin-nonroot.png
%{_datarootdir}/tk%{_name}/mainwin.png
%{_datarootdir}/tk%{_name}/props-advanced.png
%{_datarootdir}/tk%{_name}/props-basic.png
%{_datarootdir}/tk%{_name}/props-nic.png
%{_datarootdir}/tk%{_name}/props-options.png
%{_datarootdir}/tk%{_name}/en.msg
%{_datarootdir}/tk%{_name}/ja.msg
%verify(not mode caps) %attr(4750,root,dialout) %{_sbindir}/%{_name}-wrapper

%changelog
openSUSE Build Service is sponsored by