From 21782e92ea12297f648d670aeae2d409e629245c Mon Sep 17 00:00:00 2001 From: Shin'ya Minazuki Date: Mon, 6 Jul 2026 13:24:15 -0300 Subject: [PATCH] games-engines/ioquake3: add user/group for dedicated server USE flag Signed-off-by: Shin'ya Minazuki --- acct-group/ioq3ded/ioq3ded-0.ebuild | 6 ++++++ acct-user/ioq3ded/ioq3ded-0.ebuild | 12 ++++++++++++ games-engines/ioquake3/files/ioq3ded.initd-r0 | 13 +++++++++++++ .../ioquake3/ioquake3-1.36.20260309.ebuild | 9 ++++++++- games-engines/ioquake3/ioquake3-1.36.9999.ebuild | 10 ++++++++-- 5 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 acct-group/ioq3ded/ioq3ded-0.ebuild create mode 100644 acct-user/ioq3ded/ioq3ded-0.ebuild create mode 100644 games-engines/ioquake3/files/ioq3ded.initd-r0 diff --git a/acct-group/ioq3ded/ioq3ded-0.ebuild b/acct-group/ioq3ded/ioq3ded-0.ebuild new file mode 100644 index 0000000..6d47c62 --- /dev/null +++ b/acct-group/ioq3ded/ioq3ded-0.ebuild @@ -0,0 +1,6 @@ +# Copyright 2026 Shin'ya Minazuki +EAPI=8 + +inherit acct-group + +ACCT_GROUP_ID=-1 diff --git a/acct-user/ioq3ded/ioq3ded-0.ebuild b/acct-user/ioq3ded/ioq3ded-0.ebuild new file mode 100644 index 0000000..9739da0 --- /dev/null +++ b/acct-user/ioq3ded/ioq3ded-0.ebuild @@ -0,0 +1,12 @@ +# Copyright 2026 Shin'ya Minazuki +EAPI=8 + +inherit acct-user + +DESCRIPTION="ioquake3 dedicated server" +ACCT_USER_ID=-1 +ACCT_USER_GROUPS=( ioq3ded ) +ACCT_USER_HOME="/var/lib/ioquake3" +ACCT_USER_SHELL="/bin/sh" + +acct-user_add_deps diff --git a/games-engines/ioquake3/files/ioq3ded.initd-r0 b/games-engines/ioquake3/files/ioq3ded.initd-r0 new file mode 100644 index 0000000..7f9feb6 --- /dev/null +++ b/games-engines/ioquake3/files/ioq3ded.initd-r0 @@ -0,0 +1,13 @@ +#!/sbin/openrc-run +# Copyright 2026 Shin'ya Minazuki + +supervisor="supervise-daemon" +command="/usr/bin/ioq3ded" +command_background="true" +command_user="ioq3ded" +directory="/var/lib/ioquake3" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + need net +} diff --git a/games-engines/ioquake3/ioquake3-1.36.20260309.ebuild b/games-engines/ioquake3/ioquake3-1.36.20260309.ebuild index 47a50d4..0f9f8d2 100644 --- a/games-engines/ioquake3/ioquake3-1.36.20260309.ebuild +++ b/games-engines/ioquake3/ioquake3-1.36.20260309.ebuild @@ -25,6 +25,10 @@ DEPEND=" media-libs/opus media-libs/opusfile ) + server? ( + acct-group/ioq3ded + acct-user/ioq3ded + ) media-libs/libjpeg-turbo media-libs/libsdl2 sys-libs/zlib @@ -72,7 +76,10 @@ src_configure() { src_install() { cmake_src_install use client && make_wrapper ${PN} "/usr/$(get_libdir)/${PN}/${PN}" - use server && make_wrapper ioq3ded "/usr/$(get_libdir)/${PN}/ioq3ded" + if use server; then + make_wrapper ioq3ded "/usr/$(get_libdir)/${PN}/ioq3ded" + newinitd "${FILESDIR}/ioq3ded.initd-r0" ioq3ded + fi } pkg_postinst() { diff --git a/games-engines/ioquake3/ioquake3-1.36.9999.ebuild b/games-engines/ioquake3/ioquake3-1.36.9999.ebuild index c89ce5b..f5972d1 100644 --- a/games-engines/ioquake3/ioquake3-1.36.9999.ebuild +++ b/games-engines/ioquake3/ioquake3-1.36.9999.ebuild @@ -24,6 +24,10 @@ DEPEND=" media-libs/opus media-libs/opusfile ) + server? ( + acct-group/ioq3ded + acct-user/ioq3ded + ) media-libs/libjpeg-turbo media-libs/libsdl2 sys-libs/zlib @@ -67,8 +71,10 @@ src_configure() { src_install() { cmake_src_install use client && make_wrapper ${PN} "/usr/$(get_libdir)/${PN}/${PN}" - use server && make_wrapper ioq3ded "/usr/$(get_libdir)/${PN}/ioq3ded" - + if use server; then + make_wrapper ioq3ded "/usr/$(get_libdir)/${PN}/ioq3ded" + newinitd "${FILESDIR}/ioq3ded.initd-r0" ioq3ded + fi } pkg_postinst() {