summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch53
-rw-r--r--packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.default22
-rwxr-xr-xpackages/rp-pppoe/rp-pppoe-3.8/pppoe-server.init59
-rw-r--r--packages/rp-pppoe/rp-pppoe_3.8.bb39
4 files changed, 162 insertions, 11 deletions
diff --git a/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch b/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch
index 0543145c63..381a44d303 100644
--- a/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch
+++ b/packages/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch
@@ -1,7 +1,7 @@
Index: src/configure.in
===================================================================
---- rp-pppoe-3.8.org/src/configure.in 2006-04-03 00:29:42.000000000 +1000
-+++ rp-pppoe-3.8/src/configure.in 2007-06-07 20:00:48.000000000 +1000
+--- rp-pppoe-3.8.orig/src/configure.in 2006-04-03 00:29:42.000000000 +1000
++++ rp-pppoe-3.8/src/configure.in 2007-06-07 22:19:36.000000000 +1000
@@ -5,6 +5,13 @@
dnl pppd directory for kernel-mode PPPoE
PPPD_DIR=ppp-2.4.1.pppoe2
@@ -16,6 +16,40 @@ Index: src/configure.in
AC_CONFIG_HEADER(config.h)
AC_PREFIX_DEFAULT(/usr)
+@@ -44,7 +51,7 @@
+ AC_MSG_RESULT($ac_cv_struct_sockaddr_ll)
+
+ if test "$ac_cv_struct_sockaddr_ll" = yes ; then
+-AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL)
++AC_DEFINE([HAVE_STRUCT_SOCKADDR_LL], [], [Have struct SOCKADDR_LL])
+ fi
+
+ dnl Check for N_HDLC line discipline
+@@ -55,7 +62,7 @@
+ ac_cv_n_hdlc=no)
+ AC_MSG_RESULT($ac_cv_n_hdlc)
+ if test "$ac_cv_n_hdlc" = yes ; then
+-AC_DEFINE(HAVE_N_HDLC)
++AC_DEFINE([HAVE_N_HDLC], [], [Have N_HDLC])
+ fi
+
+ AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no)
+@@ -100,13 +107,13 @@
+ if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
+ if test "$ac_cv_pluginpath" != no ; then
+ LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
+- AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE)
++ AC_DEFINE([HAVE_LINUX_KERNEL_PPPOE], [], [Have kernel PPPoE])
+ PPPD_INCDIR=$ac_cv_pluginpath
+ fi
+ fi
+
+ if test "$ac_cv_debugging" = "yes" ; then
+- AC_DEFINE(DEBUGGING_ENABLED)
++ AC_DEFINE([DEBUGGING_ENABLED], [], [Debugging enabled])
+ fi
+
+ AC_SUBST(LINUX_KERNELMODE_PLUGIN)
@@ -131,15 +138,8 @@
AC_CHECK_SIZEOF(unsigned int)
AC_CHECK_SIZEOF(unsigned long)
@@ -79,7 +113,7 @@ Index: src/configure.in
AC_TRY_RUN([
union foo {
struct bar {
-@@ -245,6 +209,7 @@
+@@ -245,10 +209,11 @@
}
}], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev,
$ECHO "no defaults for cross-compiling"; exit 0)
@@ -87,3 +121,16 @@ Index: src/configure.in
if test "$rpppoe_cv_pack_bitfields" = "rev" ; then
AC_MSG_RESULT(reversed)
+- AC_DEFINE(PACK_BITFIELDS_REVERSED)
++ AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields])
+ else
+ AC_MSG_RESULT(normal)
+ fi
+@@ -312,6 +277,7 @@
+ AC_SUBST(RDYNAMIC)
+ AC_SUBST(LIBEVENT)
+ AC_SUBST(ECHO)
++AC_SUBST(HAVE_STRUCT_SOCKADDR_LL)
+
+ datadir_evaluated=`eval echo $datadir`
+ AC_SUBST(datadir_evaluated)
diff --git a/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.default b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.default
new file mode 100644
index 0000000000..996d57f3cf
--- /dev/null
+++ b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.default
@@ -0,0 +1,22 @@
+# PPPoE Server options
+
+# Maximum segment size, not used for in kernel PPPoE
+#MSS=1412
+
+# Device(s) - Space seperated list of devices to listen on
+#DEVICES="eth1"
+
+# Local IP
+#LOCAL_IP=10.0.0.1
+
+# Starting remote IP
+#REMOTE_IP=10.67.15.1
+
+# Service name
+#SERVICE_NAME="acme"
+
+# Maximum number of sessions, default is 16
+#MAX_SESSIONS=64
+
+# Access concentrator name, default is the hostname
+#ACCESS_CONCENTRATOR_NAME="pppoe-rtr-1"
diff --git a/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.init b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.init
new file mode 100755
index 0000000000..21afe0be39
--- /dev/null
+++ b/packages/rp-pppoe/rp-pppoe-3.8/pppoe-server.init
@@ -0,0 +1,59 @@
+#! /bin/sh
+
+test -f /usr/sbin/pppoe-server || exit 0
+test -f /etc/default/pppoe-server && . /etc/default/pppoe-server
+
+case $1 in
+ start)
+ OPTIONS=""
+ if [ -n "$MSS" ]; then
+ OPTIONS="$OPTIONS -m $MSS"
+ fi
+ if [ -n "$DEVICES" ]; then
+ for i in $DEVICES; do
+ OPTIONS="$OPTIONS -I $i"
+ done
+ fi
+ if [ -n "$LOCAL_IP" ]; then
+ OPTIONS="$OPTIONS -L $LOCAL_IP"
+ fi
+ if [ -n "$REMOTE_IP" ]; then
+ OPTIONS="$OPTIONS -R $REMOTE_IP"
+ fi
+ if [ -n "$SERVICE_NAME" ]; then
+ OPTIONS="$OPTIONS -S $SERVICE_NAME"
+ fi
+ if [ -n "$MAX_SESSIONS" ]; then
+ OPTIONS="$OPTIONS -N $MAX_SESSIONS"
+ fi
+ if [ -n "$ACCESS_CONCENTRATOR_NAME" ]; then
+ OPTIONS="$OPTIONS -C $ACCESS_CONCENTRATOR_NAME"
+ fi
+ echo -n "Starting PPPoE server: pppoe-server"
+ start-stop-daemon --start --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping PPPoE server: pppoe-server"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS
+ echo "."
+ ;;
+ status)
+ pid=$(pidof pppoe-server)
+ if [ -n "$pid" ] ; then
+ echo "Running with pid $pid"
+ else
+ echo "Not running"
+ fi
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/pppoe-server {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/packages/rp-pppoe/rp-pppoe_3.8.bb b/packages/rp-pppoe/rp-pppoe_3.8.bb
index ae3e52bfce..916201e3da 100644
--- a/packages/rp-pppoe/rp-pppoe_3.8.bb
+++ b/packages/rp-pppoe/rp-pppoe_3.8.bb
@@ -2,17 +2,20 @@ DESCRIPTION = "A user-mode PPPoE client and server suite for Linux"
HOMEPAGE = "http://www.roaringpenguin.com/en/penguin/openSourceProducts/rpPppoe"
SECTION = "console/network"
LICENSE = "GPLv2"
-RDEPENDS = "ppp"
-RRECOMMENDS = "ppp-oe"
-PR = "r1"
+RDEPENDS_${PN} = "ppp"
+RDEPENDS_${PN}-server = "ppp"
+RRECOMMENDS_${PN} = "ppp-oe"
+PR = "r2"
SRC_URI = "http://www.roaringpenguin.com/files/download/${P}.tar.gz \
file://configure_in_cross.patch;patch=1;pnum=2 \
- file://pppoe-src-restrictions.patch;patch=1;pnum=2"
+ file://pppoe-src-restrictions.patch;patch=1;pnum=2 \
+ file://pppoe-server.default \
+ file://pppoe-server.init"
S = "${WORKDIR}/${P}/src"
-inherit autotools
+inherit autotools update-rc.d
do_install() {
# Set timeout to 0. Fixes lots of reconnect issues
@@ -21,18 +24,38 @@ do_install() {
sed -i -e 's,\(CONNECT_TIMEOUT=\)30,\10,g' \
-e 's,\(LINUX_PLUGIN=\)/etc/ppp/plugins/rp-pppoe.so,\1rp-pppoe.so,g' \
${S}/../configs/pppoe.conf
+ # Install init script and default settings
+ install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/pppoe-server.default ${D}${sysconfdir}/default/pppoe-server
+ install -m 0755 ${WORKDIR}/pppoe-server.init ${D}${sysconfdir}/init.d/pppoe-server
# Install
oe_runmake -C ${S} RPM_INSTALL_ROOT=${D} docdir=${docdir} install
}
-pkg_postinst() {
+# Insert server package before main package
+PACKAGES = "${PN}-dbg ${PN}-server ${PN}-relay ${PN}-sniff ${PN} ${PN}-doc"
+
+FILES_${PN}-server = "${sysconfdir}/default/pppoe-server \
+ ${sysconfdir}/init.d/pppoe-server \
+ ${sbindir}/pppoe-server \
+ ${sysconfdir}/ppp/pppoe-server-options"
+FILES_${PN}-relay = "${sbindir}/pppoe-relay"
+FILES_${PN}-sniff = "${sbindir}/pppoe-sniff"
+
+pkg_postinst_${PN} () {
if [ x"$D" != "x" ]; then
exit 1
fi
chmod 4755 ${sbindir}/pppoe
}
-CONFFILES_${PN} = "${sysconfdir}/ppp/pppoe-server-options \
- ${sysconfdir}/ppp/pppoe.conf \
+CONFFILES_${PN} = "${sysconfdir}/ppp/pppoe.conf \
${sysconfdir}/ppp/firewall-standalone \
${sysconfdir}/ppp/firewall-masq"
+CONFFILES_${PN}-server = "${sysconfdir}/ppp/pppoe-server-options \
+ ${sysconfdir}/default/pppoe-server"
+
+INITSCRIPT_PACKAGES = "${PN}-server"
+INITSCRIPT_NAME_${PN}-server = "pppoe-server"
+INITSCRIPT_PARAMS_${PN}-server = "defaults 92 08"
+