packages/rarpd: use uci config, cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/packages@29215 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
e82916f0a1
commit
412e6f60f9
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=rarpd
|
PKG_NAME:=rarpd
|
||||||
PKG_VERSION:=1.1
|
PKG_VERSION:=1.1
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=3
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=ftp://ftp.dementia.org/pub/net-tools
|
PKG_SOURCE_URL:=ftp://ftp.dementia.org/pub/net-tools
|
||||||
@ -36,22 +36,24 @@ define Package/rarpd/description
|
|||||||
database.
|
database.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Configure
|
CONFIGURE_ARGS+= \
|
||||||
$(call Build/Configure/Default, \
|
|
||||||
--with-libnet="$(STAGING_DIR)/usr/lib/libnet-1.0.x" \
|
--with-libnet="$(STAGING_DIR)/usr/lib/libnet-1.0.x" \
|
||||||
--with-pcap="$(STAGING_DIR)/usr" \
|
--with-pcap="$(STAGING_DIR)/usr" \
|
||||||
, \
|
|
||||||
|
CONFIGURE_VARS+= \
|
||||||
CFLAGS="$$$$CFLAGS -DNEW_LIBNET_INTERFACE" \
|
CFLAGS="$$$$CFLAGS -DNEW_LIBNET_INTERFACE" \
|
||||||
)
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/rarpd/install
|
define Package/rarpd/install
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rarpd $(1)/usr/sbin/
|
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/rarpd $(1)/usr/sbin/
|
||||||
$(INSTALL_DIR) $(1)/etc/default
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
install -m644 ./files/rarpd.default $(1)/etc/default/rarpd
|
$(INSTALL_DATA) ./files/rarpd.config $(1)/etc/config/rarpd
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
install -m755 ./files/rarpd.init $(1)/etc/init.d/rarpd
|
$(INSTALL_BIN) ./files/rarpd.init $(1)/etc/init.d/rarpd
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/rarpd/conffiles
|
||||||
|
/etc/config/rarpd
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,rarpd))
|
$(eval $(call BuildPackage,rarpd))
|
||||||
|
13
net/rarpd/files/rarpd.config
Normal file
13
net/rarpd/files/rarpd.config
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package 'rarpd'
|
||||||
|
|
||||||
|
config 'rarpd'
|
||||||
|
option enabled 0
|
||||||
|
|
||||||
|
# listen on the specified interface (default: lan)
|
||||||
|
# option interface 'lan'
|
||||||
|
|
||||||
|
# use the specified 'ethers' file (default: /etc/ethers)
|
||||||
|
# option ethers '/etc/ethers'
|
||||||
|
|
||||||
|
# be verbose (default: false)
|
||||||
|
# option verbose 0
|
@ -1,4 +0,0 @@
|
|||||||
# /etc/default/rarpd
|
|
||||||
#
|
|
||||||
# Only listen on vlan0
|
|
||||||
#OPTIONS="-i vlan0"
|
|
@ -4,16 +4,83 @@
|
|||||||
START=50
|
START=50
|
||||||
|
|
||||||
SERVICE_DAEMONIZE=1
|
SERVICE_DAEMONIZE=1
|
||||||
|
SERVICE_WRITE_PID=1
|
||||||
|
|
||||||
PROG="rarpd"
|
append_bool() {
|
||||||
COMMAND="/usr/sbin/$PROG"
|
local var="$1"
|
||||||
DEFAULT="/etc/default/$PROG"
|
local section="$2"
|
||||||
|
local option="$3"
|
||||||
|
local value="$4"
|
||||||
|
local _val
|
||||||
|
config_get_bool _val "$section" "$option" 0
|
||||||
|
[ $_val -gt 0 ] && append "$var" "$value"
|
||||||
|
}
|
||||||
|
|
||||||
|
append_string() {
|
||||||
|
local var="$1"
|
||||||
|
local section="$2"
|
||||||
|
local option="$3"
|
||||||
|
local val="$4"
|
||||||
|
local _val
|
||||||
|
config_get _val "$section" "$option"
|
||||||
|
[ -n "$_val" ] && append "$var" "$val $_val"
|
||||||
|
}
|
||||||
|
|
||||||
|
config_get_ifname() {
|
||||||
|
local var="$1"
|
||||||
|
local section="$2"
|
||||||
|
local option="$3"
|
||||||
|
local val="$4"
|
||||||
|
local _val
|
||||||
|
config_get _val "$section" "$option" "$val"
|
||||||
|
[ -n "$_val" ] && config_get "$var" "$_val" 'ifname' "$_val"
|
||||||
|
}
|
||||||
|
|
||||||
|
section_enabled() {
|
||||||
|
local enabled
|
||||||
|
config_get_bool enabled "$1" 'enabled' 0
|
||||||
|
[ $enabled -gt 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
start_instance() {
|
||||||
|
local section="$1"
|
||||||
|
local if
|
||||||
|
local args
|
||||||
|
|
||||||
|
section_enabled "$section" || return 1
|
||||||
|
|
||||||
|
config_get_ifname if "$section" 'interface' 'lan'
|
||||||
|
args="-n -i $if"
|
||||||
|
append_string args "$section" 'ethers' '-e'
|
||||||
|
append_bool args "$section" 'verbose' '-v'
|
||||||
|
|
||||||
|
SERVICE_PID_FILE="/var/run/rarpd-${if}.pid"
|
||||||
|
service_start /usr/sbin/rarpd $args
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_instance() {
|
||||||
|
local section="$1"
|
||||||
|
local id
|
||||||
|
local if
|
||||||
|
|
||||||
|
section_enabled "$section" || return 1
|
||||||
|
|
||||||
|
config_get_ifname if "$section" 'interface' 'lan'
|
||||||
|
|
||||||
|
SERVICE_PID_FILE="/var/run/rarpd-${if}.pid"
|
||||||
|
service_stop /usr/sbin/rarpd
|
||||||
|
}
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
[ -f $DEFAULT ] && . $DEFAULT
|
include /lib/network
|
||||||
service_start $COMMAND -n $OPTIONS
|
scan_interfaces
|
||||||
|
config_load 'rarpd'
|
||||||
|
config_foreach start_instance 'rarpd'
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
stop() {
|
||||||
service_stop $COMMAND
|
include /lib/network
|
||||||
|
scan_interfaces
|
||||||
|
config_load 'rarpd'
|
||||||
|
config_foreach stop_instance 'rarpd'
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user