diff options
-rw-r--r-- | INSTALL | 2 | ||||
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | doc/index.html | 4 | ||||
-rw-r--r-- | doc/mdevd.html | 13 | ||||
-rw-r--r-- | doc/upgrade.html | 10 | ||||
-rw-r--r-- | examples/s6-rc/mdevd-coldplug/dependencies | 1 | ||||
-rw-r--r-- | examples/s6-rc/mdevd-coldplug/type | 1 | ||||
-rw-r--r-- | examples/s6-rc/mdevd-coldplug/up | 1 | ||||
-rw-r--r-- | package/deps.mak | 2 | ||||
-rw-r--r-- | package/info | 2 | ||||
-rw-r--r-- | src/mdevd/mdevd.c | 16 |
11 files changed, 51 insertions, 8 deletions
@@ -6,7 +6,7 @@ Build Instructions - A Linux-based system with a standard C development environment - GNU make version 3.81 or later - - skalibs version 2.9.3.0 or later: http://skarnet.org/software/skalibs/ + - skalibs version 2.10.0.0 or later: http://skarnet.org/software/skalibs/ This software is Linux-specific. It will run on a Linux kernel, version 2.6.10 or later. @@ -1,5 +1,12 @@ Changelog for mdevd. +In 0.1.3.0 +---------- + + - Bugfixes. + - New -C option for mdevd to trigger a coldplug when ready. + + In 0.1.2.0 ---------- diff --git a/doc/index.html b/doc/index.html index 594196b..0f03ac9 100644 --- a/doc/index.html +++ b/doc/index.html @@ -98,7 +98,7 @@ and does not pull in any unnecessary code. </li> The Linux kernel must be 2.6.10 or later. </li> <li> GNU make, version 3.81 or later </li> <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version -2.9.3.0 or later. It's a build-time requirement. It's also a run-time +2.10.0.0 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library. </li> </ul> @@ -114,7 +114,7 @@ library. </li> <ul> <li> The current released version of mdevd is -<a href="mdevd-0.1.2.0.tar.gz">0.1.2.0</a>. </li> +<a href="mdevd-0.1.3.0.tar.gz">0.1.3.0</a>. </li> <li> Alternatively, you can checkout a copy of the <a href="//git.skarnet.org/cgi-bin/cgit.cgi/mdevd/">mdevd git repository</a>: diff --git a/doc/mdevd.html b/doc/mdevd.html index 2ef2dfb..3412253 100644 --- a/doc/mdevd.html +++ b/doc/mdevd.html @@ -49,7 +49,7 @@ to running mdevd over mdev. </li> <h2> Interface </h2> <pre> - mdevd [ -v <em>verbosity</em> ] [ -D <em>notif</em> ] [ -o <em>outputfd</em> ] [ -b <em>kbufsz</em> ] [ -f <em>conffile</em> ] [ -n ] [ -s <em>slashsys</em> ] [ -d <em>slashdev</em> ] [ -F <em>fwbase</em> ] + mdevd [ -v <em>verbosity</em> ] [ -D <em>notif</em> ] [ -o <em>outputfd</em> ] [ -b <em>kbufsz</em> ] [ -f <em>conffile</em> ] [ -n ] [ -s <em>slashsys</em> ] [ -d <em>slashdev</em> ] [ -F <em>fwbase</em> ] [ -C ] </pre> <ul> @@ -124,6 +124,17 @@ are to be found in <em>slashdev</em>. Default is <tt>/dev</tt>. <li> <tt>-F</tt> <em>fwbase</em> : assume the firmware files, if any, are to be found in <em>fwbase</em>. Default is <tt>/lib/firmware</tt>. <em>fwbase</em> must be an absolute path. </li> + <li> <tt>-C</tt> : after initialization (when mdevd is ready), invoke +<a href="mdevd-coldplug.html">mdevd-coldplug</a>, so that a coldplug is +automatically performed when mdevd starts. This option should only be used +in situations where a drop-in replacement for <tt>mdev -d</tt> is needed, because +it has the drawback of performing a coldplug every time mdevd is started — +including when mdevd is killed and restarted. By default, mdevd does not perform +a coldplug when it starts, and it is up to the administrator to properly organize +their boot scripts to run <a href="mdevd-coldplug.html">mdevd-coldplug</a> once, +at boot time, when mdevd is ready. The <tt>examples/s6-rc</tt> subdirectory of +the mdevd package shows a way to do this with the +<a href="//skarnet.org/softwre/s6-rc/">s6-rc</a> service manager. </li> </ul> <h2> Configuration file </h2> diff --git a/doc/upgrade.html b/doc/upgrade.html index 2725faf..7775575 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -18,6 +18,16 @@ <h1> What has changed in mdevd </h1> +<h2> in 0.1.3.0 </h2> + +<ul> + <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> +dependency bumped to 2.10.0.0. </li> + <li> A <tt>-C</tt> option has been added to +<a href="mdevd.html">mdevd</a>. This triggers a coldplug when +mdevd is ready, for faithful <tt>mdev -d</tt> emulation. </li> +</ul> + <h2> in 0.1.2.0 </h2> <ul> diff --git a/examples/s6-rc/mdevd-coldplug/dependencies b/examples/s6-rc/mdevd-coldplug/dependencies new file mode 100644 index 0000000..3252ded --- /dev/null +++ b/examples/s6-rc/mdevd-coldplug/dependencies @@ -0,0 +1 @@ +mdevd diff --git a/examples/s6-rc/mdevd-coldplug/type b/examples/s6-rc/mdevd-coldplug/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/examples/s6-rc/mdevd-coldplug/type @@ -0,0 +1 @@ +oneshot diff --git a/examples/s6-rc/mdevd-coldplug/up b/examples/s6-rc/mdevd-coldplug/up new file mode 100644 index 0000000..edc5c1b --- /dev/null +++ b/examples/s6-rc/mdevd-coldplug/up @@ -0,0 +1 @@ +mdevd-coldplug diff --git a/package/deps.mak b/package/deps.mak index 73d84da..a6e8248 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -3,7 +3,7 @@ # src/mdevd/mdevd-coldplug.o src/mdevd/mdevd-coldplug.lo: src/mdevd/mdevd-coldplug.c -src/mdevd/mdevd.o src/mdevd/mdevd.lo: src/mdevd/mdevd.c +src/mdevd/mdevd.o src/mdevd/mdevd.lo: src/mdevd/mdevd.c src/include/mdevd/config.h mdevd: EXTRA_LIBS := -lskarnet ${MAYBEPTHREAD_LIB} mdevd: src/mdevd/mdevd.o ${LIBNSSS} diff --git a/package/info b/package/info index a7500f8..1020df4 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=mdevd -version=0.1.2.0 +version=0.1.3.0 category=admin package_macro_name=MDEVD diff --git a/src/mdevd/mdevd.c b/src/mdevd/mdevd.c index 91de3d5..f77fa60 100644 --- a/src/mdevd/mdevd.c +++ b/src/mdevd/mdevd.c @@ -41,7 +41,9 @@ #include <skalibs/surf.h> #include <skalibs/random.h> -#define USAGE "mdevd [ -v verbosity ] [ -D notif ] [ -o outputfd ] [ -b kbufsz ] [ -f conffile ] [ -n ] [ -s slashsys ] [ -d slashdev ]" +#include <mdevd/config.h> + +#define USAGE "mdevd [ -v verbosity ] [ -D notif ] [ -o outputfd ] [ -b kbufsz ] [ -f conffile ] [ -n ] [ -s slashsys ] [ -d slashdev ] [ -F fwbase ] [ -C ]" #define dieusage() strerr_dieusage(100, USAGE) #define CONFBUFSIZE 8192 @@ -1012,12 +1014,13 @@ int main (int argc, char const *const *argv) unsigned int notif = 0 ; unsigned int kbufsz = 512288 ; char const *slashdev = "/dev" ; + int docoldplug = 0 ; PROG = "mdevd" ; { subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - int opt = subgetopt_r(argc, argv, "nv:D:o:b:f:s:d:F:", &l) ; + int opt = subgetopt_r(argc, argv, "nv:D:o:b:f:s:d:F:C", &l) ; if (opt == -1) break ; switch (opt) { @@ -1030,6 +1033,7 @@ int main (int argc, char const *const *argv) case 's' : slashsys = l.arg ; break ; case 'd' : slashdev = l.arg ; break ; case 'F' : fwbase = l.arg ; break ; + case 'C' : docoldplug = 1 ; break ; default : dieusage() ; } } @@ -1107,6 +1111,14 @@ int main (int argc, char const *const *argv) script[scriptlen++] = scriptelem_catchall ; script_secondpass(storage, script, envmatch) ; cont = 2 ; + if (docoldplug) + { + char const *cargv[2] = { MDEVD_BINPREFIX "mdevd-coldplug", 0 } ; + char const *cenv = 0 ; + if (!child_spawn0(cargv[0], cargv, &cenv)) + strerr_warnwu2sys("spawn ", cargv[0]) ; + docoldplug = 0 ; + } if (notif) { fd_write(notif, "\n", 1) ; |