1<?xml version="1.0" encoding="iso-8859-15"?> <!-- -*-html-helper-*- --> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4 5<head> 6<title>libdaemon @PACKAGE_VERSION@</title> 7<link rel="stylesheet" type="text/css" href="style.css" /> 8</head> 9 10<body> 11<h1><a name="top">libdaemon @PACKAGE_VERSION@</a></h1> 12 13<p><i>Copyright 2003-2009 Lennart Poettering <@PACKAGE_BUGREPORT@></i></p> 14 15<ul class="toc"> 16 <li><a href="#license">License</a></li> 17 <li><a href="#news">News</a></li> 18 <li><a href="#overview">Overview</a></li> 19 <li><a href="#status">Current Status</a></li> 20 <li><a href="#documentation">Documentation</a></li> 21 <li><a href="#requirements">Requirements</a></li> 22 <li><a href="#installation">Installation</a></li> 23 <li><a href="#acks">Acknowledgements</a></li> 24 <li><a href="#download">Download</a></li> 25</ul> 26 27<h2><a name="license">License</a></h2> 28 29<p>This program is free software; you can redistribute it and/or 30modify it under the terms of the GNU Lesser General Public License as 31published by the Free Software Foundation, either version 2.1 of the 32License, or (at your option) any later version.</p> 33 34<p>This program is distributed in the hope that it will be useful, but 35WITHOUT ANY WARRANTY; without even the implied warranty of 36MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 37Lesser General Public License for more details.</p> 38 39<h2><a name="news">News</a></h2> 40 41<div class="news-date">Sun Oct 18 2009: </div> 42<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.14.tar.gz">Version 0.14</a> released; changes include: add <tt>daemon_set_verbosity()</tt> call; numerous updates</p> 43 44<div class="news-date">Tue Jul 29 2008: </div> 45<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.13.tar.gz">Version 0.13</a> released; changes include: add <tt>daemon_reset_sigs()</tt> and <tt>daemon_unblock_sigs()</tt> calls for resetting signal handlers to sensible states; improve error handling.</p> 46 47<div class="news-date">Tue Jul 10 2007: </div> 48<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.12.tar.gz">Version 0.12</a> released; changes include: make <tt>daemon_close_all()</tt> actually work properly.</p> 49 50<div class="news-date">Fri Jun 22 2007: </div> 51<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.11.tar.gz">Version 0.11</a> released; changes include: automatically detect whether lynx is installed; properly set <tt>errno</tt> on every error condition; add new function <tt>daemon_close_all()</tt> to close all open file descriptors except a given set; add <tt>daemon_logv()</tt>, which is identical to <tt>daemon_log()</tt>, but takes a <tt>va_list</tt> argument; add <tt>daemon_execv()</tt> in similar style; other fixes</p> 52 53<div class="news-date">Thu Nov 24 2005: </div> 54<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.10.tar.gz">Version 0.10</a> released; changes include: make logging compatible with daemons running in a <tt>chroot()</tt> environment</p> 55 56<div class="news-date">Fri Nov 18 2005: </div> 57<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.9.tar.gz">Version 0.9</a> released; changes include: portability (FreeBSD, NetBSD, OpenBSD, Darwin, Solaris, Cygwin); some minor header file cleanups; fix access mode of PID files; other cleanups; license change from GPL to LGPL</p> 58 59<div class="news-date">Sat Jun 4 2005: </div> 60<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.8.tar.gz">Version 0.8</a> released; changes include: proper PID file locking</p> 61 62<div class="news-date">Sat Dec 18 2004: </div> 63<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.7.tar.gz">Version 0.7</a> released; changes include: minor cleanups; C++ compatibility; gcc 2.95 compatiblity</p> 64 65<div class="news-date">Wed Apr 7 2004: </div> 66<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.6.tar.gz">Version 0.6</a> released; changes include: backgrounding fixes, minor other stuff</p> 67 68<div class="news-date">Tue Feb 10 2004: </div> 69<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.5.tar.gz">Version 0.5</a> released; changes include: signal handling fix, forking fix</p> 70 71<div class="news-date">Sat Jan 10 2004: </div> 72<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.4.tar.gz">Version 0.4</a> released; changes include: new module <tt>dexec.c</tt>; added <tt>pkg-config</tt> support.</p> 73 74<div class="news-date">Mon Oct 20 2003: </div> 75<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.3.tar.gz">Version 0.3</a> released; changes include: documentation update, build fixes, RPM spec file added, added new function int <tt>daemon_pid_file_kill_wait()</tt>.</p> 76 77<div class="news-date">Thu July 10 2003: </div> 78<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.2.tar.gz">Version 0.2</a> released; changes include: ugly umask error fix, documentation update</p> 79 80<div class="news-date">Mon July 7 2003: </div> 81<p class="news-text"><a href="@PACKAGE_URL@libdaemon-0.1.tar.gz">Version 0.1</a> released</p> 82 83<h2><a name="overview">Overview</a></h2> 84 85<p><tt>libdaemon</tt> is a lightweight C library that eases the writing of UNIX 86daemons. It consists of the following parts:</p> 87 88<ul> 89 <li>A wrapper around <tt>fork()</tt> which does the correct 90 daemonization procedure of a process</li> 91 92 <li>A wrapper around <tt>syslog()</tt> for simpler and compatible 93 log output to Syslog or STDERR</li> 94 95 <li>An API for writing PID files</li> 96 97 <li>An API for serializing UNIX signals into a pipe for 98 usage with <tt>select()</tt> or <tt>poll()</tt></li> 99 100 <li>An API for running subprocesses with STDOUT and STDERR redirected to syslog.</li> 101</ul> 102 103<p>APIs like these are used in most daemon software 104available. It is not that simple to get it done right and code 105duplication is not a goal.</p> 106 107<p><tt>libdaemon</tt> is currently used by <a 108href="http://0pointer.de/lennart/projects/ifplugd/"><tt>ifplugd</tt></a>, 109<a 110href="http://freedesktop.org/Software/Avahi">Avahi</a>, 111<a 112href="http://0pointer.de/lennart/projects/ivam2/"><tt>ivam2</tt></a>, 113<a href="http://gentoo.ovibes.net/nautilus-share/mediawiki-1.4.4/index.php/Accueil">Nautilus-Share</a> 114and <a 115href="http://0pointer.de/lennart/projects/aeswepd/"><tt>aeswepd</tt></a>.</p> 116 117<h2><a name="status">Current Status</a></h2> 118 119<p>Version @PACKAGE_VERSION@ is feature complete.</p> 120 121<h2><a name="documentation">Documentation</a></h2> 122 123<p>An extensive API reference is <a 124href="reference/html/index.html">available</a></p> 125 126<h2><a name="requirements">Requirements</a></h2> 127 128<p><tt>libdaemon</tt> was developed and tested on Debian GNU/Linux 129"testing" from July 2003, it should work on most other Linux 130distributions (and some Unix versions) since it uses GNU Autoconf and 131GNU libtool for source code configuration and shared library 132management.</p> 133 134<p><tt>libdaemon</tt> is known to work on modern Linux systems, FreeBSD, NetBSD, OpenBSD, Darwin, Solaris and Windows/Cygwin.</p> 135 136<h2><a name="installation">Installation</a></h2> 137 138<p>As this package is made with the GNU autotools you should run 139<tt>./configure</tt> inside the distribution directory for configuring 140the source tree. After that you should run <tt>make</tt> for 141compilation and <tt>make install</tt> (as root) for installation of 142<tt>libdaemon</tt>.</p> 143 144<p>Please use <tt>gmake</tt> instead of traditional <tt>make</tt> for compilation on non-Linux systems.</p> 145 146<h2><a name="acks">Acknowledgements</a></h2> 147 148<p>Sebastien Estienne, for a lot of portability work.</p> 149 150<h2><a name="download">Download</a></h2> 151 152<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p> 153 154<p>Get <tt>libdaemon</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/libdaemon">repository</a> (<a href="http://git.0pointer.de/?p=libdaemon.git">gitweb</a>): </p> 155 156<pre>git clone git://git.0pointer.de/libdaemon</pre> 157 158<p>You may find an up to date Debian package of <tt>libdaemon</tt> on the <a href="http://packages.debian.org/libdaemon0">Debian package repository</a>.</p> 159 160<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/libdaemon/">Freshmeat</a>.</p> 161 162<hr/> 163<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, October 2009</address> 164 165</body> 166</html> 167