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