diff --git a/libs/libdaemon/Makefile b/libs/libdaemon/Makefile new file mode 100644 index 0000000000..6a828cb1f1 --- /dev/null +++ b/libs/libdaemon/Makefile @@ -0,0 +1,70 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libdaemon +PKG_VERSION:=0.14 +PKG_RELEASE:=3 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://0pointer.de/lennart/projects/libdaemon/ +PKG_MD5SUM:=509dc27107c21bcd9fbf2f95f5669563 + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libdaemon + SECTION:=libs + CATEGORY:=Libraries + TITLE:=A lightweight C library that eases the writing of UNIX daemons + URL:=http://0pointer.de/lennart/projects/libdaemon/ +endef + +define Package/libdaemon/description + libdaemon is a lightweight C library that eases the writing of UNIX daemons. + It consists of the following parts: + - A wrapper around fork() which does the correct daemonization procedure of a process + - A wrapper around syslog() for simpler and compatible log output to Syslog or STDERR + - An API for writing PID files + - An API for serializing UNIX signals into a pipe for usage with select() or poll() + - An API for running subprocesses with STDOUT and STDERR redirected to syslog + + APIs like these are used in most daemon software available. It is not that + simple to get it done right and code duplication is not a goal. +endef + +define Build/Configure + $(call Build/Configure/Default, \ + --enable-shared \ + --enable-static \ + --disable-lynx \ + , \ + ac_cv_func_setpgrp_void=yes \ + ) +endef + +TARGET_CFLAGS += $(FPIC) + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/libdaemon $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdaemon.a $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdaemon.so* $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libdaemon.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libdaemon/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdaemon.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libdaemon)) diff --git a/libs/libdaemon/patches/001-daemon_set_verbosity.patch b/libs/libdaemon/patches/001-daemon_set_verbosity.patch new file mode 100644 index 0000000000..d0c66c7a26 --- /dev/null +++ b/libs/libdaemon/patches/001-daemon_set_verbosity.patch @@ -0,0 +1,30 @@ +From 013963ba35e8fe8897211c0acf5ee98f9a871fc1 Mon Sep 17 00:00:00 2001 +From: Michael Heimpold +Date: Fri, 10 Jan 2014 19:38:51 +0100 +Subject: [PATCH] daemon_set_verbosity: fix erroneous error message + +When calling this function with a value other than LOG_DEBUG +the error message was triggered erroneously. + +Signed-off-by: Michael Heimpold +--- + + libdaemon/dlog.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libdaemon/dlog.c b/libdaemon/dlog.c +index 1cc0566..cc2b918 100644 +--- a/libdaemon/dlog.c ++++ b/libdaemon/dlog.c +@@ -42,7 +42,7 @@ static int daemon_verbosity_level = LOG_INFO; + void daemon_set_verbosity(int verbosity_prio) { + + /* Allow using negative verbosity levels to hide _all_ messages */ +- if (verbosity_prio > 0 && (verbosity_prio & LOG_PRIMASK) != LOG_PRIMASK) ++ if (verbosity_prio > 0 && (verbosity_prio & LOG_PRIMASK) != verbosity_prio) + daemon_log(LOG_ERR, "The value %d is not a valid priority value", verbosity_prio); + + daemon_verbosity_level = verbosity_prio & LOG_PRIMASK; +-- +1.7.10.4 +