commit: 08b411e7498d7a0a454c3ce2a883ed1fafa69675
Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Sun Apr 20 05:15:06 2025 +0000
Commit: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Mon Apr 21 09:02:33 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=08b411e7
net-irc/pounce: update OpenRC service
* Run as a non-privileged user
* Use supervise-daemon instead of s-s-d
* Log to syslog
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>
net-irc/pounce/files/pounce.confd-r1 | 5 +++
net-irc/pounce/files/pounce.initd-r1 | 33 ++++++++++++++++++++
net-irc/pounce/pounce-3.1-r1.ebuild | 60 ++++++++++++++++++++++++++++++++++++
3 files changed, 98 insertions(+)
diff --git a/net-irc/pounce/files/pounce.confd-r1
b/net-irc/pounce/files/pounce.confd-r1
new file mode 100644
index 000000000..cbd98a787
--- /dev/null
+++ b/net-irc/pounce/files/pounce.confd-r1
@@ -0,0 +1,5 @@
+# Configuration file.
+POUNCE_CONFIG="/etc/pounce/example.conf"
+
+# Configure the user[:group] pounce will run as.
+#POUNCE_USER="pounce:pounce"
diff --git a/net-irc/pounce/files/pounce.initd-r1
b/net-irc/pounce/files/pounce.initd-r1
new file mode 100644
index 000000000..ea81c207b
--- /dev/null
+++ b/net-irc/pounce/files/pounce.initd-r1
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# shellcheck shell=sh
+
+extra_started_commands="reload"
+
+description="IRC bouncer"
+description_reload="Refresh TLS keys"
+
+supervisor="supervise-daemon"
+command="/usr/bin/pounce"
+command_args="${POUNCE_CONFIG:-/etc/pounce/pounce.conf}"
+command_user="${POUNCE_USER:-pounce:pounce}"
+pidfile="/run/pounce/${RC_SVCNAME}.pid"
+output_logger="logger -p daemon.info -t pounce --"
+error_logger="logger -p daemon.err -t pounce --"
+
+depend() {
+ use dns logger
+ need net
+}
+
+start_pre() {
+ checkpath -d -o "${command_user}" /run/pounce
+}
+
+reload() {
+ ebegin "Refreshing ${RC_SVCNAME} keys"
+ start-stop-daemon --signal SIGUSR1 --pidfile "${pidfile}"
+ eend $? "Failed to reload ${RC_SVCNAME}"
+}
diff --git a/net-irc/pounce/pounce-3.1-r1.ebuild
b/net-irc/pounce/pounce-3.1-r1.ebuild
new file mode 100644
index 000000000..f19a60bea
--- /dev/null
+++ b/net-irc/pounce/pounce-3.1-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs
+
+DESCRIPTION="Multi-client, TLS-only IRC bouncer"
+HOMEPAGE="https://git.causal.agency/pounce/about/"
+SRC_URI="https://git.causal.agency/${PN}/snapshot/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="palaver"
+
+DEPEND="
+ dev-libs/libretls:=
+ virtual/libcrypt:=
+ palaver? (
+ dev-db/sqlite:3
+ net-misc/curl
+ )
+"
+RDEPEND="${DEPEND}
+ acct-user/pounce
+"
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( {QUIRKS,README}.7 )
+
+src_configure() {
+ tc-export CC
+
+ local confargs=(
+ --enable-notify
+ $(use_enable palaver)
+
+ --prefix="${EPREFIX}/usr"
+ --mandir="${EPREFIX}/usr/share/man"
+ )
+
+ # note: not an autoconf configure script
+ edo ./configure "${confargs[@]}"
+}
+
+src_compile() {
+ emake all
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ einstalldocs
+
+ newinitd "${FILESDIR}"/pounce.initd-r1 pounce
+ newconfd "${FILESDIR}"/pounce.confd-r1 pounce
+
+ insinto /etc/pounce
+ doins "${FILESDIR}"/example.conf
+}