ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/net/apinger/Makefile b/external/subpack/net/apinger/Makefile
new file mode 100644
index 0000000..f6837ce
--- /dev/null
+++ b/external/subpack/net/apinger/Makefile
@@ -0,0 +1,62 @@
+#
+# Copyright (C) 2006-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=apinger
+PKG_SOURCE_DATE:=2015-04-09
+PKG_SOURCE_VERSION:=78eb328721ba1a10571c19df95acddcb5f0c17c8
+PKG_RELEASE:=2
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/Jajcus/apinger
+PKG_MIRROR_HASH:=4ada1330fc5d0adc0216d141f5e3b494df7a4c6500bbffce1efeab3d58684f7e
+
+PKG_MAINTAINER:=Alex Samorukov <samm@os2.kiev.ua>
+PKG_LICENSE:=GPL-2.0-only
+
+PKG_REMOVE_FILES:=autogen.sh
+PKG_FIXUP:=autoreconf
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=0
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/apinger
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=Tool which monitors various IP devices by simple ICMP echo requests
+  URL:=https://github.com/Jajcus/apinger
+endef
+
+define Package/apinger/description
+	Alarm Pinger (apinger) is a little tool which monitors various IP devices by
+	simple ICMP echo requests. There are various other tools, that can do this,
+	but most of them are shell or perl scripts, spawning many processes, thus much
+	CPU-expensive, especially when one wants continuous monitoring and fast
+	response on target failure.  Alarm Pinger is a single program written in C, so
+	it doesn't need much CPU power even when monitoring many targets with frequent
+	probes.  Alarm Pinger supports both IPv4 and IPv6. The code have been tested
+	on Linux and FreeBSD.
+endef
+
+define Package/apinger/conffiles
+/etc/apinger.conf
+endef
+
+define Package/apinger/install
+	$(INSTALL_DIR) $(1)/usr/sbin
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/apinger $(1)/usr/sbin/
+	$(INSTALL_DIR) $(1)/etc
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/apinger.conf $(1)/etc/apinger.conf
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_BIN) ./files/apinger.init $(1)/etc/init.d/apinger
+endef
+
+$(eval $(call BuildPackage,apinger))
+
diff --git a/external/subpack/net/apinger/files/apinger.init b/external/subpack/net/apinger/files/apinger.init
new file mode 100644
index 0000000..8caac38
--- /dev/null
+++ b/external/subpack/net/apinger/files/apinger.init
@@ -0,0 +1,18 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2011 OpenWrt.org
+
+START=80
+
+SERVICE_USE_PID=1
+
+start() {
+	service_start /usr/sbin/apinger
+}
+
+stop() {
+	service_stop /usr/sbin/apinger
+}
+
+reload() {
+	service_reload /usr/sbin/apinger
+}
diff --git a/external/subpack/net/apinger/patches/002-run_as_user.patch b/external/subpack/net/apinger/patches/002-run_as_user.patch
new file mode 100644
index 0000000..ca36e97
--- /dev/null
+++ b/external/subpack/net/apinger/patches/002-run_as_user.patch
@@ -0,0 +1,11 @@
+--- a/src/apinger.conf
++++ b/src/apinger.conf
+@@ -8,7 +8,7 @@
+ 
+ ## User and group the pinger should run as
+ user "nobody"
+-group "nobody"
++group "nogroup"
+ 
+ ## Mailer to use (default: "/usr/lib/sendmail -t")
+ #mailer "/var/qmail/bin/qmail-inject" 
diff --git a/external/subpack/net/apinger/patches/003-no_docs.patch b/external/subpack/net/apinger/patches/003-no_docs.patch
new file mode 100644
index 0000000..ecfca2d
--- /dev/null
+++ b/external/subpack/net/apinger/patches/003-no_docs.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1,7 @@
+ 
+ EXTRA_DIST = autogen.sh TODO BUGS
+ 
+-SUBDIRS = src doc
++SUBDIRS = src
+ 
+ .PHONY: ChangeLog
+ 
diff --git a/external/subpack/net/apinger/patches/010-poll.patch b/external/subpack/net/apinger/patches/010-poll.patch
new file mode 100644
index 0000000..760079e
--- /dev/null
+++ b/external/subpack/net/apinger/patches/010-poll.patch
@@ -0,0 +1,24 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AC_HEADER_SYS_WAIT
+ AC_CHECK_HEADERS([arpa/inet.h errno.h malloc.h \
+ 		stddef.h stdlib.h string.h sys/socket.h \
+ 		sys/time.h syslog.h unistd.h time.h \
+-		assert.h sys/poll.h signal.h pwd.h grp.h stdarg.h\
++		assert.h poll.h signal.h pwd.h grp.h stdarg.h\
+ 		limits.h sys/wait.h sched.h sys/ioctl.h sys/uio.h])
+ AC_HEADER_TIME
+ 
+--- a/src/apinger.c
++++ b/src/apinger.c
+@@ -33,8 +33,8 @@
+ #ifdef HAVE_SYS_WAIT_H
+ # include <sys/wait.h>
+ #endif
+-#ifdef HAVE_SYS_POLL_H
+-# include <sys/poll.h>
++#ifdef HAVE_POLL_H
++# include <poll.h>
+ #endif
+ #ifdef HAVE_ARPA_INET_H
+ # include <arpa/inet.h>
diff --git a/external/subpack/net/apinger/patches/020-gcc10.patch b/external/subpack/net/apinger/patches/020-gcc10.patch
new file mode 100644
index 0000000..3272804
--- /dev/null
+++ b/external/subpack/net/apinger/patches/020-gcc10.patch
@@ -0,0 +1,11 @@
+--- a/src/apinger.h
++++ b/src/apinger.h
+@@ -111,7 +111,7 @@ struct piped_info {
+ };
+ #endif
+ 
+-struct target *targets;
++extern struct target *targets;
+ 
+ extern int foreground;
+ extern char *config_file;