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."
 }

Reply via email to