public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-irc/ngircd/files/, net-irc/ngircd/
Date: Sun, 20 Feb 2022 21:10:20 +0000 (UTC)	[thread overview]
Message-ID: <1645391037.df75ebf4605ac1b0b38f1025bb965d1dffb07431.sam@gentoo> (raw)

commit:     df75ebf4605ac1b0b38f1025bb965d1dffb07431
Author:     Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Sat Feb 19 21:00:26 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Feb 20 21:03:57 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df75ebf4

net-irc/ngircd: add new OpenRC service

Ebuild changes (r3):
* update EAPI 7 -> 8
* uncomment PIDFile, ServerUID and ServerGID
* correct ngircd.conf's owner

Service changes (r2):
* use pidfile
* use declarative config
* add configtest command
* add reload command

Signed-off-by: Anna Vyalkova <cyber+gentoo <AT> sysrq.in>
Closes: https://github.com/gentoo/gentoo/pull/24277
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-irc/ngircd/files/ngircd.conf.d    |   8 +++
 net-irc/ngircd/files/ngircd.init-r2.d |  52 ++++++++++++++++
 net-irc/ngircd/ngircd-26.1-r3.ebuild  | 111 ++++++++++++++++++++++++++++++++++
 3 files changed, 171 insertions(+)

diff --git a/net-irc/ngircd/files/ngircd.conf.d b/net-irc/ngircd/files/ngircd.conf.d
new file mode 100644
index 000000000000..6088e5dae69a
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd.conf.d
@@ -0,0 +1,8 @@
+# Configuration file
+#NGIRCD_CONFIGFILE="/etc/ngircd/ngircd.conf"
+
+# PID file
+#NGIRCD_PIDFILE="/var/run/ngircd/ngircd.pid"
+
+# Options for ngircd
+#NGIRCD_OPTS="-d -s"

diff --git a/net-irc/ngircd/files/ngircd.init-r2.d b/net-irc/ngircd/files/ngircd.init-r2.d
new file mode 100644
index 000000000000..1a54154ff417
--- /dev/null
+++ b/net-irc/ngircd/files/ngircd.init-r2.d
@@ -0,0 +1,52 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="configtest"
+extra_started_commands="reload"
+
+description="IRC server"
+description_configtest="Run ngircd's internal config check."
+description_reload="Reload the ngircd's configuration."
+
+: ${NGIRCD_CONFIGFILE:=/etc/ngircd/${RC_SVCNAME}.conf}
+
+command="/usr/sbin/ngircd"
+command_args="${NGIRCD_OPTS} -f \"${NGIRCD_CONFIGFILE}\""
+command_args_foreground="-n"
+command_user="ngircd:ngircd"
+pidfile="${NGIRCD_PIDFILE:-/var/run/ngircd/${RC_SVCNAME}.pid}"
+
+depend() {
+	need net
+	use logger
+	provide ircd
+}
+
+start_pre() {
+	checkpath -f "${pidfile}" -o ${command_user} || return 1
+	if [ "${RC_CMD}" != "restart" ]; then
+		configtest || return 1
+	fi
+}
+
+stop_pre() {
+	if [ "${RC_CMD}" = "restart" ]; then
+		configtest || return 1
+	fi
+}
+
+reload() {
+	configtest || return 1
+	ebegin "Refreshing ${RC_SVCNAME}'s configuration"
+	start-stop-daemon --signal SIGHUP --pidfile "${pidfile}"
+	eend $? "Failed to reload ${RC_SVCNAME}"
+}
+
+configtest() {
+	ebegin "Checking ${RC_SVCNAME}'s configuration"
+	# "press enter to continue"
+	echo | ${command} -f "${NGIRCD_CONFIGFILE}" -t >/dev/null
+
+	eend $? "failed, please correct errors in the config file"
+}

diff --git a/net-irc/ngircd/ngircd-26.1-r3.ebuild b/net-irc/ngircd/ngircd-26.1-r3.ebuild
new file mode 100644
index 000000000000..579814e2b0e5
--- /dev/null
+++ b/net-irc/ngircd/ngircd-26.1-r3.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/alexbarton.asc"
+inherit verify-sig
+
+DESCRIPTION="An IRC server written from scratch"
+HOMEPAGE="https://ngircd.barton.de/"
+SRC_URI="https://arthur.barton.de/pub/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( https://arthur.barton.de/pub/${PN}/${P}.tar.gz.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~x64-macos"
+IUSE="debug gnutls ident irc-plus +ipv6 pam +ssl strict-rfc tcpd test zlib"
+
+# Flaky test needs investigation (bug 719256)
+RESTRICT="test"
+
+RDEPEND="
+	acct-user/ngircd
+	irc-plus? ( virtual/libiconv )
+	ident? ( net-libs/libident )
+	pam? ( sys-libs/pam )
+	ssl? (
+		gnutls? ( net-libs/gnutls:= )
+		!gnutls? (
+			dev-libs/openssl:0=
+		)
+	)
+	tcpd? ( sys-apps/tcp-wrappers )
+	zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	test? (
+		dev-tcltk/expect
+		net-misc/netkit-telnetd
+	)
+	verify-sig? ( sec-keys/openpgp-keys-alexbarton )
+"
+
+src_prepare() {
+	default
+
+	if ! use prefix ; then
+		sed -i \
+			-e "/;ServerUID = /s/65534/ngircd/" \
+			-e "/;ServerGID = /s/65534/ngircd/" \
+			doc/sample-ngircd.conf.tmpl || die
+	fi
+
+	# make pidfiles work out-of-the-box
+	sed -i \
+		-e "/;PidFile = /s/;//" \
+		-e "/;ServerUID = /s/;//" \
+		-e "/;ServerGID = /s/;//" \
+		doc/sample-ngircd.conf.tmpl || die
+
+	# Note that if we need to use automake, we need a certain version (for now):
+	# https://github.com/ngircd/ngircd/issues/261
+	# WANT_AUTOMAKE=1.11
+	# eautomake
+}
+
+src_configure() {
+	local myeconf=(
+		--sysconfdir="${EPREFIX}"/etc/${PN}
+		$(use_enable debug sniffer)
+		$(use_enable debug)
+		$(use_enable irc-plus ircplus)
+		$(use_enable ipv6)
+		$(use_enable strict-rfc)
+		$(use_with irc-plus iconv)
+		$(use_with ident)
+		$(use_with pam)
+		$(use_with tcpd tcp-wrappers)
+		$(use_with zlib)
+	)
+
+	if use ssl ; then
+		if use gnutls ; then
+			myeconf+=(
+				$( use_with gnutls )
+			)
+		else
+			myeconf+=(
+				$( use_with !gnutls openssl )
+			)
+		fi
+	fi
+
+	econf "${myeconf[@]}"
+}
+
+src_install() {
+	default
+
+	fowners ngircd:ngircd /etc/ngircd/ngircd.conf
+	newinitd "${FILESDIR}"/ngircd.init-r2.d ngircd
+	newconfd "${FILESDIR}"/ngircd.conf.d ngircd
+}
+
+pkg_postinst() {
+	if [[ -z ${REPLACING_VERSIONS} ]] && use pam ; then
+		elog "ngircd will use PAMIsOptionalPAM by default, please change this option."
+		elog "You may not be able to login until you change this."
+	fi
+}


             reply	other threads:[~2022-02-20 21:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-20 21:10 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-27 15:11 [gentoo-commits] repo/gentoo:master commit in: net-irc/ngircd/files/, net-irc/ngircd/ Sam James
2020-08-30  5:48 Sam James
2016-10-18  8:04 Patrice Clement

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1645391037.df75ebf4605ac1b0b38f1025bb965d1dffb07431.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox