diff options
-rw-r--r-- | net/net-snmp/Makefile | 6 | ||||
-rw-r--r-- | net/net-snmp/files/snmpd.default | 1 | ||||
-rw-r--r-- | net/net-snmp/files/snmpd.init | 76 |
3 files changed, 45 insertions, 38 deletions
diff --git a/net/net-snmp/Makefile b/net/net-snmp/Makefile index 6fbf1b8bd..5736e0d7d 100644 --- a/net/net-snmp/Makefile +++ b/net/net-snmp/Makefile @@ -216,7 +216,6 @@ define Package/libnetsnmp/install endef define Package/snmpd/conffiles -/etc/default/snmpd /etc/config/snmpd endef @@ -225,8 +224,6 @@ define Package/snmpd/install $(INSTALL_DATA) ./files/snmpd.conf $(1)/etc/config/snmpd $(INSTALL_DIR) $(1)/etc/snmp ln -sf /var/run/snmpd.conf $(1)/etc/snmp/ - $(INSTALL_DIR) $(1)/etc/default - $(INSTALL_DATA) ./files/snmpd.default $(1)/etc/default/snmpd $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/snmpd.init $(1)/etc/init.d/snmpd $(INSTALL_DIR) $(1)/usr/sbin @@ -234,7 +231,6 @@ define Package/snmpd/install endef define Package/snmpd-static/conffiles -/etc/default/snmpd /etc/config/snmpd endef @@ -243,8 +239,6 @@ define Package/snmpd-static/install $(INSTALL_DATA) ./files/snmpd.conf $(1)/etc/config/snmpd $(INSTALL_DIR) $(1)/etc/snmp ln -sf /var/run/snmpd.conf $(1)/etc/snmp/ - $(INSTALL_DIR) $(1)/etc/default - $(INSTALL_DATA) ./files/snmpd.default $(1)/etc/default/snmpd $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/snmpd.init $(1)/etc/init.d/snmpd $(INSTALL_DIR) $(1)/usr/sbin diff --git a/net/net-snmp/files/snmpd.default b/net/net-snmp/files/snmpd.default deleted file mode 100644 index 758c8e44f..000000000 --- a/net/net-snmp/files/snmpd.default +++ /dev/null @@ -1 +0,0 @@ -OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid" diff --git a/net/net-snmp/files/snmpd.init b/net/net-snmp/files/snmpd.init index 2668b7b3e..3dd8c41dc 100644 --- a/net/net-snmp/files/snmpd.init +++ b/net/net-snmp/files/snmpd.init @@ -2,35 +2,35 @@ # Copyright (C) 2008 OpenWrt.org START=50 -DEFAULT=/etc/default/snmpd -LIB_D=/var/lib/snmp -LOG_D=/var/log -RUN_D=/var/run -PID_F=$RUN_D/snmpd.pid -RUN_C=$RUN_D/snmpd.conf +USE_PROCD=1 +PROG="/usr/sbin/snmpd" + +CONFIGFILE="/var/run/snmpd.conf" snmpd_agent_add() { local cfg="$1" config_get agentaddress "$cfg" agentaddress [ -n "$agentaddress" ] || return 0 - echo "agentaddress $agentaddress" >> $RUN_C + echo "agentaddress $agentaddress" >> $CONFIGFILE } + snmpd_system_add() { local cfg="$1" config_get syslocation "$cfg" sysLocation - [ -n "$syslocation" ] && echo "sysLocation $syslocation" >> $RUN_C + [ -n "$syslocation" ] && echo "sysLocation $syslocation" >> $CONFIGFILE config_get syscontact "$cfg" sysContact - [ -n "$syscontact" ] && echo "sysContact $syscontact" >> $RUN_C + [ -n "$syscontact" ] && echo "sysContact $syscontact" >> $CONFIGFILE config_get sysname "$cfg" sysName - [ -n "$sysname" ] && echo "sysName $sysname" >> $RUN_C + [ -n "$sysname" ] && echo "sysName $sysname" >> $CONFIGFILE config_get sysservice "$cfg" sysService - [ -n "$sysservice" ] && echo "sysService $sysservice" >> $RUN_C + [ -n "$sysservice" ] && echo "sysService $sysservice" >> $CONFIGFILE config_get sysdescr "$cfg" sysDescr - [ -n "$sysdescr" ] && echo "sysDescr $sysdescr" >> $RUN_C + [ -n "$sysdescr" ] && echo "sysDescr $sysdescr" >> $CONFIGFILE config_get sysobjectid "$cfg" sysObjectID - [ -n "$sysobjectid" ] && echo "sysObjectID $sysobjectid" >> $RUN_C + [ -n "$sysobjectid" ] && echo "sysObjectID $sysobjectid" >> $CONFIGFILE } + snmpd_com2sec_add() { local cfg="$1" config_get secname "$cfg" secname @@ -39,8 +39,9 @@ snmpd_com2sec_add() { [ -n "$source" ] || return 0 config_get community "$cfg" community [ -n "$community" ] || return 0 - echo "com2sec $secname $source $community" >> $RUN_C + echo "com2sec $secname $source $community" >> $CONFIGFILE } + snmpd_com2sec6_add() { local cfg="$1" config_get secname "$cfg" secname @@ -49,8 +50,9 @@ snmpd_com2sec6_add() { [ -n "$source" ] || return 0 config_get community "$cfg" community [ -n "$community" ] || return 0 - echo "com2sec6 $secname $source $community" >> $RUN_C + echo "com2sec6 $secname $source $community" >> $CONFIGFILE } + snmpd_group_add() { local cfg="$1" config_get group "$cfg" group @@ -59,8 +61,9 @@ snmpd_group_add() { [ -n "$version" ] || return 0 config_get secname "$cfg" secname [ -n "$secname" ] || return 0 - echo "group $group $version $secname" >> $RUN_C + echo "group $group $version $secname" >> $CONFIGFILE } + snmpd_view_add() { local cfg="$1" config_get viewname "$cfg" viewname @@ -71,8 +74,9 @@ snmpd_view_add() { [ -n "$oid" ] || return 0 # optional mask config_get mask "$cfg" mask - echo "view $viewname $type $oid $mask" >> $RUN_C + echo "view $viewname $type $oid $mask" >> $CONFIGFILE } + snmpd_access_add() { local cfg="$1" config_get group "$cfg" group @@ -92,8 +96,9 @@ snmpd_access_add() { [ -n "$write" ] || return 0 config_get notify "$cfg" notify [ -n "$notify" ] || return 0 - echo "access $group $context $version $level $prefix $read $write $notify" >> $RUN_C + echo "access $group $context $version $level $prefix $read $write $notify" >> $CONFIGFILE } + snmpd_pass_add() { local cfg="$1" local pass='pass' @@ -106,8 +111,9 @@ snmpd_pass_add() { [ $persist -ne 0 ] && pass='pass_persist' config_get priority "$cfg" priority priority=${priority:+-p $priority} - echo "$pass $priority $miboid $prog" >> $RUN_C + echo "$pass $priority $miboid $prog" >> $CONFIGFILE } + snmpd_exec_add() { local cfg="$1" @@ -117,8 +123,9 @@ snmpd_exec_add() { [ -n "$prog" ] || return 0 config_get args "$cfg" args config_get miboid "$cfg" miboid - echo "exec $miboid $name $prog $args" >> $RUN_C + echo "exec $miboid $name $prog $args" >> $CONFIGFILE } + snmpd_disk_add() { local cfg="$1" local disk='disk' @@ -127,13 +134,13 @@ snmpd_disk_add() { [ -n "$partition" ] || return 0 config_get size "$cfg" size [ -n "$size" ] || return 0 - echo "$disk $partition $size" >> $RUN_C + echo "$disk $partition $size" >> $CONFIGFILE } -start() { - [ -d $LIB_D ] || mkdir -p $LIB_D - [ -d $LOG_D ] || mkdir -p $LOG_D - [ -d $RUN_D ] || mkdir -p $RUN_D - [ -f $RUN_C ] && rm -f $RUN_C + +start_service() { + [ -f "$CONFIGFILE" ] && rm -f "$CONFIGFILE" + + procd_open_instance config_load snmpd @@ -148,10 +155,17 @@ start() { config_foreach snmpd_exec_add exec config_foreach snmpd_disk_add disk - [ -f $DEFAULT ] && . $DEFAULT - $DEBUG /usr/sbin/snmpd $OPTIONS + procd_set_param command $PROG -Lf /dev/null -f + procd_set_param file $CONFIGFILE + procd_set_param respawn + + for iface in $(ls /sys/class/net 2>/dev/null); do + procd_append_param netdev "$iface" + done + + procd_close_instance } -stop() { - [ -f $PID_F ] && kill $(cat $PID_F) - [ -f $RUN_C ] && rm -f $RUN_C + +stop_service() { + [ -f "$CONFIGFILE" ] && rm -f "$CONFIGFILE" } |