rp-pppoe: move from meta-oe to meta-networking and tweak

* Move packaging definitions to the end
* Move SRC_URI checksums next to SRC_URI
* Set SUMMARY instead of DESCRIPTION

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Paul Eggleton
2013-04-16 10:53:59 +00:00
committed by Martin Jansa
parent 037be68e54
commit f40bce4363
10 changed files with 8 additions and 6 deletions
@@ -0,0 +1,142 @@
Update the configure script to cross-compiling with OE. This hard-codes
a few target paths, reworks a few tests to be more friendly for cross
and drops other tests.
Upstream-Status: Inappropriate [build system specific changes]
Index: src/configure.in
===================================================================
--- 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
+dnl hard code some paths
+PPPD=/usr/sbin/pppd
+ID=/usr/bin/id
+ECHO=/bin/echo
+AC_ARG_VAR(PPPD)
+AC_ARG_VAR(ID)
+
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)
-dnl Check for location of pppd
-AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin)
-AC_PATH_PROG(ECHO, echo, echo)
-
-dnl Check for setsid (probably Linux-specific)
-AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin)
-
dnl Check for an "id" which accepts "-u" option -- hack for Solaris.
-AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH)
+dnl AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH)
dnl Check for Linux-specific kernel support for PPPoE
AC_MSG_CHECKING(for Linux 2.4.X kernel-mode PPPoE support)
@@ -183,44 +183,8 @@
CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -ansi"
fi
-dnl If we couldn't find pppd, die
-if test "$PPPD" = "NOTFOUND"; then
- AC_MSG_WARN([*** Oops! I couldn't find pppd, the PPP daemon anywhere.])
- AC_MSG_WARN([*** You must install pppd, version 2.3.10 or later.])
- AC_MSG_WARN([*** I will keep going, but it may not work.])
- PPPD=pppd
-fi
-
-dnl Figure out pppd version. 2.3.7 to 2.3.9 -- issue warning. Less than
-dnl 2.3.7 -- stop
-
-PPPD_VERSION=`$PPPD --version 2>&1 | awk ' /version/ {print $NF}'`
-
-case "$PPPD_VERSION" in
-1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6)
- AC_MSG_WARN([*** Oops! Your version of pppd is $PPPD_VERSION, which is too old.])
- AC_MSG_WARN([*** You need at least 2.3.7 (2.3.10 or newer recommended.])
- AC_MSG_WARN([*** I will keep going, but it may not work.])
- ;;
-
-2.3.7|2.3.8|2.3.9)
- AC_MSG_WARN([*** Warning. Your version of pppd is $PPPD_VERSION. You will])
- AC_MSG_WARN([*** not be able to use connect-on-demand. Upgrade to pppd])
- AC_MSG_WARN([*** 2.3.10 or newer if you need connect-on-demand.])
- ;;
-
-2*|3*|4*|5*|6*|7*|8*|9*)
- ;;
-
-*)
- AC_MSG_WARN([*** Oops. I cannot figure out what version of pppd you have.])
- AC_MSG_WARN([*** All I got back was '$PPPD_VERSION'])
- AC_MSG_WARN([*** I will keep going, but it may not work.])
- ;;
-esac
-
dnl Figure out packing order of structures
-AC_MSG_CHECKING([packing order of bit fields])
+AC_CACHE_CHECK([packing order of bit fields],rpppoe_cv_pack_bitfields,[
AC_TRY_RUN([
union foo {
struct bar {
@@ -245,10 +209,11 @@
}
}], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev,
$ECHO "no defaults for cross-compiling"; exit 0)
+])
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)
@@ -0,0 +1,27 @@
From 611c9fe719c5aa264a2ad2eb920cf4522ae2ddec Mon Sep 17 00:00:00 2001
From: Ting Liu <b28495@freescale.com>
Date: Tue, 12 Jun 2012 14:26:16 -0400
Subject: [PATCH] discard use of dnl in Makefile.am
Since Makefile.am is not processed by m4, but by automake, 'dnl' does
not introduce a comment.
Signed-off-by: Ting Liu <b28495@freescale.com>
---
Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index eff6977..3091c33 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
PACKAGE = rp-pppoe
VERSION = 3.8
-dnl AM_CFLAGS = -Wall -DDEBUG
+##dnl AM_CFLAGS = -Wall -DDEBUG
SUBDIRS = src
--
1.7.6.5
@@ -0,0 +1,15 @@
Further fixup to the configure scripts to not swallow errors
Upstream-Status: Pending
--- a/src/configure.in.org 2008-01-14 21:08:38.000000000 +0200
+++ a/src/configure.in 2008-01-14 21:20:09.000000000 +0200
@@ -208,7 +208,7 @@
return 2;
}
}], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev,
-$ECHO "no defaults for cross-compiling"; exit 0)
+$ECHO "no defaults for cross-compiling"; exit 1)
])
if test "$rpppoe_cv_pack_bitfields" = "rev" ; then
@@ -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"
@@ -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
@@ -0,0 +1,20 @@
Relax restrictions on the PPPoE src address, as per debian bug
293811:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293811
Upstream-Status: Inappropriate [Backport from Debian]
--- rp-pppoe-3.8.orig/src/discovery.c
+++ rp-pppoe-3.8/src/discovery.c
@@ -376,8 +376,8 @@
if (!packetIsForMe(conn, &packet)) continue;
if (packet.code == CODE_PADO) {
- if (NOT_UNICAST(packet.ethHdr.h_source)) {
- printErr("Ignoring PADO packet from non-unicast MAC address");
+ if (BROADCAST(packet.ethHdr.h_source)) {
+ printErr("Ignoring broadcast PADO packet");
continue;
}
parsePacket(&packet, parsePADOTags, &pc);
@@ -0,0 +1,27 @@
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.
Upstream-Status: Inappropriate [build system specific change]
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)
@@ -0,0 +1,32 @@
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.
Upstream-Status: Inappropriate [configuration]
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
@@ -0,0 +1,27 @@
Make the Makefile obey LDFLAGS.
Upstream-Status: Pending
--- a/src/Makefile.in 2006-04-02 18:29:42.000000000 +0400
+++ b/src/Makefile.in 2010-04-16 17:51:31.000000000 +0400
@@ -67,16 +67,16 @@ all: $(TARGETS)
@echo "Type 'make install' as root to install the software."
pppoe-sniff: pppoe-sniff.o if.o common.o debug.o
- @CC@ -o pppoe-sniff pppoe-sniff.o if.o common.o debug.o
+ @CC@ -o pppoe-sniff pppoe-sniff.o if.o common.o debug.o $(LDFLAGS)
pppoe-server: pppoe-server.o if.o debug.o common.o md5.o libevent/libevent.a @PPPOE_SERVER_DEPS@
- @CC@ -o pppoe-server @RDYNAMIC@ pppoe-server.o if.o debug.o common.o md5.o $(PPPOE_SERVER_LIBS) -Llibevent -levent
+ @CC@ -o pppoe-server @RDYNAMIC@ pppoe-server.o if.o debug.o common.o md5.o $(PPPOE_SERVER_LIBS) -Llibevent -levent $(LDFLAGS)
pppoe: pppoe.o if.o debug.o common.o ppp.o discovery.o
- @CC@ -o pppoe pppoe.o if.o debug.o common.o ppp.o discovery.o
+ @CC@ -o pppoe pppoe.o if.o debug.o common.o ppp.o discovery.o $(LDFLAGS)
pppoe-relay: relay.o if.o debug.o common.o
- @CC@ -o pppoe-relay relay.o if.o debug.o common.o
+ @CC@ -o pppoe-relay relay.o if.o debug.o common.o $(LDFLAGS)
pppoe.o: pppoe.c pppoe.h
@CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c
@@ -0,0 +1,64 @@
SUMMARY = "A user-mode PPPoE client and server suite for Linux"
HOMEPAGE = "http://www.roaringpenguin.com/products/pppoe"
SECTION = "console/network"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a194eaefae2be54ee3221339b10d0581"
PR = "r9"
SRC_URI = "http://www.roaringpenguin.com/files/download/${P}.tar.gz \
file://top-autoconf.patch \
file://configure_in_cross.patch \
file://pppoe-src-restrictions.patch \
file://update-config.patch \
file://dont-swallow-errors.patch \
file://discard-use-of-dnl-in-Makefile.am.patch \
file://use-ldflags.patch \
file://pppoe-server.default \
file://pppoe-server.init"
SRC_URI[md5sum] = "0e32760f498f9cde44081ee6aafc823b"
SRC_URI[sha256sum] = "d916e9cfe1e62395f63a5361936fa855f6d0f0a37dc7227b394cdb725f553479"
inherit autotools update-rc.d
do_install() {
# 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
}
# 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.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 8"
RDEPENDS_${PN} = "ppp"
RDEPENDS_${PN}-server = "${PN}"
RRECOMMENDS_${PN} = "ppp-oe"