public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-firewall/nfacct/files/, net-firewall/nfacct/
@ 2021-12-03  0:12 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2021-12-03  0:12 UTC (permalink / raw
  To: gentoo-commits

commit:     18bb804ba9d4daf364b9e740735b8576f6c78e76
Author:     Christian W. Zuckschwerdt <christian <AT> zuckschwerdt <DOT> org>
AuthorDate: Mon Jun 14 15:57:55 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec  3 00:05:40 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18bb804b

net-firewall/nfacct: add init script

Closes: https://bugs.gentoo.org/796707
Signed-off-by: Christian W. Zuckschwerdt <christian <AT> zuckschwerdt.org>
Closes: https://github.com/gentoo/gentoo/pull/21237
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-firewall/nfacct/files/nfacct.confd             |  7 ++++
 net-firewall/nfacct/files/nfacct.initd             | 42 ++++++++++++++++++++++
 ...{nfacct-1.0.2.ebuild => nfacct-1.0.2-r1.ebuild} |  8 +++++
 3 files changed, 57 insertions(+)

diff --git a/net-firewall/nfacct/files/nfacct.confd b/net-firewall/nfacct/files/nfacct.confd
new file mode 100644
index 000000000000..b695251ebb03
--- /dev/null
+++ b/net-firewall/nfacct/files/nfacct.confd
@@ -0,0 +1,7 @@
+# /etc/conf.d/nfacct
+
+# Location for nfacct initscript to save and restore the counters
+NFACCT_SAVE="/var/lib/nfacct/counters-save"
+
+# Save counters on stopping nfacct
+SAVE_ON_STOP="yes"

diff --git a/net-firewall/nfacct/files/nfacct.initd b/net-firewall/nfacct/files/nfacct.initd
new file mode 100644
index 000000000000..ac5eeaa33aba
--- /dev/null
+++ b/net-firewall/nfacct/files/nfacct.initd
@@ -0,0 +1,42 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="save"
+
+NFACCT_SAVE=${NFACCT_SAVE:-/var/lib/nfacct/counters-save}
+
+depend() {
+	before iptables ip6tables
+}
+
+checkconfig() {
+	if [ ! -f "${NFACCT_SAVE}" ] ; then
+		eerror "Not starting ${SVCNAME}. First create some counters then run:"
+		eerror "/etc/init.d/${SVCNAME} save"
+		return 1
+	fi
+	return 0
+}
+
+start() {
+	checkconfig || return 1
+	ebegin "Loading nfacct counters"
+	nfacct restore < "${NFACCT_SAVE}"
+	eend $?
+}
+
+stop() {
+	if [ "${SAVE_ON_STOP}" = "yes" ] ; then
+		save || return 1
+	fi
+	ebegin "Removing nfacct counters"
+	nfacct flush
+	eend $?
+}
+
+save() {
+	ebegin "Saving nfacct counters"
+	nfacct list > "${NFACCT_SAVE}"
+	eend $?
+}

diff --git a/net-firewall/nfacct/nfacct-1.0.2.ebuild b/net-firewall/nfacct/nfacct-1.0.2-r1.ebuild
similarity index 78%
rename from net-firewall/nfacct/nfacct-1.0.2.ebuild
rename to net-firewall/nfacct/nfacct-1.0.2-r1.ebuild
index e8f02e4ce7f0..1feb53596a4b 100644
--- a/net-firewall/nfacct/nfacct-1.0.2.ebuild
+++ b/net-firewall/nfacct/nfacct-1.0.2-r1.ebuild
@@ -22,3 +22,11 @@ DEPEND="
 "
 
 CONFIG_CHECK="~NETFILTER_NETLINK_ACCT"
+
+src_install() {
+	default_src_install
+
+	keepdir /var/lib/nfacct
+	newinitd "${FILESDIR}"/${PN}.initd nfacct
+	newconfd "${FILESDIR}"/${PN}.confd nfacct
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-03  0:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-03  0:12 [gentoo-commits] repo/gentoo:master commit in: net-firewall/nfacct/files/, net-firewall/nfacct/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox