Skip to content

Commit

Permalink
app-misc/fhem: update systemd init script
Browse files Browse the repository at this point in the history
Type must be forking.

Closes: https://bugs.gentoo.org/798318
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Conrad Kostecki <[email protected]>
  • Loading branch information
ConiKost committed Jun 25, 2021
1 parent accb969 commit 0cb1146
Show file tree
Hide file tree
Showing 2 changed files with 117 additions and 0 deletions.
103 changes: 103 additions & 0 deletions app-misc/fhem/fhem-6.0-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit systemd tmpfiles

DESCRIPTION="A GPL'd perl server for house automation"
HOMEPAGE="https://www.fhem.de/"
SRC_URI="https://www.fhem.de/${P}.tar.gz"

LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc"

RDEPEND="
acct-group/fhem
acct-user/fhem
dev-perl/Crypt-CBC
dev-perl/Device-SerialPort
dev-perl/Digest-CRC
dev-perl/JSON
"

DEPEND="media-gfx/pngcrush"

src_prepare() {
default

# Allow install path to be set by DESTDIR in Makefile
sed -i -e 's,^\(BINDIR=\),\1'\$\(DESTDIR\)',' Makefile || die

# Remove docs in Makefile, as they will be installed manually
sed -i -e 's/docs//g' Makefile || die
sed -i -e '/README_DEMO.txt/d' Makefile || die

# Remove manpage in Makefile, as it will be installed manually
sed -i -e '/fhem.pl.1/d' Makefile || die

# Remove lcd4linux binaries, as they are provied by app-misc/lcd4linux
rm -r contrib/lcd4linux || die

# Remove log dir, as it will be replaced with a symlink
rm -r log || die

# Fix fhemicon_darksmall.png, as it reports "broken IDAT window length"
# Reported to Upstream: https://forum.fhem.de/index.php/topic,86238.0.html
pngcrush -fix -force -ow www/images/default/fhemicon_darksmall.png || die

cp "${FILESDIR}"/fhem.cfg fhem.cfg || die
}

src_compile() {
:
}

src_install() {
local DOCS=(
"CHANGED"
"HISTORY"
"MAINTAINER.txt"
"README.SVN"
"README_DEMO.txt"
"docs"/*.txt
"docs"/*.patch
"docs"/*.pdf
"docs/changelog"
"docs/copyright"
"docs/dotconfig"
"docs/fhem.odg.readme"
"docs/LIESMICH.update-thirdparty"
"docs"/README*
"docs/X10"
)

if use doc; then
local DOCS+=( "docs/X10" )
local HTML_DOCS=( "docs/"*.eps "docs/"*.html "docs"/*.jpg "docs"/*.js "docs"/*.odg "docs/"*.png "docs/km271" )
fi

diropts -o fhem -g fhem
keepdir "/var/lib/fhem"
keepdir "/var/log/fhem"
diropts

dosym ../../var/lib/fhem /opt/fhem/data
dosym ../../var/log/fhem /opt/fhem/log

default

newinitd "${FILESDIR}"/fhem.initd fhem

systemd_newunit "${FILESDIR}"/fhem.service-r1 fhem.service
newtmpfiles "${FILESDIR}"/fhem.tmpfiles fhem.conf

newman docs/fhem.man fhem.pl.1

echo 'CONFIG_PROTECT="/opt/fhem /var/lib/fhem"' > "${T}"/99fhem || die
doenvd "${T}"/99fhem

fowners fhem:fhem /opt/fhem/fhem.cfg
}
14 changes: 14 additions & 0 deletions app-misc/fhem/files/fhem.service-r1
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[Unit]
Description=FHEM Home Automation
After=network-online.target

[Service]
Type=forking
User=fhem
Group=fhem
WorkingDirectory=/opt/fhem
ExecStart=/opt/fhem/fhem.pl /opt/fhem/fhem.cfg
Restart=always

[Install]
WantedBy=multi-user.target

0 comments on commit 0cb1146

Please sign in to comment.