dante: new package

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
[Thomas:
 - Add dependency on BR2_USE_MMU
 - Rewrap Config.in help text
 - PID file goes in /var/run/
 - Daemon to start is /usr/sbin/sockd, not /usr/sbin/dante
 - Remove staging installation, as it is not needed
 - Remove --enable-debug, since that's not what BR2_ENABLE_DEBUG is
   meant for
 - Install an example configuration file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Maxime Hadjinlian 2016-07-02 10:47:58 +02:00 committed by Thomas Petazzoni
parent 75d8977ba8
commit 467e3ea2b9
6 changed files with 103 additions and 0 deletions

View File

@ -1406,6 +1406,7 @@ menu "Networking applications"
source "package/crda/Config.in"
source "package/ctorrent/Config.in"
source "package/cups/Config.in"
source "package/dante/Config.in"
source "package/dhcp/Config.in"
source "package/dhcpcd/Config.in"
source "package/dhcpdump/Config.in"

11
package/dante/Config.in Normal file
View File

@ -0,0 +1,11 @@
config BR2_PACKAGE_DANTE
bool "dante"
depends on BR2_USE_MMU # fork()
help
Dante is a product developed by Inferno Nettverk A/S. It
consists of a SOCKS server and a SOCKS client, implementing
RFC 1928 and related standards. It is a flexible product
that can be used to provide convenient and secure network
connectivity.
http://www.inet.no/dante/

40
package/dante/S50dante Normal file
View File

@ -0,0 +1,40 @@
#!/bin/sh
#
# Starts dante
#
# Allow a few customizations from a config file
test -r /etc/default/dante && . /etc/default/dante
start() {
printf "Starting dante: "
start-stop-daemon -S -q -p /var/run/dante.pid \
--exec /usr/sbin/sockd -- $DAEMON_ARGS
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping dante: "
start-stop-daemon -K -q -p /var/run/dante.pid
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

2
package/dante/dante.hash Normal file
View File

@ -0,0 +1,2 @@
# Locally computed
sha256 b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53 dante-1.4.1.tar.gz

34
package/dante/dante.mk Normal file
View File

@ -0,0 +1,34 @@
################################################################################
#
# dante
#
################################################################################
DANTE_VERSION = 1.4.1
DANTE_SITE = http://www.inet.no/dante/files
DANTE_LICENSE = BSD-3c
DANTE_LICENSE_FILES = LICENSE
# Dante uses a *VERY* old configure.ac
DANTE_LIBTOOL_PATCH = NO
DANTE_CONF_OPTS += --disable-client --disable-preload
define DANTE_INSTALL_CONFIG_FILE
$(INSTALL) -D -m 644 $(@D)/example/sockd.conf \
$(TARGET_DIR)/etc/sockd.conf
endef
DANTE_POST_INSTALL_TARGET_HOOKS += DANTE_INSTALL_CONFIG_FILE
define DANTE_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/dante/dante.service \
$(TARGET_DIR)/usr/lib/systemd/system/dante.service
endef
define DANTE_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/dante/S50dante \
$(TARGET_DIR)/etc/init.d/S50dante
endef
$(eval $(autotools-package))

View File

@ -0,0 +1,15 @@
[Unit]
Description=SOCKS v4 and v5 compatible proxy server and client
Requires=network.target
After=network.target
[Service]
Type=forking
EnvironmentFile=-/etc/default/dante
PIDFile=/run/dante.pid
ExecStart=/usr/sbin/sockd -D -p /run/dante.pid $DAEMON_ARGS
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target