commit: 160075aa919934526da27ff062ecf2fd75d0cf59
Author: Nicholas Vinson <nvinson234 <AT> gmail <DOT> com>
AuthorDate: Sat Jun 4 23:41:47 2016 +0000
Commit: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Sun Jul 3 22:00:24 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=160075aa
net-firewall/nftables: Update support & service files
- remove extraneous "exit $?" from files/libexec/nftables.sh
- rename nftables.init-r2 to nftables.init
- recreate & rewrite files/systemd/nftables.service into a proper systemd
service
- Update nftables-0.6.ebuild to use new file names.
Package-Manager: portage-2.3.0_rc1
net-firewall/nftables/files/libexec/nftables.sh | 1 -
.../files/{nftables.init-r2 => nftables.init} | 4 ++--
.../files/systemd/nftables-restore.service | 14 +++++++++++++
...{nftables-0.6.ebuild => nftables-0.6-r1.ebuild} | 24 ++++++++++++++++++----
4 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/net-firewall/nftables/files/libexec/nftables.sh
b/net-firewall/nftables/files/libexec/nftables.sh
index 2d8c9f0..f720b9b 100755
--- a/net-firewall/nftables/files/libexec/nftables.sh
+++ b/net-firewall/nftables/files/libexec/nftables.sh
@@ -147,4 +147,3 @@ deletetable() {
}
main "$@"
-exit $?
diff --git a/net-firewall/nftables/files/nftables.init-r2
b/net-firewall/nftables/files/nftables.init
similarity index 97%
rename from net-firewall/nftables/files/nftables.init-r2
rename to net-firewall/nftables/files/nftables.init
index 5a59fbc..217251e 100644
--- a/net-firewall/nftables/files/nftables.init-r2
+++ b/net-firewall/nftables/files/nftables.init
@@ -1,6 +1,6 @@
#!/sbin/openrc-run
-# Copyright 2014 Nicholas Vinson
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 2014-2016 Nicholas Vinson
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
extra_commands="clear list panic save"
diff --git a/net-firewall/nftables/files/systemd/nftables-restore.service
b/net-firewall/nftables/files/systemd/nftables-restore.service
new file mode 100644
index 0000000..61eaee2
--- /dev/null
+++ b/net-firewall/nftables/files/systemd/nftables-restore.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Store and restore nftables firewall rules
+ConditionPathExists=/var/lib/nftables-rules-save
+Before=network.target
+Before=shutdown.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/libexec/nftables/nftables.sh load /var/lib/nftables/rules-save
+ExecStop=/usr/libexec/nftables/nftables.sh store /var/lib/nftables/rules-save
+
+[Install]
+WantedBy=basic.target
diff --git a/net-firewall/nftables/nftables-0.6.ebuild
b/net-firewall/nftables/nftables-0.6-r1.ebuild
similarity index 64%
rename from net-firewall/nftables/nftables-0.6.ebuild
rename to net-firewall/nftables/nftables-0.6-r1.ebuild
index d97df4d..550c6da 100644
--- a/net-firewall/nftables/nftables-0.6.ebuild
+++ b/net-firewall/nftables/nftables-0.6-r1.ebuild
@@ -57,12 +57,28 @@ src_install() {
default
dodir /usr/libexec/${PN}
- insinto /usr/libexec/${PN}
- doins /usr/libexec/${PN}/${PN}.sh
+ exeinto /usr/libexec/${PN}
+ doexe "${FILESDIR}"/libexec/${PN}.sh
newconfd "${FILESDIR}"/${PN}.confd ${PN}
- newinitd "${FILESDIR}"/${PN}.init-r2 ${PN}
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
keepdir /var/lib/nftables
- systemd_dounit "${FILESDIR}"/systemd/${PN}{,-{re,}store}.service
+ systemd_dounit "${FILESDIR}"/systemd/${PN}-restore.service
+ systemd_enable_service basic.target ${PN}-restore.service
+}
+
+pkg_postinst() {
+ local save_file
+ save_file="${EROOT}var/lib/nftables/rules-save"
+
+ elog "In order for the nftables-restore systemd service to start, "
+ elog "the file, ${save_file}, must exist. To create this "
+ elog "file run the following command: "
+ elog ""
+ elog " touch '${save_file}'"
+ elog ""
+ elog "Afterwards, the nftables-restore service should be manually
started "
+ elog "to ensure firewall changes are stored on system shutdown. The "
+ elog "systemd service will function normally thereafter."
}