pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

quassel: add quasselcore rc script



Module Name:	pkgsrc-wip
Committed By:	kikadf <kikadf.01%gmail.com@localhost>
Pushed By:	kikadf
Date:		Wed Apr 30 17:52:25 2025 +0200
Changeset:	a515b40248ee13100abb0903faa8097b5187ff9b

Modified Files:
	quassel/Makefile
Added Files:
	quassel/files/quasselcore.sh

Log Message:
quassel: add quasselcore rc script

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a515b40248ee13100abb0903faa8097b5187ff9b

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 quassel/Makefile             | 16 ++++++++++-
 quassel/files/quasselcore.sh | 63 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 1 deletion(-)

diffs:
diff --git a/quassel/Makefile b/quassel/Makefile
index 878886a1ae..5e20cbff3f 100644
--- a/quassel/Makefile
+++ b/quassel/Makefile
@@ -12,7 +12,6 @@ COMMENT=	Modern, cross-platform, distributed IRC client
 LICENSE=	gnu-gpl-v2 OR gnu-gpl-v3
 
 USE_TOOLS+=	bash perl
-USE_CMAKE=	yes
 USE_LANGUAGES=	c c++
 
 USE_CXX_FEATURES+=	c++14
@@ -25,7 +24,22 @@ REPLACE_PERL+=	data/scripts/mpris
 
 LDFLAGS.SunOS+=	-lsocket -lnsl
 
+.include "../../mk/bsd.prefs.mk"
+RCD_SCRIPTS=	quasselcore
+
+.if ${INIT_SYSTEM} == "rc.d"
+DEPENDS+=	daemonize-[0-9]*:../../sysutils/daemonize
+.endif
+
+QUASSELCORE_USER?=	quasselcore
+QUASSELCORE_GROUP?=	quasselcore
+PKG_GROUPS=		${QUASSELCORE_GROUP}
+PKG_USERS=		${QUASSELCORE_USER}:${QUASSELCORE_GROUP}
+PKG_GROUPS_VARS=	QUASSELCORE_GROUP
+PKG_USERS_VARS=		QUASSELCORE_USER
+
 .include "options.mk"
+.include "../../devel/cmake/build.mk"
 .include "../../sysutils/desktop-file-utils/desktopdb.mk"
 .include "../../graphics/hicolor-icon-theme/buildlink3.mk"
 .include "../../databases/openldap-client/buildlink3.mk"
diff --git a/quassel/files/quasselcore.sh b/quassel/files/quasselcore.sh
new file mode 100644
index 0000000000..071d864bf0
--- /dev/null
+++ b/quassel/files/quasselcore.sh
@@ -0,0 +1,63 @@
+#!@RCD_SCRIPTS_SHELL@
+
+# PROVIDE: quasselcore
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+# User-settable rc.conf variables and their default values:
+: ${quasselcore_data:="@VARBASE@/db/quasselcore"}
+: ${quasselcore_log:="@VARBASE@/log/quasselcore.log"}
+: ${quasselcore_listen:="0.0.0.0,::"}
+: ${quasselcore_args:="--configdir=${quasselcore_data} --logfile=${quasselcore_log} --listen=${quasselcore_listen}"}
+: ${quasselcore_user:="@QUASSELCORE_USER@"}
+: ${quasselcore_group:="@QUASSELCORE_GROUP@"}
+
+name="quasselcore"
+rcvar="${name}"
+pidfile="@VARBASE@/run/${name}/${name}.pid"
+command="@PREFIX@/sbin/daemonize"
+procname="@PREFIX@/bin/${name}"
+command_args="${command_args} -p ${pidfile}"
+command_args="${command_args} ${procname} ${quasselcore_args}"
+start_precmd="${name}_prestart"
+keygen_cmd="${name}_keygen"
+extra_commands="keygen"
+
+quasselcore_keygen()
+{
+	cat > /tmp/.mkcert.cfg <<EOT
+[req]
+distinguished_name		= req_distinguished_name
+prompt				= no
+[req_distinguished_name]
+countryName			= VA
+stateOrProvinceName		= Valinor
+localityName			= Valimar
+organizationName		= Valimar Industry Ltd
+EOT
+	openssl req -config /tmp/.mkcert.cfg \
+		-x509 -nodes -days 365 -newkey rsa:4096 \
+		-keyout "${quasselcore_data}/quasselCert.pem" \
+		-out "${quasselcore_data}/quasselCert.pem"
+	chown ${quasselcore_user}:${quasselcore_group} "${quasselcore_data}/quasselCert.pem"
+	chmod 400 "${quasselcore_data}/quasselCert.pem"
+	rm -f /tmp/.mkcert.cfg
+}
+
+uasselcore_prestart()
+{
+	install -d -o ${quasselcore_user} -g ${quasselcore_group} ${quasselcore_data}
+	install -d -o ${quasselcore_user} -g ${quasselcore_group} @VARBASE@/run/${name}
+
+	if [ ! -f "${quasselcore_log}" ]; then
+		install -o ${quasselcore_user} -g ${quasselcore_group} /dev/null ${quasselcore_log}
+	fi
+	if [ ! -f "${quasselcore_data}/quasselCert.pem" ]; then
+		quasselcore_keygen
+	fi
+}
+
+load_rc_config ${name}
+run_rc_command "$1"


Home | Main Index | Thread Index | Old Index