summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2007-06-08 06:13:53 +0000
committerJamie Lenehan <lenehan@twibble.org>2007-06-08 06:13:53 +0000
commit612f7ecab32c79e28074e1a56184df7068bdbf9c (patch)
treee4837f918c5c13db6db8dc85a50e413e35c80886
parentf7acf081277799b12a839fa32f97b36dbe4490fb (diff)
rp-pppoe 3.8: Fix issues caused by autoconf needing to run in the src
subdirectory of the source code. The OE autotools.bbclass runs the autoconf stuff in ${S}, so you need to change ${S} to the src subdirectory to get it to work. But ${S} is also where patches are appplied, so you can't patch the config files and other things which aren't in the src directory. So add some autoconf at the top level which just says there's a sub-autoconf project in the src subdirectory, fix up the patches, remove the sed hacks and add a new patch to do what the sed hacks were doing before.
-rw-r--r--packages/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch25
-rw-r--r--packages/rp-pppoe/rp-pppoe-3.8/update-config.patch30
-rw-r--r--packages/rp-pppoe/rp-pppoe_3.8.bb16
3 files changed, 61 insertions, 10 deletions
diff --git a/packages/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch b/packages/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch
new file mode 100644
index 0000000000..e3b0482984
--- /dev/null
+++ b/packages/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch
@@ -0,0 +1,25 @@
+The autoconf stuff is all in a subdirectory, which is rather annoying
+as OE expects patches to be applied and autoconf stuff to be done in
+S. This adds enough autoconf at the top level to allow it to be
+called there - all it does is run a sub autoconf stuff in the src
+directory.
+
+Index: rp-pppoe-3.8/Makefile.am
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ rp-pppoe-3.8/Makefile.am 2007-06-08 15:58:16.000000000 +1000
+@@ -0,0 +1,5 @@
++PACKAGE = rp-pppoe
++VERSION = 3.8
++
++dnl AM_CFLAGS = -Wall -DDEBUG
++SUBDIRS = src
+Index: rp-pppoe-3.8/configure.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ rp-pppoe-3.8/configure.in 2007-06-08 15:58:16.000000000 +1000
+@@ -0,0 +1,4 @@
++AC_INIT(src/pppoe.c)
++AM_INIT_AUTOMAKE([rp-pppoe], [3.8])
++AC_CONFIG_SUBDIRS(src)
++AC_OUTPUT(Makefile)
diff --git a/packages/rp-pppoe/rp-pppoe-3.8/update-config.patch b/packages/rp-pppoe/rp-pppoe-3.8/update-config.patch
new file mode 100644
index 0000000000..5642e3cfee
--- /dev/null
+++ b/packages/rp-pppoe/rp-pppoe-3.8/update-config.patch
@@ -0,0 +1,30 @@
+Set the timeout to 0 since we don't want pppoe to try reconnecting,
+we want whatever is calling it to reconnect. Lots of odd things
+happen when you have pppoe retrying itself.
+
+The path for the plugin is wrong, it's now part of ppp and is in a
+ppp's plugin lib directory. If no path is specified then that's where
+ppp looks, so that's what we do here.
+
+Index: rp-pppoe-3.8/configs/pppoe.conf
+===================================================================
+--- rp-pppoe-3.8.orig/configs/pppoe.conf 2006-04-03 00:29:41.000000000 +1000
++++ rp-pppoe-3.8/configs/pppoe.conf 2007-06-08 16:02:47.000000000 +1000
+@@ -66,7 +66,7 @@
+ # to connect forever after pppoe-start is called. Otherwise, it will
+ # give out after CONNECT_TIMEOUT seconds and will not attempt to
+ # connect again, making it impossible to reach.
+-CONNECT_TIMEOUT=30
++CONNECT_TIMEOUT=0
+
+ # How often in seconds pppoe-start polls to check if link is up
+ CONNECT_POLL=2
+@@ -115,7 +115,7 @@
+ FIREWALL=NONE
+
+ # Linux kernel-mode plugin for pppd. If you want to try the kernel-mode
+-# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
++# plugin, use LINUX_PLUGIN=rp-pppoe.so
+ LINUX_PLUGIN=
+
+ # Any extra arguments to pass to pppoe. Normally, use a blank string
diff --git a/packages/rp-pppoe/rp-pppoe_3.8.bb b/packages/rp-pppoe/rp-pppoe_3.8.bb
index 8743838909..6b2084ea4a 100644
--- a/packages/rp-pppoe/rp-pppoe_3.8.bb
+++ b/packages/rp-pppoe/rp-pppoe_3.8.bb
@@ -5,25 +5,21 @@ LICENSE = "GPLv2"
RDEPENDS_${PN} = "ppp"
RDEPENDS_${PN}-server = "${PN}"
RRECOMMENDS_${PN} = "ppp-oe"
-PR = "r3"
+PR = "r4"
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://top-autoconf.patch;patch=1 \
+ file://configure_in_cross.patch;patch=1 \
+ file://pppoe-src-restrictions.patch;patch=1 \
+ file://update-config.patch;patch=1 \
file://pppoe-server.default \
file://pppoe-server.init"
-S = "${WORKDIR}/${P}/src"
+S = "${WORKDIR}/${P}"
inherit autotools update-rc.d
do_install() {
- # Set timeout to 0. Fixes lots of reconnect issues
- # No need for full path to the PPPoE plugin, and it's in a different
- # Can't patch this in because it's outside of what we have {S} set to.
- 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