tang: Add package into tree

Tang is lightweight server for binding data to network presence.
---
Tang's source: https://github.com/latchset/tang

Maintainer: @Tiboris

Compile tested: (mips, TL-WR842N, 17.01.4, r3560-79f57e422d)

**Tang requires a few other software libraries:**

1. libhttp-parser
2. xinetd's socket activation
3. jose >= 8

**Two new files compared to tang upstream:**
- tangdx : configuration file for xinetd
- tangdw : wrapper for tangd service
	- puts timestamp when service activated, and
	- redirects stderr to log file in /var/log/

**Removed systemd requirement**

Signed-off-by: Tibor Dudlák <tdudlak@redhat.com>
This commit is contained in:
Tibor Dudlák
2018-01-14 21:37:13 +01:00
parent 3b65a21c7c
commit b99d701318
6 changed files with 181 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
diff --git a/Makefile.am b/Makefile.am
index 14bf91d..dfa6d07 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,3 @@
-DISTCHECK_CONFIGURE_FLAGS = --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
-
AM_CFLAGS = @TANG_CFLAGS@ @jose_CFLAGS@
LDADD = @jose_LIBS@ @http_parser_LIBS@
@@ -7,21 +5,11 @@ nagiosdir = $(libdir)/nagios/plugins
cachedir = $(localstatedir)/cache/$(PACKAGE_NAME)
jwkdir = $(localstatedir)/db/$(PACKAGE_NAME)
-nodist_systemdsystemunit_DATA = \
- units/tangd@.service \
- units/tangd.socket \
- units/tangd-update.path \
- units/tangd-update.service \
- units/tangd-keygen.service
-
dist_libexec_SCRIPTS = src/tangd-update src/tangd-keygen
libexec_PROGRAMS = src/tangd
-nagios_PROGRAMS = src/tang
-man1_MANS = doc/tang-nagios.1
man8_MANS = doc/tang.8
src_tangd_SOURCES = src/http.c src/http.h src/tangd.c
-src_tang_SOURCES = src/nagios.c
%: %.in
$(AM_V_GEN)mkdir -p "`dirname "$@"`"
@@ -32,11 +20,9 @@ src_tang_SOURCES = src/nagios.c
$(srcdir)/$@.in > $@
AM_TESTS_ENVIRONMENT = SD_ACTIVATE="@SD_ACTIVATE@" PATH=$(srcdir)/src:$(builddir)/src:$(PATH)
-TESTS = tests/adv tests/rec tests/nagios
+TESTS = tests/adv tests/rec
-CLEANFILES = $(nodist_systemdsystemunit_DATA)
EXTRA_DIST = \
- $(foreach unit,$(nodist_systemdsystemunit_DATA),$(unit).in) \
COPYING \
$(TESTS) \
$(man1_MANS) \
@@ -0,0 +1,37 @@
diff --git a/configure.ac b/configure.ac
index b51bb31..4b37d30 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,32 +27,6 @@ AC_CHECK_LIB([http_parser], [http_parser_execute],
[AC_MSG_ERROR([http-parser required!])])
PKG_CHECK_MODULES([jose], [jose >= 8])
-PKG_CHECK_MODULES([systemd], [systemd])
-
-AC_ARG_WITH([systemdsystemunitdir],
- [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],
- [],
- [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
-
-AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
-
-for ac_prog in systemd-socket-activate systemd-activate; do
- AC_CHECK_PROG([SD_ACTIVATE], [$ac_prog], [$as_dir/$ac_prog], [],
- [$PATH$PATH_SEPARATOR$($PKG_CONFIG --variable=systemdutildir systemd)])
- test -n "$SD_ACTIVATE" && break
-done
-
-test -n "$SD_ACTIVATE" || AC_MSG_ERROR([systemd-socket-activate required!])
-
-AC_MSG_CHECKING([systemd-socket-activate inetd flag])
-if $SD_ACTIVATE --help | grep -q inetd; then
- SD_ACTIVATE="$SD_ACTIVATE --inetd"
- AC_MSG_RESULT([--inetd])
-else
- AC_MSG_RESULT([(default)])
-fi
-
-AC_SUBST(SD_ACTIVATE)
TANG_CFLAGS="\
-Wall \
@@ -0,0 +1,15 @@
diff --git a/src/tangd-update b/src/tangd-update
index 652dbef..01aa842 100755
--- a/src/tangd-update
+++ b/src/tangd-update
@@ -33,8 +33,8 @@ fi
[ ! -d "$2" ] && mkdir -p -m 0700 "$2"
-src=`realpath "$1"`
-dst=`realpath "$2"`
+src=`readlink -f "$1"`
+dst=`readlink -f "$2"`
payl=()
sign=()