net-misc/sslh: revision bump adding systemd support

This new revision builds the systemd generator and installs the systemd service.

It also renames OPTIONS to DAEMON_OPTS in the sslh conf.d file for compatibility
with the systemd service which sources it.

Gentoo-bug: 563600
This commit is contained in:
Craig Andrews
2016-06-24 18:24:34 -04:00
committed by Michael Palimaka
parent 09caee99e7
commit f51fc3240b
5 changed files with 102 additions and 3 deletions

View File

@@ -0,0 +1,26 @@
https://patch-diff.githubusercontent.com/raw/yrutschle/sslh/pull/98
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,8 @@ CFLAGS ?=-Wall -g $(CFLAGS_COV)
LIBS=
OBJS=common.o sslh-main.o probe.o tls.o
+CONDITIONAL_TARGETS=
+
ifneq ($(strip $(USELIBWRAP)),)
LIBS:=$(LIBS) -lwrap
CPPFLAGS+=-DLIBWRAP
@@ -54,10 +56,11 @@ endif
ifneq ($(strip $(USESYSTEMD)),)
LIBS:=$(LIBS) -lsystemd
CPPFLAGS+=-DSYSTEMD
+ CONDITIONAL_TARGETS+=systemd-sslh-generator
endif
-all: sslh $(MAN) echosrv
+all: sslh $(MAN) echosrv $(CONDITIONAL_TARGETS)
.c.o: *.h
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<

View File

@@ -0,0 +1,13 @@
make sure the files using version.h depend on it being generated first
--- a/Makefile
+++ b/Makefile
@@ -78,7 +78,7 @@
systemd-sslh-generator: systemd-sslh-generator.o
$(CC) $(CFLAGS) $(LDFLAGS) -o systemd-sslh-generator systemd-sslh-generator.o -lconfig
-echosrv: $(OBJS) echosrv.o
+echosrv: version.h $(OBJS) echosrv.o
$(CC) $(CFLAGS) $(LDFLAGS) -o echosrv echosrv.o probe.o common.o tls.o $(LIBS)
$(MAN): sslh.pod Makefile

View File

@@ -1,8 +1,8 @@
# /etc/conf.d/sslh
# Options to sslh itself. See the sslh(1) man page.
#OPTIONS=""
#DAEMON_OPTS=""
# Multiplexing example
# Port 44 can be used for ssh, http, and https. Drop privileges after starting.
#OPTIONS="-p localhost:44 --ssh 127.0.0.1:22 --http 127.0.0.1:80 --ssl 127.0.0.1:443 --user nobody"
#DAEMON_OPTS="-p localhost:44 --ssh 127.0.0.1:22 --http 127.0.0.1:80 --ssl 127.0.0.1:443 --user nobody"

View File

@@ -8,7 +8,7 @@ start() {
start-stop-daemon --start \
--pidfile /var/run/${SVCNAME}.pid \
--exec /usr/sbin/sslh -- \
${OPTIONS} \
${DAEMON_OPTS} \
--pidfile /var/run/${SVCNAME}.pid
eend $?
}

View File

@@ -0,0 +1,60 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
MY_P="${PN}-v${PV}"
inherit systemd toolchain-funcs
DESCRIPTION="Port multiplexer - accept both HTTPS and SSH connections on the same port"
HOMEPAGE="http://www.rutschle.net/tech/sslh.shtml"
SRC_URI="http://www.rutschle.net/tech/${PN}/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~m68k ~mips ~s390 ~sh ~x86"
IUSE="caps systemd tcpd"
RDEPEND="caps? ( sys-libs/libcap )
systemd? ( sys-apps/systemd:= )
tcpd? ( sys-apps/tcp-wrappers )
dev-libs/libconfig"
DEPEND="${RDEPEND}
dev-lang/perl"
RESTRICT="test"
S=${WORKDIR}/${MY_P}
PATCHES=(
"${FILESDIR}/${PN}-1.17-version-deps.patch"
"${FILESDIR}/${PN}-1.18-version-deps.patch"
"${FILESDIR}/${PN}-1.18-systemd-generator.patch"
)
src_compile() {
emake \
CC="$(tc-getCC)" \
USELIBCAP=$(usev caps) \
USELIBWRAP=$(usev tcpd) \
USESYSTEMD=$(usev systemd)
}
src_install() {
dosbin sslh-{fork,select}
dosym sslh-fork /usr/sbin/sslh
doman sslh.8.gz
dodoc ChangeLog README.md
newinitd "${FILESDIR}"/sslh.init.d-2 sslh
newconfd "${FILESDIR}"/sslh.conf.d-2 sslh
if use systemd; then
# Gentoo puts the binaries in /usr/sbin, but upstream puts them in /usr/bin
sed -i -e 's~/usr/bin/~/usr/sbin/~g' scripts/systemd.sslh.service || die
systemd_newunit scripts/systemd.sslh.service sslh.service
exeinto /usr/lib/systemd/system-generators/
doexe systemd-sslh-generator
fi
}