mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-23 05:53:12 -04:00
net-im/heisenbridge: update OpenRC service
* Use supervise-daemon instead of s-s-d * Log to syslog * Allow to pass additional command-line options Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
24
net-im/heisenbridge/files/heisenbridge.confd-r1
Normal file
24
net-im/heisenbridge/files/heisenbridge.confd-r1
Normal file
@@ -0,0 +1,24 @@
|
||||
# Homeserver
|
||||
# Must be set
|
||||
HOMESERVER="https://example.com"
|
||||
|
||||
# Path to the registration file
|
||||
# Default: /var/lib/heisenbridge/registration.yaml
|
||||
#REGISTRATION="/var/lib/heisenbridge/registration.yaml"
|
||||
|
||||
# Listen address
|
||||
# Default: 127.0.0.1
|
||||
#LISTEN_ADDRESS="127.0.0.1"
|
||||
|
||||
# Listen port
|
||||
# Default: 9898
|
||||
#LISTEN_PORT=9898
|
||||
|
||||
# Owner
|
||||
# Generally should be the admin of the home server
|
||||
# For example: @user:home.server
|
||||
# Default: not set
|
||||
#OWNER="@user:example.com"
|
||||
|
||||
# Additional command-line options for Heisenbridge
|
||||
#HEISENBRIDGE_OPTS=""
|
||||
30
net-im/heisenbridge/files/heisenbridge.initd-r1
Normal file
30
net-im/heisenbridge/files/heisenbridge.initd-r1
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
#
|
||||
# shellcheck shell=sh
|
||||
|
||||
description="Bouncer-style Matrix IRC bridge"
|
||||
|
||||
supervisor="supervise-daemon"
|
||||
command="/usr/bin/python"
|
||||
command_args="-m heisenbridge \
|
||||
-c ${REGISTRATION:-/var/lib/heisenbridge/registration.yaml} \
|
||||
${LISTEN_ADDRESS+-l ${LISTEN_ADDRESS}} \
|
||||
${LISTEN_PORT+-p ${LISTEN_PORT}} \
|
||||
${OWNER+-o ${OWNER}} \
|
||||
-u heisenbridge -g heisenbridge \
|
||||
${HEISENBRIDGE_OPTS} ${HOMESERVER}"
|
||||
pidfile="/run/${RC_SVCNAME}.pid"
|
||||
|
||||
output_logger="logger -p daemon.info -t heisenbridge --"
|
||||
error_logger="logger -p daemon.err -t heisenbridge --"
|
||||
|
||||
depend() {
|
||||
use dns logger
|
||||
need net
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath -d -m 0755 -o heisenbridge:heisenbridge /var/lib/heisenbridge
|
||||
}
|
||||
66
net-im/heisenbridge/heisenbridge-1.15.2-r1.ebuild
Normal file
66
net-im/heisenbridge/heisenbridge-1.15.2-r1.ebuild
Normal file
@@ -0,0 +1,66 @@
|
||||
# Copyright 2022-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
inherit distutils-r1 systemd
|
||||
|
||||
DESCRIPTION="Bouncer-style Matrix IRC bridge"
|
||||
HOMEPAGE="https://github.com/hifi/heisenbridge"
|
||||
SRC_URI="https://github.com/hifi/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="
|
||||
acct-user/heisenbridge
|
||||
<dev-python/aiohttp-4[${PYTHON_USEDEP}]
|
||||
dev-python/async-timeout[${PYTHON_USEDEP}]
|
||||
dev-python/irc[${PYTHON_USEDEP}]
|
||||
>=dev-python/mautrix-0.20.5[${PYTHON_USEDEP}]
|
||||
dev-python/python-socks[${PYTHON_USEDEP}]
|
||||
dev-python/ruamel-yaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/heisenbridge-1.14.1-qanotice.patch"
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
distutils-r1_src_prepare
|
||||
echo ${PV} > ${PN}/version.txt || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
|
||||
newinitd "${FILESDIR}"/heisenbridge.initd-r1 ${PN}
|
||||
newconfd "${FILESDIR}"/heisenbridge.confd-r1 ${PN}
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
[[ -f "${EPREFIX}"/var/lib/${PN}/registration.yaml ]] && return 0
|
||||
|
||||
einfo
|
||||
elog "Before you can use ${PN}, you have to configure it correctly."
|
||||
elog "The configuration file is located at /etc/conf.d/${PN}"
|
||||
elog
|
||||
elog "Then, you must generate the registration file using the following command:"
|
||||
elog "* If you are using Synapse:"
|
||||
elog "\t${PN} -c /var/lib/${PN}/registration.yaml --generate https://example.com"
|
||||
elog "* If you are using Dendrite, Conduit or others:"
|
||||
elog "\t${PN} -c /var/lib/${PN}/registration.yaml --generate-compat https://example.com"
|
||||
elog
|
||||
elog "Notice the URL at the end, replace it with your homeserver's URL."
|
||||
elog "Then, you must register the bridge with your homeserver."
|
||||
elog "Refer to your homeserver's documentation for instructions."
|
||||
elog "The registration file is located at /var/lib/${PN}/registration.yaml"
|
||||
elog "Finally, you may start the ${PN} daemon."
|
||||
einfo
|
||||
}
|
||||
Reference in New Issue
Block a user