]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/commitdiff
rp-pppoe: New package.
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 23 Jun 2012 20:40:29 +0000 (22:40 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 23 Jun 2012 20:40:29 +0000 (22:40 +0200)
Comes with a devlopment pppoe-server, a pppoe-relay and a
sniffer.

rp-pppoe/rp-pppoe.nm [new file with mode: 0644]
rp-pppoe/systemd/pppoe-server@.service [new file with mode: 0644]

diff --git a/rp-pppoe/rp-pppoe.nm b/rp-pppoe/rp-pppoe.nm
new file mode 100644 (file)
index 0000000..0751f43
--- /dev/null
@@ -0,0 +1,75 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = rp-pppoe
+version    = 3.10
+release    = 1
+
+groups     = Networking/Dialin
+url        = http://www.roaringpenguin.com/pppoe/
+license    = GPLv2+
+summary    = Administration tools for PPPoE connections.
+
+description
+       PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by
+       many ADSL Internet Service Providers.
+       This package contains a set of tools to build your own PPPoE server.
+end
+
+source_dl  = http://www.roaringpenguin.com/files/download/
+
+build
+       requires
+               autoconf
+               automake
+               iproute2
+               libtool
+               ppp-devel
+       end
+
+       DIR_APP := %{DIR_APP}/src
+       CFLAGS += -D_GNU_SOURCE -fno-strict-aliasing
+
+       prepare_cmds
+               # PLUGIN_DIR defaults to /etc/ppp/plugins, which is not what we want.
+               sed -i Makefile.in \
+                       -e "s@^PLUGIN_DIR=.*@PLUGIN_DIR=%{libdir}/pppd/$(pppd --version | awk '{ print $NF }')@"
+
+               # Always enable kernel mode PPPoE for the server, because we
+               # don't ship the userspace component.
+               sed -i pppoe-server.c \
+                       -e "s/UseLinuxKernelModePPPoE = 0/UseLinuxKernelModePPPoE = 1/"
+
+               autoconf
+       end
+
+       # Force support for kernel-mode PPPoE.
+       #configure_options += \
+       #       ac_cv_header_linux_if_pppox_h=yes
+
+       install_cmds
+               # Remove all the client components because we only support the
+               # rp-pppoe plugin that comes with pppd.
+               rm -rvf %{BUILDROOT}%{sysconfdir}
+               rm -vf %{BUILDROOT}%{sbindir}/pppoe
+               rm -vf %{BUILDROOT}%{sbindir}/pppoe-{connect,start,stop,status,setup}
+               rm -vf %{BUILDROOT}%{mandir}/man*/pppoe-{connect,start,stop,status,setup}*
+               rm -vf %{BUILDROOT}%{mandir}/man*/pppoe.{,conf}*
+               rm -rvf ${BUILDROOT}%{libdir}
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       iproute2
+                       ppp
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/rp-pppoe/systemd/pppoe-server@.service b/rp-pppoe/systemd/pppoe-server@.service
new file mode 100644 (file)
index 0000000..141bc8a
--- /dev/null
@@ -0,0 +1,11 @@
+[Unit]
+Description=PPPoE server daemon on %I
+BindTo=dev-%I.device
+After=dev-%I.device
+
+[Service]
+ExecStart=/usr/lib/network/pppoe-server %I
+ExecStopPost=/usr/lib/network/pppoe-server %I cleanup
+Restart=failure
+UtmpIdentifier=%I
+KillMode=process