PKG_NAME:=rng-tools
PKG_VERSION:=5
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/gkernel/rng-tools/$(PKG_VERSION)/
PKG_MD5SUM:=6726cdc6fae1f5122463f24ae980dd68
PKG_LICENSE:=GPLv2
-PKG_MAINTAINER:=Hannu Nyman <hannu.nyman@iki.fi>
+PKG_MAINTAINER:=Nathaniel Wesley Filardo <nwfilardo@gmail.com>
PKG_FIXUP:=autoreconf
define Package/rng-tools/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/rngd.init $(1)/etc/init.d/rngd
+ $(INSTALL_DIR) $(1)/etc/uci_defaults
+ $(INSTALL_BIN) ./files/rngd.uci_defaults $(1)/etc/uci_defaults/rngd
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rngtest $(1)/usr/bin/
$(INSTALL_DIR) $(1)/sbin
START=98
-RNGD_AMOUNT=4000
-RNGD_DEVICE="/dev/urandom"
-# Use /dev/urandom as source, as hardware sources like /dev/hwrng are usually not present
+RNGD_FILLWATER=$(uci -q get system.@rngd[0].fill_watermark)
+RNGD_DEVICE=$(uci -q get system.@rngd[0].device)
+RNGD_ENABLED=$(uci -q get system.@rngd[0].enabled)
+RNGD_PRECMD=$(uci -q get system.@rngd[0].precmd)
+
+: ${RNGD_FILLWATER:=4000}
+
+echo PRECMD=\'$RNGD_PRECMD\'
start() {
- service_start /sbin/rngd -r $RNGD_DEVICE -W $RNGD_AMOUNT
+ [ 1 -eq "$RNGD_ENABLED" ] && {
+ [ -z "${RNGD_PRECMD}" ] || ${RNGD_PRECMD} ${RNGD_DEVICE}
+ service_start /sbin/rngd -r ${RNGD_DEVICE} -W ${RNGD_FILLWATER}
+ }
}
stop() {
--- /dev/null
+#!/bin/sh
+
+uci -q show system.@rngd[0] || {
+ uci add system rngd
+ uci set system.@rngd[0].enabled=0
+ uci set system.@rngd[0].device=/dev/urandom
+ uci commit
+}