From patchwork Fri Nov 6 15:19:46 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Kehn X-Patchwork-Id: 541013 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 9A6651402A2 for ; Sat, 7 Nov 2015 02:20:22 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=yahoo.com header.i=@yahoo.com header.b=NBckcKo0; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id BD98294F80; Fri, 6 Nov 2015 15:20:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IyF+xJlRXK-z; Fri, 6 Nov 2015 15:20:20 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id E84FC94F71; Fri, 6 Nov 2015 15:20:19 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id D82F91C10FF for ; Fri, 6 Nov 2015 15:20:18 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id D4DC88D4E6 for ; Fri, 6 Nov 2015 15:20:18 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iyayImPN2kmE for ; Fri, 6 Nov 2015 15:20:18 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from nm17-vm2.bullet.mail.ne1.yahoo.com (nm17-vm2.bullet.mail.ne1.yahoo.com [98.138.91.93]) by whitealder.osuosl.org (Postfix) with ESMTPS id E31808C680 for ; Fri, 6 Nov 2015 15:20:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1446823217; bh=n2sQOr8+DADA4LteMQkw5lyOfBrN80lAVD6iFUBWZyY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject; b=NBckcKo0SWi7SV/8SbbEHJq95wvSKsy1BmUl37u3XCw2Tl1sH4eA19biAQ6wCCLE3xw7wB4Z1BahSMw5XFWIeEbjF10l7PV6a56KlwhK50LRKdjlGUbP1CVJG6xtv6snpQrOBANK0W725S2I0hI2ceWJ9kfRKxG3C8O6Xv0K3IV6W2ruQKw8U6ZoAgQVfDyovjzmYhbJ7JJKN9IcVyjQRw8/uYK3kiT8pGSuR1T8/zM5fdN8Y3pmIJzS9u8JUAV/4CKbD3kZoYN6PR5Aa8wAXLBDlOh6PMXIDdcabH1nsOn9KuGLlcOYfnFbEuNxQOnyOQlhUzO0T/FwKU0+E+DGrA== Received: from [98.138.100.103] by nm17.bullet.mail.ne1.yahoo.com with NNFMP; 06 Nov 2015 15:20:17 -0000 Received: from [98.138.84.39] by tm102.bullet.mail.ne1.yahoo.com with NNFMP; 06 Nov 2015 15:20:17 -0000 Received: from [127.0.0.1] by smtp107.mail.ne1.yahoo.com with NNFMP; 06 Nov 2015 15:20:17 -0000 X-Yahoo-Newman-Id: 144650.88971.bm@smtp107.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: dTvdHOQVM1lhcC4.L.CKjsniUjBPf_5yQxZ.jXk7ZCKvmCw nBA3mxfF3Wt14I9OEeTQ7ix7tRD0c.jjElrm77x09u_lWSBNKee2ALj6NsBZ MvmMRml1XIck0IRnmb1TyG_R0LCuidFb3H045du1TVOcR90XUQqjBgR2w.Yq HnGvRFsPZTjQ77WbIIY4_akNp1WmHItY3NTsK2v2JvfBIS70EfhQhT_MWrYY 4RspaK18ltwoaHUdu2r3R8KMYyMsc9AI8EFR_unLTnV63f5cXmbffpsNtl9F Qasup5FSJTT7FlRcAgQ7oZYziBbWkkumxRXI4lpKMMmsZZKRyneA8Zd5LpJj GtkqEIsakXOET1KX4zxiaD9_ZOLPgPWHig74rPHXB5Unm.5K1pxAXY.Zxw8t XTfG8wLOQedaHhrNlL9z4GLy8n5fxoIhcaIiXYnmh_7JevUFzHV8UK3N6vQf _o7XuviZ0hLNfQf4Zz2CX6ehviC1AYWhs1QSrl8D0Trz2c16G3AJ9e5YoQVv TW94rMzwyWqxd.uRLqMfY4Z_4eUyX X-Yahoo-SMTP: tVp.douswBADms9I1_pvnFcs0w-- From: Doug Kehn To: buildroot@buildroot.org Date: Fri, 6 Nov 2015 09:19:46 -0600 Message-Id: <1446823187-7878-2-git-send-email-rdkehn@yahoo.com> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1446823187-7878-1-git-send-email-rdkehn@yahoo.com> References: <1446823187-7878-1-git-send-email-rdkehn@yahoo.com> Cc: yann.morin.1998@free.fr Subject: [Buildroot] [PATCH v4 1/2] package/unscd: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" A daemon which handles passwd, group and host lookups for running programs and caches the results for the next query. You only need this package if you are using slow Name Services like LDAP, NIS or NIS+. This particular NSCD is a complete rewrite of the GNU glibc nscd which is a single threaded server process which offloads all NSS lookups to worker children; cache hits are handled by the parent, and only cache misses start worker children, making the parent immune to resource leaks, hangs, and crashes in NSS libraries. It should mostly be a drop-in replacement for existing installs using nscd. Cc: Yann E. MORIN Signed-off-by: Doug Kehn --- package/Config.in | 1 + package/unscd/Config.in | 11 +++++++++++ package/unscd/S46unscd | 24 ++++++++++++++++++++++++ package/unscd/unscd.hash | 4 ++++ package/unscd/unscd.mk | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 89 insertions(+) create mode 100644 package/unscd/Config.in create mode 100644 package/unscd/S46unscd create mode 100644 package/unscd/unscd.hash create mode 100644 package/unscd/unscd.mk diff --git a/package/Config.in b/package/Config.in index bdc3063..7fd3f0d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1534,6 +1534,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/sysvinit/Config.in" source "package/tar/Config.in" endif + source "package/unscd/Config.in" source "package/util-linux/Config.in" endmenu diff --git a/package/unscd/Config.in b/package/unscd/Config.in new file mode 100644 index 0000000..1639bca --- /dev/null +++ b/package/unscd/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_UNSCD + bool "unscd" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_GLIBC_NSCD + help + Micro Name Service Caching Daemon + + https://packages.debian.org/unscd + +comment "unscd needs an (e)glibc toolchain" + depends on !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/unscd/S46unscd b/package/unscd/S46unscd new file mode 100644 index 0000000..7d18f94 --- /dev/null +++ b/package/unscd/S46unscd @@ -0,0 +1,24 @@ +#!/bin/sh + +NAME="nscd" +DAEMON="/usr/sbin/${NAME}" + +case "$1" in +start) + printf "Starting ${NAME}: " + start-stop-daemon -S -x ${DAEMON} + [ $? -eq 0 ] && echo "OK" || echo "FAIL" + ;; +stop) + printf "Stopping ${NAME}: " + start-stop-daemon -K -x ${DAEMON} + [ $? -eq 0 ] && echo "OK" || echo "FAIL" + ;; +restart|reload) + $0 stop + $0 start + ;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/unscd/unscd.hash b/package/unscd/unscd.hash new file mode 100644 index 0000000..173c59f --- /dev/null +++ b/package/unscd/unscd.hash @@ -0,0 +1,4 @@ +# From http://snapshot.debian.org/archive/debian/20150519T094547Z/pool/main/u/unscd/unscd_0.51-1.dsc +sha256 0dbf717726e1c29af8f4ef7d2d2695e5eedb342320a730a56ae0d56fe32891f8 unscd_0.51.orig.tar.gz +sha256 8ae16a826afd464639f6c6372fabafee5b93aea9645b3fbf23970296d4961f27 unscd_0.51-1.debian.tar.gz + diff --git a/package/unscd/unscd.mk b/package/unscd/unscd.mk new file mode 100644 index 0000000..5fe41b2 --- /dev/null +++ b/package/unscd/unscd.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# unscd +# +################################################################################ + +UNSCD_VERSION = 0.51 +UNSCD_SOURCE = unscd_$(UNSCD_VERSION).orig.tar.gz +UNSCD_SITE = http://snapshot.debian.org/archive/debian/20150519T094547Z/pool/main/u/unscd +UNSCD_EXTRA_DOWNLOADS = unscd_$(UNSCD_VERSION)-1.debian.tar.gz +UNSCD_LICENSE = GPLv2 +UNSCD_LICENSE_FILES = debian/copyright + +define UNSCD_EXTRACT_DEBIAN + $(call suitable-extractor,$(UNSCD_EXTRA_DOWNLOADS)) \ + $(DL_DIR)/$(UNSCD_EXTRA_DOWNLOADS) \ + | $(TAR) -C $(@D) -xf - +endef + +UNSCD_POST_EXTRACT_HOOKS += UNSCD_EXTRACT_DEBIAN + +define UNSCD_APPLY_DEBIAN_PATCHES + for f in `grep -Ev "^#" $(@D)/debian/patches/series 2> /dev/null`; do \ + cat "$(@D)/debian/patches/$${f}" | patch -g0 -p1 -E -d "$(@D)" -t -N; \ + done +endef + +UNSCD_POST_PATCH_HOOKS += UNSCD_APPLY_DEBIAN_PATCHES + +define UNSCD_BUILD_CMDS + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \ + $(@D)/nscd.c -o $(@D)/nscd +endef + +define UNSCD_INSTALL_TARGET_CMDS + $(INSTALL) -m 755 -D $(@D)/nscd $(TARGET_DIR)/usr/sbin/nscd + $(INSTALL) -m 600 -D $(@D)/debian/nscd.conf $(TARGET_DIR)/etc/nscd.conf +endef + +define UNSCD_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D package/unscd/S46unscd \ + $(TARGET_DIR)/etc/init.d/S46unscd +endef + +define UNSCD_USERS + unscd -1 unscd -1 * - - - unscd user +endef + +$(eval $(generic-package))