mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
25
package/unscd/Config.in
Normal file
25
package/unscd/Config.in
Normal file
@@ -0,0 +1,25 @@
|
||||
config BR2_PACKAGE_UNSCD
|
||||
bool "unscd"
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
help
|
||||
Micro Name Service Caching Daemon
|
||||
|
||||
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.
|
||||
|
||||
http://busybox.net/~vda/unscd
|
||||
|
||||
comment "unscd needs a glibc toolchain"
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC
|
||||
25
package/unscd/S46unscd
Normal file
25
package/unscd/S46unscd
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
NAME="nscd"
|
||||
DAEMON="/usr/sbin/${NAME}"
|
||||
PID_F="/var/run/nscd/${NAME}.pid"
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf "Starting ${NAME}: "
|
||||
start-stop-daemon -S -p ${PID_F} -x ${DAEMON}
|
||||
[ $? -eq 0 ] && echo "OK" || echo "FAIL"
|
||||
;;
|
||||
stop)
|
||||
printf "Stopping ${NAME}: "
|
||||
start-stop-daemon -K -p ${PID_F}
|
||||
[ $? -eq 0 ] && echo "OK" || echo "FAIL"
|
||||
;;
|
||||
restart|reload)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
||||
33
package/unscd/nscd.conf
Normal file
33
package/unscd/nscd.conf
Normal file
@@ -0,0 +1,33 @@
|
||||
# /etc/nscd.conf
|
||||
#
|
||||
# An example Name Service Cache config file. This file is needed by nscd.
|
||||
#
|
||||
server-user unscd
|
||||
debug-level 0
|
||||
|
||||
enable-cache passwd yes
|
||||
positive-time-to-live passwd 600
|
||||
negative-time-to-live passwd 20
|
||||
suggested-size passwd 1001
|
||||
check-files passwd yes
|
||||
|
||||
enable-cache group yes
|
||||
positive-time-to-live group 3600
|
||||
negative-time-to-live group 60
|
||||
suggested-size group 1001
|
||||
check-files group yes
|
||||
|
||||
# hosts caching is broken with gethostby* calls, hence is now disabled
|
||||
# by default. Specifically, the caching does not obey DNS TTLs, and
|
||||
# thus could lead to problems if the positive-time-to-live is
|
||||
# significantly larger than the actual TTL.
|
||||
#
|
||||
# You should really use a caching nameserver instead of nscd for this
|
||||
# sort of request. However, you can easily re-enable this by default.
|
||||
enable-cache hosts no
|
||||
positive-time-to-live hosts 3600
|
||||
negative-time-to-live hosts 20
|
||||
suggested-size hosts 1001
|
||||
check-files hosts yes
|
||||
|
||||
# unscd does not support services caching
|
||||
2
package/unscd/unscd.hash
Normal file
2
package/unscd/unscd.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally computed:
|
||||
sha256 4c1f83dcd120469fceef749050cb29fa666fa4666bd308dfe92e933a4c200d55 nscd-0.52.c
|
||||
36
package/unscd/unscd.mk
Normal file
36
package/unscd/unscd.mk
Normal file
@@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
#
|
||||
# unscd
|
||||
#
|
||||
################################################################################
|
||||
|
||||
UNSCD_VERSION = 0.52
|
||||
UNSCD_SOURCE = nscd-$(UNSCD_VERSION).c
|
||||
UNSCD_SITE = http://busybox.net/~vda/unscd
|
||||
UNSCD_LICENSE = GPL-2.0
|
||||
UNSCD_LICENSE_FILES = $(UNSCD_SOURCE)
|
||||
|
||||
define UNSCD_EXTRACT_CMDS
|
||||
cp $(UNSCD_DL_DIR)/$($(PKG)_SOURCE) $(@D)/
|
||||
endef
|
||||
|
||||
define UNSCD_BUILD_CMDS
|
||||
cd $(@D); \
|
||||
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o nscd $(UNSCD_SOURCE)
|
||||
endef
|
||||
|
||||
define UNSCD_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -D $(@D)/nscd $(TARGET_DIR)/usr/sbin/nscd
|
||||
$(INSTALL) -m 600 -D package/unscd/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))
|
||||
Reference in New Issue
Block a user