merged. Bruce
On Mon, Jun 26, 2017 at 8:26 PM, <[email protected]> wrote: > From: Yi Zhao <[email protected]> > > diod is a multi-threaded, user space file server that speaks 9P2000.L > protocol. > > Signed-off-by: Yi Zhao <[email protected]> > --- > recipes-extended/diod/diod_1.0.24.bb | 32 ++++++ > ...ow-builds-to-work-with-separate-build-dir.patch | 126 > +++++++++++++++++++++ > .../files/0002-auto.diod.in-remove-bashisms.patch | 47 ++++++++ > recipes-extended/diod/files/diod | 75 ++++++++++++ > recipes-extended/diod/files/diod.conf | 15 +++ > 5 files changed, 295 insertions(+) > create mode 100644 recipes-extended/diod/diod_1.0.24.bb > create mode 100644 recipes-extended/diod/files/ > 0001-build-allow-builds-to-work-with-separate-build-dir.patch > create mode 100644 recipes-extended/diod/files/0002-auto.diod.in-remove- > bashisms.patch > create mode 100644 recipes-extended/diod/files/diod > create mode 100644 recipes-extended/diod/files/diod.conf > > diff --git a/recipes-extended/diod/diod_1.0.24.bb b/recipes-extended/diod/ > diod_1.0.24.bb > new file mode 100644 > index 0000000..a4d159a > --- /dev/null > +++ b/recipes-extended/diod/diod_1.0.24.bb > @@ -0,0 +1,32 @@ > +SUMMARY = "Diod is a user space server for the kernel v9fs client." > +DESCRIPTION = "\ > +Diod is a user space server for the kernel v9fs client (9p.ko, 9pnet.ko). > \ > +Although the kernel client supports several 9P variants, diod only > supports \ > +9P2000.L, and only in its feature-complete form, as it appeared in > 2.6.38." > +SECTION = "console/network" > + > +LICENSE = "GPLv2" > +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" > + > +PV = "1.0.24+git${SRCPV}" > +SRCREV = "0ea3fe3d829b5085307cd27a512708d99ef48199" > +SRC_URI = "git://github.com/chaos/diod.git;protocol=git \ > + file://diod \ > + file://diod.conf \ > + > file://0001-build-allow-builds-to-work-with-separate-build-dir.patch > \ > + file://0002-auto.diod.in-remove-bashisms.patch \ > + " > +DEPENDS = "libcap ncurses tcp-wrappers lua" > + > +S = "${WORKDIR}/git" > + > +inherit autotools systemd > + > +do_install_append () { > + # install our init based on start-stop-daemon > + install -D -m 0755 ${WORKDIR}/diod ${D}${sysconfdir}/init.d/diod > + # install a real(not commented) configuration file for diod > + install -m 0644 ${WORKDIR}/diod.conf ${D}${sysconfdir}/diod.conf > +} > + > +FILES_${PN} += "${systemd_unitdir}" > diff --git a/recipes-extended/diod/files/0001-build-allow-builds-to- > work-with-separate-build-dir.patch b/recipes-extended/diod/files/ > 0001-build-allow-builds-to-work-with-separate-build-dir.patch > new file mode 100644 > index 0000000..f40e0eb > --- /dev/null > +++ b/recipes-extended/diod/files/0001-build-allow-builds-to- > work-with-separate-build-dir.patch > @@ -0,0 +1,126 @@ > +From 43403468298ef4167baa5d84de2ee2eaf7f4007a Mon Sep 17 00:00:00 2001 > +From: Mark Asselstine <[email protected]> > +Date: Fri, 9 Jan 2015 18:34:04 +0000 > +Subject: [PATCH 1/2] build: allow builds to work with separate build dir > + > +Remove assumptions in include paths that assume the build > +is happening in the source directories. > + > +Upstream-Status: Inappropriate [embedded specific] > + > +Signed-off-by: Mark Asselstine <[email protected]> > +--- > + diod/Makefile.am | 2 +- > + libdiod/Makefile.am | 2 +- > + liblsd/Makefile.am | 2 +- > + libnpclient/Makefile.am | 2 +- > + scripts/Makefile.am | 6 +++--- > + tests/kern/dbench/Makefile.am | 4 ++-- > + utils/Makefile.am | 2 +- > + 7 files changed, 10 insertions(+), 10 deletions(-) > + > +diff --git a/diod/Makefile.am b/diod/Makefile.am > +index 7644be7..fdaf130 100644 > +--- a/diod/Makefile.am > ++++ b/diod/Makefile.am > +@@ -1,7 +1,7 @@ > + AM_CFLAGS = @GCCWARN@ > + > + AM_CPPFLAGS = \ > +- -I../libnpfs -I../liblsd -I../libdiod > ++ -I$(srcdir)/../libnpfs -I$(srcdir)/../liblsd -I$(srcdir)/../libdiod > + > + sbin_PROGRAMS = diod > + > +diff --git a/libdiod/Makefile.am b/libdiod/Makefile.am > +index 4810e14..6905cdd 100644 > +--- a/libdiod/Makefile.am > ++++ b/libdiod/Makefile.am > +@@ -1,7 +1,7 @@ > + AM_CFLAGS = @GCCWARN@ > + > + AM_CPPFLAGS = \ > +- -I../libnpfs -I../libnpclient -I../liblsd > ++ -I$(srcdir)/../libnpfs -I$(srcdir)/../libnpclient > -I$(srcdir)/../liblsd > + > + noinst_LIBRARIES = libdiod.a > + > +diff --git a/liblsd/Makefile.am b/liblsd/Makefile.am > +index c3e5658..7e18bf8 100644 > +--- a/liblsd/Makefile.am > ++++ b/liblsd/Makefile.am > +@@ -1,6 +1,6 @@ > + AM_CFLAGS = @GCCWARN@ > + > +-AM_CPPFLAGS = -I../libdiod > ++AM_CPPFLAGS = -I$(srcdir)/../libdiod > + > + noinst_LIBRARIES = liblsd.a > + > +diff --git a/libnpclient/Makefile.am b/libnpclient/Makefile.am > +index 5305df9..cbaf266 100644 > +--- a/libnpclient/Makefile.am > ++++ b/libnpclient/Makefile.am > +@@ -1,7 +1,7 @@ > + AM_CFLAGS = @GCCWARN@ > + > + AM_CPPFLAGS = \ > +- -I../libnpfs > ++ -I$(srcdir)/../libnpfs > + > + noinst_LIBRARIES = libnpclient.a > + > +diff --git a/scripts/Makefile.am b/scripts/Makefile.am > +index 51c24a3..2aba728 100644 > +--- a/scripts/Makefile.am > ++++ b/scripts/Makefile.am > +@@ -1,9 +1,9 @@ > +-systemddir=$(sysconfdir)/systemd/system > ++systemddir=/lib/systemd/system > + > + install-data-local: > +- $(top_srcdir)/config/install-sh -m 755 $(srcdir)/auto.diod \ > ++ $(top_srcdir)/config/install-sh -m 755 ./auto.diod \ > + $(DESTDIR)$(sysconfdir)/auto.diod > +- $(top_srcdir)/config/install-sh -m 755 $(srcdir)/diod.service \ > ++ $(top_srcdir)/config/install-sh -m 644 ./diod.service \ > + $(DESTDIR)$(systemddir)/diod.service > + > + uninstall-local: > +diff --git a/tests/kern/dbench/Makefile.am b/tests/kern/dbench/Makefile. > am > +index e0cdefa..1704f9f 100644 > +--- a/tests/kern/dbench/Makefile.am > ++++ b/tests/kern/dbench/Makefile.am > +@@ -2,7 +2,7 @@ AM_CFLAGS = -w > + > + # VERSION=4.00 > + > +-AM_CPPFLAGS = -DDATADIR=\"$(X_DATADIR)\" > ++AM_CPPFLAGS = -I. -DDATADIR=\"$(X_DATADIR)\" > + > + LDADD = $(LIBPOPT) > + > +@@ -25,6 +25,6 @@ BUILT_SOURCES = proto.h > + CLEANFILES = proto.h > + > + proto.h: $(dbench_SOURCES) mkproto.pl > +- perl mkproto.pl $(dbench_SOURCES) > proto.h > ++ $(srcdir)/mkproto.pl $(patsubst %,$(srcdir),$(dbench_SOURCES)) > > proto.h > + > + EXTRA_DIST = mkproto.pl > +diff --git a/utils/Makefile.am b/utils/Makefile.am > +index 169b6c4..91d571d 100644 > +--- a/utils/Makefile.am > ++++ b/utils/Makefile.am > +@@ -1,7 +1,7 @@ > + AM_CFLAGS = @GCCWARN@ > + > + AM_CPPFLAGS = \ > +- -I../libnpfs -I../liblsd -I../libdiod -I../libnpclient > ++ -I$(srcdir)/../libnpfs -I$(srcdir)/../liblsd > -I$(srcdir)/../libdiod -I$(srcdir)/../libnpclient > + > + sbin_PROGRAMS = diodmount diodcat dtop diodload diodls diodshowmount > dioddate > + > +-- > +2.11.0 > + > diff --git > a/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch > b/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch > new file mode 100644 > index 0000000..65d6ff6 > --- /dev/null > +++ b/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch > @@ -0,0 +1,47 @@ > +From 5a9e09dc5de833db11607530351cd87cecbfd17e Mon Sep 17 00:00:00 2001 > +From: Roy Li <[email protected]> > +Date: Thu, 22 Jun 2017 06:32:30 +0000 > +Subject: [PATCH 2/2] auto.diod.in: remove bashisms > + > +Upstream-Status: Pending > + > +Signed-off-by: Roy Li <[email protected]> > +--- > + scripts/auto.diod.in | 14 +++++++------- > + 1 file changed, 7 insertions(+), 7 deletions(-) > + > +diff --git a/scripts/auto.diod.in b/scripts/auto.diod.in > +index f63e004..4d5fc3a 100755 > +--- a/scripts/auto.diod.in > ++++ b/scripts/auto.diod.in > +@@ -1,4 +1,4 @@ > +-#!/bin/bash > ++#!/bin/sh > + # > + # auto.diod - executable automounter map for diod file systems > + # > +@@ -41,15 +41,15 @@ dcatopts="${DIOD_TIMEOUT:+-t $DIOD_TIMEOUT}" > + for server in $DIOD_SERVERS; do > + $DIOD_DIODCAT -s $server $dcatopts exports | awk '{print $1}' |\ > + while read path; do > +- if [ "$path" == "/" ]; then > +- if [ "$key" == "ROOT" ]; then > ++ if [ "$path" = "/" ]; then > ++ if [ "$key" = "ROOT" ]; then > + echo "$prefix $server:$path" > + exit 0 > + fi > +- elif [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//./g')" ] \ > +- || [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//_/g')" ] \ > +- || [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//-/g')" ] \ > +- || [ "$key" == "$(basename $path)" ]; then > ++ elif [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//./g')" ] \ > ++ || [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//_/g')" ] \ > ++ || [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//-/g')" ] \ > ++ || [ "$key" = "$(basename $path)" ]; then > + echo "$prefix $server:$path" > + exit 0 > + fi > +-- > +2.11.0 > + > diff --git a/recipes-extended/diod/files/diod > b/recipes-extended/diod/files/diod > new file mode 100644 > index 0000000..cd0bf98 > --- /dev/null > +++ b/recipes-extended/diod/files/diod > @@ -0,0 +1,75 @@ > +#!/bin/sh > +# > +# chkconfig: 35 20 80 > +# description: Distributed Input Output Daemon > +# > + > +# Get function from functions library > +. /etc/init.d/functions > + > +BASE=diod > +PIDFILE=/var/run/$BASE.pid > +PID=`test -f $PIDFILE && cat $PIDFILE` > +DIOD_BIN=/usr/sbin/$BASE > +DIOD_CONF=/etc/$BASE.conf > +DIOD_OPTS="-c $DIOD_CONF" > +DIOD="$DIOD_BIN $DIOD_OPTS" > +RETVAL=0 > + > +# Start the service $BASE > +start() > +{ > + # Force creation of the log directory even on a tmpfs /var/log. > + mkdir -p /var/log/diod > + > + start-stop-daemon --stop --test --quiet --pidfile $PIDFILE > + status=$? > + if [ $status -eq 0 ]; then > + echo "diod service is already running with pid $PID" > + exit 1 > + else > + echo -n "Starting $BASE:" > + start-stop-daemon --start --pidfile $PIDFILE \ > + --exec $DIOD_BIN -- $DIOD_OPTS > + RETVAL=$? > + echo > + [ $RETVAL -ne 0 ] && exit $RETVAL > + fi > +} > + > +# Stop the service $BASE > +stop() > +{ > + echo -n "Stopping $BASE:" > + start-stop-daemon --stop --test --quiet --pidfile $PIDFILE > + status=$? > + if [ $status -eq 0 ]; then > + start-stop-daemon --stop --quiet --pidfile $PIDFILE > + [ -w $PIDFILE ] && rm -f $PIDFILE > + else > + start-stop-daemon --stop --quiet --name $BASE > + fi > +} > + > + > +### service arguments ### > +case $1 in > + start) > + start > + ;; > + stop) > + stop > + ;; > + status) > + status $BASE > + ;; > + restart | force-reload) > + $0 stop > + $0 start > + ;; > + *) > + echo "Usage: $0 {start|stop|status|restart}." > + exit 1 > +esac > + > +exit 0 > diff --git a/recipes-extended/diod/files/diod.conf > b/recipes-extended/diod/files/diod.conf > new file mode 100644 > index 0000000..e97743a > --- /dev/null > +++ b/recipes-extended/diod/files/diod.conf > @@ -0,0 +1,15 @@ > +-- > +-- /etc/diod.conf - config file for diod distributed I/O daemon > +-- > +-- NOTE: This config file is a lua script that diod runs, then extracts > +-- the value of certain globally defined variables. See diod.conf(5). > + > +listen = { "0.0.0.0:564" } > +nwthreads = 16 > +auth_required = 1 > +logdest = "syslog:daemon:err" > + > +exports = { "/g/g0", "/g/g10" } > + > +allsquash = 0 > +squashuser = "nobody" > -- > 2.7.4 > > -- > _______________________________________________ > meta-virtualization mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/meta-virtualization > -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end"
-- _______________________________________________ meta-virtualization mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-virtualization
