From 2c143021df0ed57d6f0b6d8c5f6594ca6cb2d8d2 Mon Sep 17 00:00:00 2001 From: "root@ThinkPArchd" Date: Sun, 15 Sep 2024 20:38:04 +0200 Subject: [PATCH] rebase jool WIP on stable --- metadata/md5-cache/net-misc/jool-4.1.13 | 16 +++++ metadata/md5-cache/net-misc/jool-4.1.8 | 16 +++++ net-misc/jool/Manifest | 8 +++ net-misc/jool/jool-4.1.13.ebuild | 95 +++++++++++++++++++++++++ net-misc/jool/jool-4.1.8.ebuild | 95 +++++++++++++++++++++++++ net-misc/jool/jool-9999.ebuid | 70 ++++++++++++++++++ net-misc/jool/metadata.xml | 18 +++++ 7 files changed, 318 insertions(+) create mode 100644 metadata/md5-cache/net-misc/jool-4.1.13 create mode 100644 metadata/md5-cache/net-misc/jool-4.1.8 create mode 100644 net-misc/jool/Manifest create mode 100644 net-misc/jool/jool-4.1.13.ebuild create mode 100644 net-misc/jool/jool-4.1.8.ebuild create mode 100644 net-misc/jool/jool-9999.ebuid create mode 100644 net-misc/jool/metadata.xml diff --git a/metadata/md5-cache/net-misc/jool-4.1.13 b/metadata/md5-cache/net-misc/jool-4.1.13 new file mode 100644 index 0000000..eb0a751 --- /dev/null +++ b/metadata/md5-cache/net-misc/jool-4.1.13 @@ -0,0 +1,16 @@ +BDEPEND=sys-kernel/linux-headers tools? ( sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 >=dev-build/autoconf-2.71-r6:2.71 ) >=dev-build/libtool-2.4.7-r3 ) doc? ( www-apps/jekyll ) dist-kernel? ( virtual/dist-kernel ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) >=app-portage/elt-patches-20240116 +DEFINED_PHASES=compile install postinst postrm preinst prepare pretend setup unpack +DEPEND=iptables? ( net-firewall/iptables ) kernel_linux? ( sys-apps/kmod[tools] dist-kernel? ( virtual/dist-kernel:= ) ) kernel_linux? ( virtual/linux-sources virtual/libelf ) +DESCRIPTION=An Open Source implementation of multiple NAT64 RFC for linux +EAPI=8 +HOMEPAGE=https://jool.mx/ +INHERIT=linux-mod bash-completion-r1 verify-sig autotools +IUSE=bash-completion dist-kernel doc iptables +nat64 +siit +tools dist-kernel verify-sig +KEYWORDS=~amd64 +LICENSE=GPL-2 doc? ( FDL-1.3 ) +RDEPEND=iptables? ( net-firewall/iptables ) kernel_linux? ( sys-apps/kmod[tools] dist-kernel? ( virtual/dist-kernel:= ) ) +REQUIRED_USE=|| ( nat64 siit ) +SLOT=0 +SRC_URI=https://github.com/NICMx/Jool/releases/download/v4.1.13/jool-4.1.13.tar.gz verify-sig? ( https://github.com/NICMx/Jool/releases/download/v4.1.13/jool-4.1.13.tar.gz.asc ) +_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 linux-info ea4122ba1d8791a12b78e53f9510a2e3 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 linux-mod 000f3723e8e062061ee523106e69f84a bash-completion-r1 3047612be964ffd4a549447fc4289f12 verify-sig a79ba011daaf532d71a219182474d150 gnuconfig f8b9cc21e72de8cbedde6ca5108d208b libtool f9e6905c12590c1cac06d85371a0819a autotools 61927ff6474f1d141b4ea4a5b9870424 +_md5_=fa7102a03c62a8fad4ead66c00c255eb diff --git a/metadata/md5-cache/net-misc/jool-4.1.8 b/metadata/md5-cache/net-misc/jool-4.1.8 new file mode 100644 index 0000000..7a63c5f --- /dev/null +++ b/metadata/md5-cache/net-misc/jool-4.1.8 @@ -0,0 +1,16 @@ +BDEPEND=sys-kernel/linux-headers tools? ( sys-devel/gnuconfig || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 >=dev-build/autoconf-2.71-r6:2.71 ) >=dev-build/libtool-2.4.7-r3 ) doc? ( www-apps/jekyll ) dist-kernel? ( virtual/dist-kernel ) verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) >=app-portage/elt-patches-20240116 +DEFINED_PHASES=compile install postinst postrm preinst prepare pretend setup unpack +DEPEND=iptables? ( net-firewall/iptables ) kernel_linux? ( sys-apps/kmod[tools] dist-kernel? ( virtual/dist-kernel:= ) ) kernel_linux? ( virtual/linux-sources virtual/libelf ) +DESCRIPTION=An Open Source implementation of multiple NAT64 RFC for linux +EAPI=8 +HOMEPAGE=https://jool.mx/ +INHERIT=linux-mod bash-completion-r1 verify-sig autotools +IUSE=bash-completion dist-kernel doc iptables +nat64 +siit +tools dist-kernel verify-sig +KEYWORDS=~amd64 +LICENSE=GPL-2 doc? ( FDL-1.3 ) +RDEPEND=iptables? ( net-firewall/iptables ) kernel_linux? ( sys-apps/kmod[tools] dist-kernel? ( virtual/dist-kernel:= ) ) +REQUIRED_USE=|| ( nat64 siit ) +SLOT=0 +SRC_URI=https://github.com/NICMx/Jool/releases/download/v4.1.8/jool-4.1.8.tar.gz verify-sig? ( https://github.com/NICMx/Jool/releases/download/v4.1.8/jool-4.1.8.tar.gz.asc ) +_eclasses_=toolchain-funcs 948855ec7ad9f11351edf9066708dfa9 multilib 7e1347c006a76bb812f3a9f663b79991 linux-info ea4122ba1d8791a12b78e53f9510a2e3 multiprocessing e644caa6eb7ce7e5ab0864383ac13ad9 linux-mod 000f3723e8e062061ee523106e69f84a bash-completion-r1 3047612be964ffd4a549447fc4289f12 verify-sig a79ba011daaf532d71a219182474d150 gnuconfig f8b9cc21e72de8cbedde6ca5108d208b libtool f9e6905c12590c1cac06d85371a0819a autotools 61927ff6474f1d141b4ea4a5b9870424 +_md5_=fa7102a03c62a8fad4ead66c00c255eb diff --git a/net-misc/jool/Manifest b/net-misc/jool/Manifest new file mode 100644 index 0000000..bae184c --- /dev/null +++ b/net-misc/jool/Manifest @@ -0,0 +1,8 @@ +DIST jool-4.1.13.tar.gz 625231 BLAKE2B 988108cc76d78cf8d92d49b45142bf52a002ff00b948796bb090f8f38daa7b667614c76cff425e2f92f0d7aa3f6bde72ea3b077c0a301aa354f98735af10d57f SHA512 27c67e99ca3198f35b764b17294c51edbdab78cf56e887c1a74ede050daf627e38e91ef866a32deed6f2930c64a81f27e530059034999d1a4e4743dfc137886d +DIST jool-4.1.13.tar.gz.asc 833 BLAKE2B 206476b47be061fded6e2849d2a76455662f3f88e2c8e578446232813f84d64590d7bd1b478d58965c4d4be59761f3e0d24a74ecc1c9c8dbf1591c88872676d4 SHA512 18a233e7a90ed1eeca06648d6f717c350f725a90f282242daab3c34626b6780f8b6bb350cb1941b5fa8f3fcf8bdf4e8adab0a418351c5d9c726faf8b36c771b8 +DIST jool-4.1.8.tar.gz 624004 BLAKE2B 1c8a8debb217a03c6c59041dc606181555834bb103199c10b7bf4a3900d13e3289e1c85a995201a8f9fc7507a4e0b14620362acd90176aede189bdcf9bfc9c14 SHA512 4fa211c44a8df33648760185629fa6f941f47b092ddfba36c75c58c016343153ac19cb63e28c5171f8027a4e573e5453963c2f80a0417eb7945804eceda43311 +DIST jool-4.1.8.tar.gz.asc 833 BLAKE2B 4e3994da31f1745cccd9c3a8dc921eba9f56af3c97890c42edd7527d1a976c1509434796fa8559b8044af32bac21b35fb794c9011ef50773402f335dfb8ae235 SHA512 71dfd3c8d87e9b40d08a83d4be4871807445e92c9ac51ef3d81c8ca1122f2f4452f2d307d8a3c4e43038cf291379ec5b4cc0724e2a3716372d82ff518dc8788a +EBUILD jool-4.1.13.ebuild 1947 BLAKE2B edb7c36560245c309a90a8eae726e1aa9c8b83bb32ef459a7abc6f8017007cc722ad4aa4d3155dca547de7eb81072748f6a35374bc31d66675674b21fc60ba59 SHA512 6113ea42fee642a9596a3f2f9025f3807e73033176639676924b08fd089fe6b86435a29fc215e9da6e866dadb3af175709ee0d14b7f9b80e31c55fbd4e587f5f +EBUILD jool-4.1.8.ebuild 1947 BLAKE2B edb7c36560245c309a90a8eae726e1aa9c8b83bb32ef459a7abc6f8017007cc722ad4aa4d3155dca547de7eb81072748f6a35374bc31d66675674b21fc60ba59 SHA512 6113ea42fee642a9596a3f2f9025f3807e73033176639676924b08fd089fe6b86435a29fc215e9da6e866dadb3af175709ee0d14b7f9b80e31c55fbd4e587f5f +MISC jool-9999.ebuid 1261 BLAKE2B 48aa11c8fbcc68cec18f727e6326db814532d2ef4aa877ec47b94f5ea0a363c087164ac48fc111b041df25dbe929f21c89e0412bb1cb514e76e66016ae1e3235 SHA512 be07a6d2b3ac5776810483e00d870f47e0db856510168dbec86a40aeb1c21fa6e59e83938cf5e6699e1fd2ead8f1f39e85add7c72c34dbe4608a2307cdd91619 +MISC metadata.xml 938 BLAKE2B 2845d5946b77d38bd7bdc508434a48acf8a408b7ce6aea36a77c742e635d12e2e1725a575ce7d18f72fdc77f7a49a904bea2c852908f1fc1e96353b73ff17073 SHA512 c3a7f85c072051bbfa2d90ec552244774752a7d54c0585f695df66d0649a1e7c2a3239a36071fec8517698815249dae4148833267b545371208c327bc96b5161 diff --git a/net-misc/jool/jool-4.1.13.ebuild b/net-misc/jool/jool-4.1.13.ebuild new file mode 100644 index 0000000..3162ff4 --- /dev/null +++ b/net-misc/jool/jool-4.1.13.ebuild @@ -0,0 +1,95 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright 2022-2024 Jason André Charles Gantner +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="An Open Source implementation of multiple NAT64 RFC for linux" +HOMEPAGE="https://jool.mx/" +IUSE="bash-completion dist-kernel doc iptables +nat64 +siit +tools" +SLOT="0" +LICENSE="GPL-2 doc? ( FDL-1.3 )" +KEYWORDS="~amd64" +SRC_URI=" + https://github.com/NICMx/Jool/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( https://github.com/NICMx/Jool/releases/download/v${PV}/${P}.tar.gz.asc ) + " + +REQUIRED_USE=" + || ( nat64 siit ) + " + +inherit linux-mod bash-completion-r1 + +# Autotools config +WANT_AUTOCONF='latest' +WANT_LIBTOOL='latest' +AUTOTOOLS_AUTO_DEPEND='no' + +# verify-sig config +VERIFY_SIG_OPENPGP_KEY_PATH= + +# inherit now that necessary config has been added +inherit verify-sig autotools + +DEPEND=" + iptables? ( net-firewall/iptables ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + sys-kernel/linux-headers + tools? ( ${AUTOTOOLS_DEPEND} ) + doc? ( www-apps/jekyll ) + dist-kernel? ( virtual/dist-kernel ) +" + +#TODO: add te following line once the upstream signing keys has been identified and packaged +# verify-sig? ( sec-keys/openpgp-keys- ) + +# linux-mod config +BUILD_TARGETS='clean modules' +MODULES_NAMES='jool_common(extra:src/mod/common)' + +pkg_pretend(){ + use_m 3 13 0 || { + eerror 'Supported Linux kernels are >= 3.13.0' + die + } + if use siit;then + MODULES_NAMES+=' jool_siit(extra:src/mod/jool_siit)' + fi + if use nat64;then + MODULES_NAMES+=' jool(extra:src/mod/jool)' + fi +} + +pkg_setup(){ + linux-mod_pkg_setup +} + +src_prepare(){ + eautoreconf && econf +} + +src_compile(){ + linux-mod_src_compile + + if use tools; then + emake -C "${S}/src/tools" + fi + + if use doc; then + cd docs && jekyll build || die + fi +} + +src_install(){ + default + if use doc;then + dodoc -r docs/_site + fi + use bash-completion && dobashcomp src/*/*/*.bash + dodoc src/*/*/*.? +} + +# vim: set syntax=modeline notabexpand diff --git a/net-misc/jool/jool-4.1.8.ebuild b/net-misc/jool/jool-4.1.8.ebuild new file mode 100644 index 0000000..3162ff4 --- /dev/null +++ b/net-misc/jool/jool-4.1.8.ebuild @@ -0,0 +1,95 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright 2022-2024 Jason André Charles Gantner +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="An Open Source implementation of multiple NAT64 RFC for linux" +HOMEPAGE="https://jool.mx/" +IUSE="bash-completion dist-kernel doc iptables +nat64 +siit +tools" +SLOT="0" +LICENSE="GPL-2 doc? ( FDL-1.3 )" +KEYWORDS="~amd64" +SRC_URI=" + https://github.com/NICMx/Jool/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( https://github.com/NICMx/Jool/releases/download/v${PV}/${P}.tar.gz.asc ) + " + +REQUIRED_USE=" + || ( nat64 siit ) + " + +inherit linux-mod bash-completion-r1 + +# Autotools config +WANT_AUTOCONF='latest' +WANT_LIBTOOL='latest' +AUTOTOOLS_AUTO_DEPEND='no' + +# verify-sig config +VERIFY_SIG_OPENPGP_KEY_PATH= + +# inherit now that necessary config has been added +inherit verify-sig autotools + +DEPEND=" + iptables? ( net-firewall/iptables ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + sys-kernel/linux-headers + tools? ( ${AUTOTOOLS_DEPEND} ) + doc? ( www-apps/jekyll ) + dist-kernel? ( virtual/dist-kernel ) +" + +#TODO: add te following line once the upstream signing keys has been identified and packaged +# verify-sig? ( sec-keys/openpgp-keys- ) + +# linux-mod config +BUILD_TARGETS='clean modules' +MODULES_NAMES='jool_common(extra:src/mod/common)' + +pkg_pretend(){ + use_m 3 13 0 || { + eerror 'Supported Linux kernels are >= 3.13.0' + die + } + if use siit;then + MODULES_NAMES+=' jool_siit(extra:src/mod/jool_siit)' + fi + if use nat64;then + MODULES_NAMES+=' jool(extra:src/mod/jool)' + fi +} + +pkg_setup(){ + linux-mod_pkg_setup +} + +src_prepare(){ + eautoreconf && econf +} + +src_compile(){ + linux-mod_src_compile + + if use tools; then + emake -C "${S}/src/tools" + fi + + if use doc; then + cd docs && jekyll build || die + fi +} + +src_install(){ + default + if use doc;then + dodoc -r docs/_site + fi + use bash-completion && dobashcomp src/*/*/*.bash + dodoc src/*/*/*.? +} + +# vim: set syntax=modeline notabexpand diff --git a/net-misc/jool/jool-9999.ebuid b/net-misc/jool/jool-9999.ebuid new file mode 100644 index 0000000..be290e8 --- /dev/null +++ b/net-misc/jool/jool-9999.ebuid @@ -0,0 +1,70 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-mod-r1 git-r3 + +DESCRIPTION="An Open Source implementaion of SIIT and NAT64 for linux" +HOMEPAGE="https://jool.mx/" +IUSE="bash_completion dist-kernel doc iptables mapt nat64 siit tools" +SLOT="0" +LICENSE="GPL-2 doc? ( FDL-1.3 )" + +EGIT_REPO_URI="https://github.com/NICMx/Jool.git" +KEYWORDS="~amd64" + +# Autotools config +WANT_AUTOCONF='latest' +WANT_LIBTOOL='latest' +AUTOTOOLS_AUTO_DEPEND='no' + +# linux-mod config +BUILD_TARGETS='clean modules' +MODULES_NAMES='jool_common(extra:src/mod/common)' + +use tools && inherit autotools + +DEPEND=" + iptables? ( dev-libs/libxtables ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/linux-headers + tools? ( ${AUTOTOOLS_DEPEND} ) + doc? ( www-apps/jekyll ) + verify-sig? ( sec-keys/openpgp-keys- ) + dist-kernel? ( virtual/dist-kernel ) +" + +pkg_pretend(){ + use_m 3 13 0 || { + eerror 'Supported Linux kernels are >= 3.13.0' + die + } +} + +pkg_setup(){ + linux-mod_pkg_setup +} + +src_prepare(){ + eautoreconf && econf +} + +src_compile(){ + linux-mod_src_compile + + if use doc; then + cd docs && jekyll build || die + fi +} + +src_install(){ + default + if use doc;then + dohtml -r docs/_site + fi +} + +# vim: set syntax=modeline notabexpand diff --git a/net-misc/jool/metadata.xml b/net-misc/jool/metadata.xml new file mode 100644 index 0000000..9a6ef9e --- /dev/null +++ b/net-misc/jool/metadata.xml @@ -0,0 +1,18 @@ + + + + + jason@gantner.pw + Jason André Charles Gantner + + + Build xtable modules to enable net-firewall/iptables (legacy) support instead of relying on netfilters (accessible trough net-firewall/nftables) + Enable NAT64 Jool implementing RFC6146 + Enable MAP-T Jool implementing RFC7597 and RFC7599 + Enable SIIT Jool implementing RFCXXXX + install completers for bash + Also build userspace tools to interact with the kernel modules + You SHOULD select this use flag unless you have other userspace tools to interact with jool + + +