diff options
Diffstat (limited to 'meta-networking/recipes-daemons')
8 files changed, 396 insertions, 0 deletions
diff --git a/meta-networking/recipes-daemons/ippool/ippool/always_syslog.patch b/meta-networking/recipes-daemons/ippool/ippool/always_syslog.patch new file mode 100644 index 0000000000..e475276c0e --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/always_syslog.patch | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | ippool: always log to syslog | ||
| 2 | |||
| 3 | Even when running in the foreground, send log messages to syslog. | ||
| 4 | |||
| 5 | Upstream-Status: Inappropriate [embedded specific] | ||
| 6 | |||
| 7 | Signed-off-by: Joe Slater <jslater@windriver.com> | ||
| 8 | |||
| 9 | |||
| 10 | --- a/ippool_main.c | ||
| 11 | +++ b/ippool_main.c | ||
| 12 | @@ -251,9 +251,8 @@ void ippool_vlog(int level, const char * | ||
| 13 | if (ippool_opt_nodaemon) { | ||
| 14 | vprintf(fmt, ap); | ||
| 15 | printf("\n"); | ||
| 16 | - } else { | ||
| 17 | - vsyslog(level, fmt, ap); | ||
| 18 | } | ||
| 19 | + vsyslog(level, fmt, ap); | ||
| 20 | DMALLOC_VMESSAGE(fmt, ap); | ||
| 21 | } | ||
| 22 | |||
diff --git a/meta-networking/recipes-daemons/ippool/ippool/ippool.service b/meta-networking/recipes-daemons/ippool/ippool/ippool.service new file mode 100644 index 0000000000..e5917fc141 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/ippool.service | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | [Unit] | ||
| 2 | Description=ip address pool allocator | ||
| 3 | Requires=rpcbind.service | ||
| 4 | After=rpcbind.service | ||
| 5 | |||
| 6 | [Service] | ||
| 7 | Type=simple | ||
| 8 | # Start ippoold in the foreground! | ||
| 9 | ExecStart=@SBINDIR@/ippoold -f | ||
| 10 | # Normal output will go to syslog, so suppress stdout. | ||
| 11 | StandardOutput=null | ||
| 12 | StandardError=syslog | ||
| 13 | # ExecStop is not needed. systemd will send SIGTERM | ||
| 14 | # and ippoold will exit status 1. | ||
| 15 | SuccessExitStatus=1 | ||
| 16 | |||
| 17 | [Install] | ||
| 18 | WantedBy=multi-user.target | ||
| 19 | |||
diff --git a/meta-networking/recipes-daemons/ippool/ippool/ippool_init.d.patch b/meta-networking/recipes-daemons/ippool/ippool/ippool_init.d.patch new file mode 100644 index 0000000000..14a768d0fe --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/ippool_init.d.patch | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | Fix start error if lsb init-functions doesn't exist | ||
| 2 | |||
| 3 | Upstream-Status: Inappropriate [embedded specific] | ||
| 4 | |||
| 5 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 6 | |||
| 7 | diff --git a/debian/init.d b/debian/init.d | ||
| 8 | index 363ba89..0327fec 100644 | ||
| 9 | --- a/debian/init.d | ||
| 10 | +++ b/debian/init.d | ||
| 11 | @@ -10,6 +10,9 @@ | ||
| 12 | # Description: Start ippool daemon | ||
| 13 | ### END INIT INFO | ||
| 14 | |||
| 15 | +# Source function library. | ||
| 16 | +. /etc/init.d/functions | ||
| 17 | + | ||
| 18 | DAEMON=/usr/sbin/ippoold | ||
| 19 | NAME=ippoold | ||
| 20 | MODULE=pppol2tp | ||
| 21 | @@ -18,7 +21,23 @@ MODULE=pppol2tp | ||
| 22 | test -x $DAEMON || exit 0 | ||
| 23 | |||
| 24 | # Get lsb functions | ||
| 25 | -. /lib/lsb/init-functions | ||
| 26 | +if [ -f /lib/lsb/init-functions ] | ||
| 27 | +then | ||
| 28 | + . /lib/lsb/init-functions | ||
| 29 | +else | ||
| 30 | + log_begin_msg() { | ||
| 31 | + echo -n $* | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + log_end_msg() { | ||
| 35 | + if [ $1 -eq 0 ]; then | ||
| 36 | + echo "done" | ||
| 37 | + else | ||
| 38 | + echo "failed" | ||
| 39 | + fi | ||
| 40 | + } | ||
| 41 | +fi | ||
| 42 | + | ||
| 43 | . /etc/default/rcS | ||
| 44 | |||
| 45 | case "$1" in | ||
| 46 | @@ -35,6 +54,10 @@ case "$1" in | ||
| 47 | fi | ||
| 48 | log_end_msg $? | ||
| 49 | ;; | ||
| 50 | + status) | ||
| 51 | + status /usr/sbin/ippoold; | ||
| 52 | + exit $? | ||
| 53 | + ;; | ||
| 54 | restart) | ||
| 55 | $0 stop | ||
| 56 | sleep 1 | ||
| 57 | @@ -46,7 +69,7 @@ case "$1" in | ||
| 58 | log_end_msg $? | ||
| 59 | ;; | ||
| 60 | *) | ||
| 61 | - log_success_msg "Usage: /etc/init.d/ippoold {start|stop|restart|reload|force-reload}" | ||
| 62 | + log_success_msg "Usage: /etc/init.d/ippoold {start|stop|status|restart|reload|force-reload}" | ||
| 63 | exit 1 | ||
| 64 | esac | ||
| 65 | |||
diff --git a/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch b/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch new file mode 100644 index 0000000000..1ebd95ea17 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | 1)add -fPIC for $(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o | ||
| 2 | 2)add sub target for subdirs-all, and those dependencies below | ||
| 3 | pppd plugin directory build depends on $(IPPOOL_RPC_STEM)_xdr.o | ||
| 4 | $(IPPOOL_RPC_STEM)_client.o ippool_rpc.h | ||
| 5 | |||
| 6 | ippoold depends on libusl | ||
| 7 | ippoolconfig depends on libcli | ||
| 8 | |||
| 9 | $(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o | ||
| 10 | $(IPPOOL_RPC_STEM)_server.o *.o in main directory depends on ippool_rpc.h | ||
| 11 | as those all directly or indirectly include ippool_rpc.h which is | ||
| 12 | dynamically generated by rpcgen | ||
| 13 | |||
| 14 | to make parallel make working. | ||
| 15 | 3)include dependency files for pppd. | ||
| 16 | |||
| 17 | Upstream-Status: Pending | ||
| 18 | |||
| 19 | Signed-off-by: Yao Zhao <yao.zhao@windriver.com> | ||
| 20 | --- | ||
| 21 | diff --git a/Makefile b/Makefile | ||
| 22 | index 73aa72f..4f7af1d 100644 | ||
| 23 | --- a/Makefile | ||
| 24 | +++ b/Makefile | ||
| 25 | @@ -106,14 +106,14 @@ all: generated-files $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o \ | ||
| 26 | subdirs-all $(PROGS.sbin) $(PROGS.bin) | ||
| 27 | |||
| 28 | # Compile without -Wall because rpcgen-generated code is full of warnings | ||
| 29 | -$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c | ||
| 30 | - $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< | ||
| 31 | +$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c $(IPPOOL_RPC_STEM).h | ||
| 32 | + $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC | ||
| 33 | |||
| 34 | -$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c | ||
| 35 | - $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< | ||
| 36 | +$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c $(IPPOOL_RPC_STEM).h | ||
| 37 | + $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC | ||
| 38 | |||
| 39 | -$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c | ||
| 40 | - $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< | ||
| 41 | +$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c $(IPPOOL_RPC_STEM).h | ||
| 42 | + $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC | ||
| 43 | |||
| 44 | $(IPPOOL_RPC_STEM)_xdr.c: $(IPPOOL_RPC_STEM).x | ||
| 45 | -$(RM) $@ | ||
| 46 | @@ -136,8 +136,12 @@ $(IPPOOL_RPC_STEM).h: $(IPPOOL_RPC_STEM).x | ||
| 47 | |||
| 48 | generated-files: $(RPC_FILES) | ||
| 49 | |||
| 50 | -subdirs-all: | ||
| 51 | - @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done | ||
| 52 | +subdirs-all: $(patsubst %,%-dir, $(SUBDIRS)) | ||
| 53 | + | ||
| 54 | +pppd-dir: $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o $(IPPOOL_RPC_STEM).h | ||
| 55 | + | ||
| 56 | +$(patsubst %,%-dir,$(SUBDIRS)): | ||
| 57 | + @for d in $(patsubst %-dir,%,$@); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done | ||
| 58 | |||
| 59 | clean: | ||
| 60 | @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; if [ $$? -ne 0 ]; then exit 1; fi; done | ||
| 61 | @@ -151,13 +155,13 @@ TAGS: | ||
| 62 | @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; done | ||
| 63 | etags -t $(wildcard *.c) $(wildcard *.h) | ||
| 64 | |||
| 65 | -ippoold: $(IPPOOLD_SRCS.o) | ||
| 66 | - $(CC) -o $@ $^ $(LDFLAGS.ippoold) | ||
| 67 | +ippoold: $(IPPOOLD_SRCS.o) usl-dir | ||
| 68 | + $(CC) -o $@ $(IPPOOLD_SRCS.o) $(LDFLAGS.ippoold) | ||
| 69 | |||
| 70 | -ippoolconfig: $(IPPOOLCONFIG_SRCS.o) | ||
| 71 | - $(CC) -o $@ $^ $(LDFLAGS.ippoolconfig) | ||
| 72 | +ippoolconfig: $(IPPOOLCONFIG_SRCS.o) cli-dir | ||
| 73 | + $(CC) -o $@ $(IPPOOLCONFIG_SRCS.o) $(LDFLAGS.ippoolconfig) | ||
| 74 | |||
| 75 | -%.o: %.c | ||
| 76 | +%.o: %.c $(IPPOOL_RPC_STEM).h | ||
| 77 | $(CC) -c $(CFLAGS) $< -o $@ | ||
| 78 | |||
| 79 | install: all | ||
| 80 | diff --git a/pppd/Makefile b/pppd/Makefile | ||
| 81 | index 78d9b33..106deca 100644 | ||
| 82 | --- a/pppd/Makefile | ||
| 83 | +++ b/pppd/Makefile | ||
| 84 | @@ -24,3 +24,5 @@ install: ippool.so | ||
| 85 | |||
| 86 | clean: | ||
| 87 | -rm -rf *.o *.so | ||
| 88 | + | ||
| 89 | +include $(wildcard *.d /dev/null) | ||
diff --git a/meta-networking/recipes-daemons/ippool/ippool/ippool_usl_timer.patch b/meta-networking/recipes-daemons/ippool/ippool/ippool_usl_timer.patch new file mode 100644 index 0000000000..ca0e3320c9 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/ippool_usl_timer.patch | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | include limits.h to avoid UINT_MAX undefined compiling error. | ||
| 2 | remove the unused assign which caused compiling error with -Werror. | ||
| 3 | |||
| 4 | Upstream-Status: Pending | ||
| 5 | |||
| 6 | Signed-off-by: Yao Zhao <yao.zhao@windriver.com> | ||
| 7 | --- | ||
| 8 | |||
| 9 | diff --git a/usl/usl_timer.c b/usl/usl_timer.c | ||
| 10 | index 734b820..fda752b 100644 | ||
| 11 | --- a/usl/usl_timer.c | ||
| 12 | +++ b/usl/usl_timer.c | ||
| 13 | @@ -42,6 +42,7 @@ | ||
| 14 | #include <signal.h> | ||
| 15 | #include <string.h> | ||
| 16 | #include <sys/time.h> | ||
| 17 | +#include <limits.h> | ||
| 18 | |||
| 19 | #include "usl.h" | ||
| 20 | |||
| 21 | @@ -87,14 +88,13 @@ void (*usl_timer_tick_hook)(void); | ||
| 22 | */ | ||
| 23 | void usl_timer_tick(void) | ||
| 24 | { | ||
| 25 | - int result; | ||
| 26 | char msg = '\0'; | ||
| 27 | |||
| 28 | usl_tick++; | ||
| 29 | |||
| 30 | if (!usl_tick_pending) { | ||
| 31 | usl_tick_pending = 1; | ||
| 32 | - result = write(usl_tick_pipe[1], &msg, sizeof(msg)); | ||
| 33 | + write(usl_tick_pipe[1], &msg, sizeof(msg)); | ||
| 34 | } | ||
| 35 | } | ||
| 36 | |||
| 37 | @@ -111,11 +111,10 @@ static void usl_timer_tick_handler(int fd, void *arg) | ||
| 38 | struct usl_ord_list_head *tmp; | ||
| 39 | struct usl_list_head *iwalk; | ||
| 40 | struct usl_list_head *itmp; | ||
| 41 | - int result; | ||
| 42 | char msg; | ||
| 43 | USL_LIST_HEAD(expire_list); | ||
| 44 | |||
| 45 | - result = usl_fd_read(usl_tick_pipe[0], &msg, sizeof(msg)); | ||
| 46 | + usl_fd_read(usl_tick_pipe[0], &msg, sizeof(msg)); | ||
| 47 | usl_tick_pending = 0; | ||
| 48 | |||
| 49 | usl_list_for_each(walk, tmp, &usl_timer_list) { | ||
diff --git a/meta-networking/recipes-daemons/ippool/ippool/makefile-add-ldflags.patch b/meta-networking/recipes-daemons/ippool/ippool/makefile-add-ldflags.patch new file mode 100644 index 0000000000..7d5b715aee --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/makefile-add-ldflags.patch | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | Add LDFLAGS variable to Makefile so that extra linker flags can be sent via this variable. | ||
| 2 | |||
| 3 | Upstream-Status: Pending | ||
| 4 | |||
| 5 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 6 | |||
| 7 | diff --git a/Makefile b/Makefile | ||
| 8 | index 4f7af1d..a05a000 100644 | ||
| 9 | --- a/Makefile | ||
| 10 | +++ b/Makefile | ||
| 11 | @@ -83,8 +83,8 @@ endif | ||
| 12 | |||
| 13 | CPPFLAGS= $(CPPFLAGS.ippooltest) | ||
| 14 | CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) | ||
| 15 | -LDFLAGS.ippoold= -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc | ||
| 16 | -LDFLAGS.ippoolconfig= -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc | ||
| 17 | +LDFLAGS.ippoold= $(LDFLAGS) -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc | ||
| 18 | +LDFLAGS.ippoolconfig= $(LDFLAGS) -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc | ||
| 19 | |||
| 20 | OPT_CFLAGS?= -O | ||
| 21 | |||
diff --git a/meta-networking/recipes-daemons/ippool/ippool/runtest.sh b/meta-networking/recipes-daemons/ippool/ippool/runtest.sh new file mode 100644 index 0000000000..f91f58237a --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/runtest.sh | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | BANNER="----------------------------------------------------------------------------" | ||
| 3 | TCLSH="tclsh all.tcl -preservecore 3 -verbose bps -tmpdir ./results -outfile test-ippool.result" | ||
| 4 | |||
| 5 | test_setup() { | ||
| 6 | if [ -d ./results ]; then rm -fr ./results; fi | ||
| 7 | mkdir ./results | ||
| 8 | } | ||
| 9 | |||
| 10 | test_ippool() { | ||
| 11 | echo "${BANNER}" | ||
| 12 | eval $TCLSH -constraints "ipPool" | ||
| 13 | } | ||
| 14 | test_postprocess() { | ||
| 15 | echo "${BANNER}" | ||
| 16 | (failed=`grep FAILED results/*.result | wc -l`; \ | ||
| 17 | let failed2=failed/2 ;\ | ||
| 18 | passed=`grep PASSED results/*.result | wc -l`; \ | ||
| 19 | echo "TEST SUMMARY: $passed tests PASSED, $failed2 tests FAILED" ;\ | ||
| 20 | exit $failed2) | ||
| 21 | } | ||
| 22 | |||
| 23 | test_setup | ||
| 24 | test_ippool | ||
| 25 | test_postprocess | ||
| 26 | |||
diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb new file mode 100644 index 0000000000..969f434cc7 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb | |||
| @@ -0,0 +1,105 @@ | |||
| 1 | SUMMARY = "An IP address pool manager" | ||
| 2 | DESCRIPTION = "IpPool is implemented as a separate server daemon \ | ||
| 3 | to allow any application to use its address pools. This makes it possible \ | ||
| 4 | to define address pools that are shared by PPP, L2TP, PPTP etc. It may be \ | ||
| 5 | useful in some VPN server setups. IpPool comes with a command line \ | ||
| 6 | management application, ippoolconfig to manage and query address pool \ | ||
| 7 | status. A pppd plugin is supplied which allows pppd to request IP \ | ||
| 8 | addresses from ippoold. \ | ||
| 9 | " | ||
| 10 | HOMEPAGE = "http://www.openl2tp.org/" | ||
| 11 | SECTION = "console/network" | ||
| 12 | LICENSE = "GPLv2+" | ||
| 13 | |||
| 14 | SRC_URI = "\ | ||
| 15 | https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ | ||
| 16 | file://ippool_usl_timer.patch \ | ||
| 17 | file://ippool_parallel_make_and_pic.patch \ | ||
| 18 | file://ippool_init.d.patch \ | ||
| 19 | file://always_syslog.patch \ | ||
| 20 | file://makefile-add-ldflags.patch \ | ||
| 21 | file://runtest.sh \ | ||
| 22 | file://ippool.service \ | ||
| 23 | " | ||
| 24 | |||
| 25 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" | ||
| 26 | SRC_URI[md5sum] = "e2401e65db26a3764585b97212888fae" | ||
| 27 | SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea314412075b" | ||
| 28 | |||
| 29 | inherit systemd | ||
| 30 | |||
| 31 | DEPENDS = "readline ppp ncurses gzip-native" | ||
| 32 | RDEPENDS_${PN} = "rpcbind" | ||
| 33 | |||
| 34 | EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'" | ||
| 35 | EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}" | ||
| 36 | # enable self tests | ||
| 37 | EXTRA_OEMAKE += "IPPOOL_TEST=y" | ||
| 38 | |||
| 39 | |||
| 40 | SYSTEMD_SERVICE_${PN} = "ippool.service" | ||
| 41 | SYSTEMD_AUTO_ENABLE = "disable" | ||
| 42 | |||
| 43 | |||
| 44 | do_compile_prepend() { | ||
| 45 | # fix the CFLAGS= and CPPFLAGS= in main Makefile, to have the extra CFLAGS in env | ||
| 46 | sed -i -e "s/^CFLAGS=/CFLAGS+=/" ${S}/Makefile | ||
| 47 | sed -i -e "s/^CPPFLAGS=/CPPFLAGS+=/" ${S}/Makefile | ||
| 48 | |||
| 49 | sed -i -e "s:-I/usr/include/pppd:-I=/usr/include/pppd:" ${S}/pppd/Makefile | ||
| 50 | |||
| 51 | # ignore the OPT_CFLAGS?= in Makefile, | ||
| 52 | # it should be in CFLAGS from env | ||
| 53 | export OPT_CFLAGS= | ||
| 54 | } | ||
| 55 | |||
| 56 | |||
| 57 | do_install() { | ||
| 58 | oe_runmake DESTDIR=${D} install | ||
| 59 | |||
| 60 | install -D -m 0755 ${S}/debian/init.d ${D}${sysconfdir}/init.d/ippoold | ||
| 61 | install -D -m 0644 ${WORKDIR}/ippool.service ${D}${systemd_system_unitdir}/ippool.service | ||
| 62 | sed -i -e 's:@SBINDIR@:${sbindir}:g' ${D}${systemd_system_unitdir}/ippool.service | ||
| 63 | |||
| 64 | # install self test | ||
| 65 | install -d ${D}/opt/${BPN} | ||
| 66 | install ${S}/test/all.tcl ${S}/test/ippool.test \ | ||
| 67 | ${S}/test/test_procs.tcl ${D}/opt/${BPN} | ||
| 68 | install ${WORKDIR}/runtest.sh ${D}/opt/${BPN} | ||
| 69 | # fix the ../ippoolconfig in test_procs.tcl | ||
| 70 | sed -i -e "s:../ippoolconfig:ippoolconfig:" \ | ||
| 71 | ${D}/opt/${BPN}/test_procs.tcl | ||
| 72 | } | ||
| 73 | |||
| 74 | |||
| 75 | PACKAGES =+ "${PN}-test" | ||
| 76 | |||
| 77 | FILES_${PN} += "${libdir}/pppd/${PPPD_VERSION}/ippool.so" | ||
| 78 | FILES_${PN}-dbg += "${libdir}/pppd/${PPPD_VERSION}/.debug/ippool.so" | ||
| 79 | FILES_${PN}-test = "/opt/${BPN}" | ||
| 80 | |||
| 81 | # needs tcl to run tests | ||
| 82 | RDEPENDS_${PN}-test += "tcl ${BPN}" | ||
| 83 | |||
| 84 | PPPD_VERSION="${@get_ppp_version(d)}" | ||
| 85 | |||
| 86 | def get_ppp_version(d): | ||
| 87 | import re | ||
| 88 | |||
| 89 | pppd_plugin = d.expand('${STAGING_LIBDIR}/pppd') | ||
| 90 | if not os.path.isdir(pppd_plugin): | ||
| 91 | return None | ||
| 92 | |||
| 93 | bb.debug(1, "pppd plugin dir %s" % pppd_plugin) | ||
| 94 | r = re.compile("\d*\.\d*\.\d*") | ||
| 95 | for f in os.listdir(pppd_plugin): | ||
| 96 | if os.path.isdir(os.path.join(pppd_plugin, f)): | ||
| 97 | ma = r.match(f) | ||
| 98 | if ma: | ||
| 99 | bb.debug(1, "pppd version dir %s" % f) | ||
| 100 | return f | ||
| 101 | else: | ||
| 102 | bb.debug(1, "under pppd plugin dir %s" % f) | ||
| 103 | |||
| 104 | return None | ||
| 105 | |||
