Merge pull request #345 from flatcar-linux/sayan/add-wireguard-to-alpha

sys-kernel/coreos-modules: Add the wireguard module
This commit is contained in:
Dongsu Park 2020-05-07 11:54:04 +02:00 committed by GitHub
commit b2bf7909db
16 changed files with 50857 additions and 22 deletions

View File

@ -132,6 +132,7 @@ RDEPEND="${RDEPEND}
net-misc/socat
net-misc/wget
net-misc/whois
net-vpn/wireguard-tools
sys-apps/coreutils
sys-apps/dbus
sys-apps/ethtool

View File

@ -10,4 +10,4 @@ RDEPEND=net-misc/openssh net-nds/rpcbind !coreos-base/oem-service test? ( dev-la
REQUIRED_USE=symlink-usr
SLOT=0/0.0.1-r165
_eclasses_=cros-workon 4ad6e6491a1010ad7c875302b3be18ba git-r3 0d4635eeb5a96cd5315597a47eba25c9 multilib 1d91b03d42ab6308b5f4f6b598ed110e systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
_md5_=fc6aa83b6be1e292d95a88efab420f9f
_md5_=e1d06d2c5522fbd6a6aa8c0d5db7ef11

View File

@ -10,4 +10,4 @@ RDEPEND=net-misc/openssh net-nds/rpcbind !coreos-base/oem-service test? ( dev-la
REQUIRED_USE=symlink-usr
SLOT=0/9999
_eclasses_=cros-workon 4ad6e6491a1010ad7c875302b3be18ba git-r3 0d4635eeb5a96cd5315597a47eba25c9 multilib 1d91b03d42ab6308b5f4f6b598ed110e systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
_md5_=fc6aa83b6be1e292d95a88efab420f9f
_md5_=e1d06d2c5522fbd6a6aa8c0d5db7ef11

View File

@ -1,13 +0,0 @@
DEFINED_PHASES=compile configure install prepare pretend setup unpack
DEPEND==sys-kernel/coreos-modules-5.4.38 app-arch/gzip app-shells/bash coreos-base/coreos-init:= sys-apps/coreutils sys-apps/findutils sys-apps/grep sys-apps/ignition:= sys-apps/less sys-apps/nvme-cli sys-apps/sed sys-apps/shadow sys-apps/systemd[cryptsetup] sys-apps/seismograph sys-apps/util-linux sys-fs/btrfs-progs sys-fs/e2fsprogs sys-fs/mdadm sys-fs/xfsprogs >=sys-kernel/coreos-firmware-20180103-r1:= >=sys-kernel/bootengine-0.0.4:= sys-kernel/dracut virtual/udev amd64? ( sys-firmware/intel-microcode:= ) =sys-kernel/coreos-sources-5.4.38
DESCRIPTION=CoreOS Linux kernel
EAPI=5
HOMEPAGE=http://www.kernel.org
IUSE=kernel_linux
KEYWORDS=amd64 arm64
LICENSE=GPL-2 freedist
RDEPEND==sys-kernel/coreos-modules-5.4.38
RESTRICT=binchecks strip
SLOT=0/5.4.38
_eclasses_=coreos-kernel bc8272b6395d7213be30d34d93de876d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 linux-info 953c3b1c472dcadbf62098a9301327f2 multilib 1d91b03d42ab6308b5f4f6b598ed110e toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
_md5_=5cdef512c2f9ccfa17b2e9552282884d

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=compile configure install prepare pretend setup unpack
DEPEND==sys-kernel/coreos-modules-5.4.38-r1 app-arch/gzip app-shells/bash coreos-base/coreos-init:= sys-apps/coreutils sys-apps/findutils sys-apps/grep sys-apps/ignition:= sys-apps/less sys-apps/nvme-cli sys-apps/sed sys-apps/shadow sys-apps/systemd[cryptsetup] sys-apps/seismograph sys-apps/util-linux sys-fs/btrfs-progs sys-fs/e2fsprogs sys-fs/mdadm sys-fs/xfsprogs >=sys-kernel/coreos-firmware-20180103-r1:= >=sys-kernel/bootengine-0.0.4:= sys-kernel/dracut virtual/udev amd64? ( sys-firmware/intel-microcode:= ) =sys-kernel/coreos-sources-5.4.38-r1
DESCRIPTION=CoreOS Linux kernel
EAPI=5
HOMEPAGE=http://www.kernel.org
IUSE=kernel_linux
KEYWORDS=amd64 arm64
LICENSE=GPL-2 freedist
RDEPEND==sys-kernel/coreos-modules-5.4.38-r1
RESTRICT=binchecks strip
SLOT=0/5.4.38-r1
_eclasses_=coreos-kernel bc8272b6395d7213be30d34d93de876d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 linux-info 953c3b1c472dcadbf62098a9301327f2 multilib 1d91b03d42ab6308b5f4f6b598ed110e toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
_md5_=3f993241e17bc7c43ed9523c4cce43b1

View File

@ -1,5 +1,5 @@
DEFINED_PHASES=compile configure install postinst prepare pretend setup unpack
DEPEND==sys-kernel/coreos-sources-5.4.38
DEPEND==sys-kernel/coreos-sources-5.4.38-r1
DESCRIPTION=CoreOS Linux kernel modules
EAPI=5
HOMEPAGE=http://www.kernel.org
@ -8,6 +8,6 @@ KEYWORDS=amd64 arm64
LICENSE=GPL-2 freedist
RDEPEND=!<sys-kernel/coreos-kernel-4.6.3-r1
RESTRICT=binchecks strip
SLOT=0/5.4.38
SLOT=0/5.4.38-r1
_eclasses_=coreos-kernel bc8272b6395d7213be30d34d93de876d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 linux-info 953c3b1c472dcadbf62098a9301327f2 multilib 1d91b03d42ab6308b5f4f6b598ed110e portability 2b88d3ecc35035a3b8ab628b49cafb0e savedconfig e6948c872ff47e15a10e5ad1be15c18e toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
_md5_=a88b250c5a7da995b47b632b9f99b8dd
_md5_=e1d0ecc86b756d2498d772a06df9ff35

View File

@ -8,7 +8,7 @@ KEYWORDS=amd64 arm64
LICENSE=GPL-2
RDEPEND=!build? ( dev-lang/perl sys-devel/bc sys-devel/bison sys-devel/flex sys-devel/make >=sys-libs/ncurses-5.2 virtual/libelf )
RESTRICT=binchecks strip
SLOT=5.4.38
SLOT=5.4.38-r1
SRC_URI=mirror://kernel/linux/kernel/v5.x/patch-5.4.38.xz mirror://kernel/linux/kernel/v5.x/linux-5.4.tar.xz
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 kernel-2 b2fdd65b5edb72d87dedaa82df19553c ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 1d91b03d42ab6308b5f4f6b598ed110e preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=e50c98248f38dbf63adbe31d561a02fc
_md5_=22267f46071eb0b71fb46eff7abcf5a2

View File

@ -0,0 +1,3 @@
DIST wireguard-tools-1.0.20200319.tar.xz 92324 BLAKE2B 9f514748708ef6a5b7f5b043c9054c954d17bb77de7a354b5a9a4e63cfb5f441237e98b16b288426441a7e709e1874d396cf67b04b38bb0ebbe7822bb32ada57 SHA512 d5bcd153f9b10f184b9a1bf9a81f33a9713ab4863ab5aa190eac60e92919756c8fecbb0d3cfb83bae20ac78fc43fdd7168f37294cdd7c5ee21f2a1b2db5fdf41
EBUILD wireguard-tools-1.0.20200319.ebuild 3227 BLAKE2B 28d1a50c5379f54153138c0cca1681cc2ef9c34833ccbb465b15b2cdf4e288235fc1a3beede3059d5c040ccbe1289be7a0c7250491b8fb714db5f158c129fcc1 SHA512 e1afcba37c0270e4e121fe26346314818e51b8fa8a627ec39c69e3014fbd1ea7cc7c44f47a4925ef3086ec60a2fd11b532f8af9102db825856ab34545770ffd2
MISC metadata.xml 362 BLAKE2B b6c8384cc5434b65a80b2326df412ca38a96bfd137feb34cea5124eebe13d383851b3ceea17cfc0b937555a0760608e0f3d0a7834da15271e65f669bfbfb8d2a SHA512 bf494cd4c95dbbbf783fc847cdf03f9a83b2673bf3a0a78fa12480abd1e2657f255019cf4f68db5143b11c5c63d6c16e9e18480800115751be9bc3cae910c8ea

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zx2c4@gentoo.org</email>
<name>Jason A. Donenfeld</name>
</maintainer>
<use>
<flag name="wg-quick">Install the wg-quick(8) helper tool. Most users want to use this.</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,101 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-info bash-completion-r1 systemd toolchain-funcs
DESCRIPTION="Required tools for WireGuard, such as wg(8) and wg-quick(8)"
HOMEPAGE="https://www.wireguard.com/"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.zx2c4.com/wireguard-tools"
KEYWORDS=""
else
SRC_URI="https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${PV}.tar.xz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sparc x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+wg-quick"
BDEPEND="virtual/pkgconfig"
DEPEND=""
RDEPEND="${DEPEND}
wg-quick? (
|| ( net-firewall/nftables net-firewall/iptables )
virtual/resolvconf
)
!<virtual/wireguard-1
"
wg_quick_optional_config_nob() {
CONFIG_CHECK="$CONFIG_CHECK ~$1"
declare -g ERROR_$1="CONFIG_$1: This option is required for automatic routing of default routes inside of wg-quick(8), though it is not required for general WireGuard usage."
}
pkg_setup() {
use wg-quick || return 0
wg_quick_optional_config_nob IP_ADVANCED_ROUTER
wg_quick_optional_config_nob IP_MULTIPLE_TABLES
wg_quick_optional_config_nob IPV6_MULTIPLE_TABLES
if has_version net-firewall/nftables; then
wg_quick_optional_config_nob NF_TABLES
wg_quick_optional_config_nob NF_TABLES_IPV4
wg_quick_optional_config_nob NF_TABLES_IPV6
wg_quick_optional_config_nob NFT_CT
wg_quick_optional_config_nob NFT_FIB
wg_quick_optional_config_nob NFT_FIB_IPV4
wg_quick_optional_config_nob NFT_FIB_IPV6
wg_quick_optional_config_nob NF_CONNTRACK_MARK
elif has_version net-firewall/iptables; then
wg_quick_optional_config_nob NETFILTER_XTABLES
wg_quick_optional_config_nob NETFILTER_XT_MARK
wg_quick_optional_config_nob NETFILTER_XT_CONNMARK
wg_quick_optional_config_nob NETFILTER_XT_MATCH_COMMENT
wg_quick_optional_config_nob IP6_NF_RAW
wg_quick_optional_config_nob IP_NF_RAW
wg_quick_optional_config_nob IP6_NF_FILTER
wg_quick_optional_config_nob IP_NF_FILTER
fi
linux-info_pkg_setup
}
src_compile() {
emake RUNSTATEDIR="${EPREFIX}/run" -C src CC="$(tc-getCC)" LD="$(tc-getLD)"
}
src_install() {
dodoc README.md
dodoc -r contrib
emake \
WITH_BASHCOMPLETION=yes \
WITH_SYSTEMDUNITS=yes \
WITH_WGQUICK=$(usex wg-quick) \
DESTDIR="${D}" \
BASHCOMPDIR="$(get_bashcompdir)" \
SYSTEMDUNITDIR="$(systemd_get_systemunitdir)" \
PREFIX="${EPREFIX}/usr" \
-C src install
}
pkg_postinst() {
einfo
einfo "After installing WireGuard, if you'd like to try sending some packets through"
einfo "WireGuard, you may use, for testing purposes only, the insecure client.sh"
einfo "test example script:"
einfo
einfo " \$ bzcat ${ROOT}/usr/share/doc/${PF}/contrib/ncat-client-server/client.sh.bz2 | sudo bash -"
einfo
einfo "This will automatically setup interface wg0, through a very insecure transport"
einfo "that is only suitable for demonstration purposes. You can then try loading the"
einfo "hidden website or sending pings:"
einfo
einfo " \$ chromium http://192.168.4.1"
einfo " \$ ping 192.168.4.1"
einfo
einfo "More info on getting started can be found at: https://www.wireguard.com/quickstart/"
einfo
}

View File

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=5
COREOS_SOURCE_REVISION=""
COREOS_SOURCE_REVISION="-r1"
inherit coreos-kernel
DESCRIPTION="CoreOS Linux kernel"

View File

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=5
COREOS_SOURCE_REVISION=""
COREOS_SOURCE_REVISION="-r1"
inherit coreos-kernel savedconfig
DESCRIPTION="CoreOS Linux kernel modules"

View File

@ -35,4 +35,5 @@ UNIPATCH_LIST="
${PATCH_DIR}/z0001-kbuild-derive-relative-path-for-KBUILD_SRC-from-CURD.patch \
${PATCH_DIR}/z0002-tools-objtool-Makefile-Don-t-fail-on-fallthrough-wit.patch \
${PATCH_DIR}/z0003-net-netfilter-add-nf_conntrack_ipv4-compat-module-fo.patch \
${PATCH_DIR}/z0004-add-wireguard-module.patch \
"