net-vpn/amneziawg-linux-kernel-module: unkeyword 1.0.20251009
Signed-off-by: Alexander Miroshnichenko <alex@millerson.name>
This commit is contained in:
parent
4f2be050e9
commit
4b50bbbe7e
@ -2,7 +2,6 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
MODULES_OPTIONAL_IUSE="module"
|
||||
inherit linux-mod-r1
|
||||
|
||||
DESCRIPTION="AmneziaWG kernel module"
|
||||
@ -14,12 +13,12 @@ if [[ ${PV} == 9999 ]]; then
|
||||
else
|
||||
SRC_URI="https://github.com/amnezia-vpn/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
# Please don't stabilize this package. Stable users should use gentoo-sources 5.4 or 5.10.
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="debug +module module-src"
|
||||
IUSE="debug"
|
||||
|
||||
CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
|
||||
|
||||
@ -31,11 +30,9 @@ CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
|
||||
BDEPEND="|| ( sys-kernel/gentoo-sources sys-kernel/vanilla-sources )"
|
||||
|
||||
pkg_setup() {
|
||||
if use module; then
|
||||
linux-mod-r1_pkg_setup
|
||||
if kernel_is -lt 3 10 0; then
|
||||
die "This version of ${PN} requires Linux >= 3.10"
|
||||
fi
|
||||
linux-mod-r1_pkg_setup
|
||||
if kernel_is -lt 3 10 0; then
|
||||
die "This version of ${PN} requires Linux >= 3.10"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -48,7 +45,8 @@ src_prepare() {
|
||||
# If /usr/src/linux contains no sources (distribution kernel), we check
|
||||
# other subdirectories in /usr/src sorted by version in reverse order.
|
||||
echo "Searching for kernel sources..."
|
||||
dirs=$(find /usr/src -maxdepth 1 -name 'linux-*' -type d | sort --reverse --version-sort --field-separator=- --key=2,2)
|
||||
dirs=$(find /usr/src -maxdepth 1 -name 'linux-*' -type d | \
|
||||
sort --reverse --version-sort --field-separator=- --key=2,2)
|
||||
dirs="/usr/src/linux ${dirs}"
|
||||
for kernel_dir in ${dirs}; do
|
||||
[ -d "$kernel_dir" ] || continue
|
||||
@ -66,9 +64,9 @@ src_prepare() {
|
||||
die "Kernel sources not found, but required for building."
|
||||
fi
|
||||
|
||||
sed -i "s@^KERNELRELEASE ?= .*@KERNELRELEASE ?= ${KV_FULL}@" src/Makefile || die "Fail to set desired kernel verion in the Makefile"
|
||||
sed -i "s@^KERNELRELEASE ?= .*@KERNELRELEASE ?= ${KV_FULL}@" src/Makefile || die "Fail to set desired kernel verion in the Makefile"
|
||||
ln -s ${KERNEL_SOURCES_DIR} src/kernel || die "Creation link to kernel sources directory fail"
|
||||
emake -C ${S}/src apply-patches || die "Fail to apply amnezia patches over wireguard"
|
||||
emake -C "${S}/src" apply-patches || die "Fail to apply amnezia patches over wireguard"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -78,52 +76,38 @@ src_compile() {
|
||||
KERNELDIR=${KV_OUT_DIR}
|
||||
)
|
||||
use debug && modargs+=( CONFIG_WIREGUARD_DEBUG=y )
|
||||
use module && linux-mod-r1_src_compile
|
||||
linux-mod-r1_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use module && linux-mod-r1_src_install
|
||||
use module-src && emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -C src dkms-install
|
||||
linux-mod-r1_src_install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use module-src && ! use module; then
|
||||
einfo
|
||||
einfo "You have enabled the module-src USE flag without the module USE"
|
||||
einfo "flag. This means that sources are installed to"
|
||||
einfo "${ROOT}/usr/src/amneziawg instead of having the"
|
||||
einfo "kernel module compiled. You will need to compile the module"
|
||||
einfo "yourself. Most likely, you don't want this USE flag, and should"
|
||||
einfo "rather use USE=module"
|
||||
einfo
|
||||
fi
|
||||
|
||||
if use module; then
|
||||
linux-mod-r1_pkg_postinst
|
||||
local old new
|
||||
if [[ $(uname -r) != "${KV_FULL}" ]]; then
|
||||
ewarn
|
||||
ewarn "You have just built AmneziaWG for kernel ${KV_FULL}, yet the currently running"
|
||||
ewarn "kernel is $(uname -r). If you intend to use this AmneziaWG module on the currently"
|
||||
ewarn "running machine, you will first need to reboot it into the kernel ${KV_FULL}, for"
|
||||
ewarn "which this module was built."
|
||||
ewarn
|
||||
elif [[ -f /sys/module/amneziawg/version ]] && \
|
||||
old="$(< /sys/module/amneziawg/version)" && \
|
||||
new="$(modinfo -F version "${ROOT}/lib/modules/${KV_FULL}/net/amneziawg.ko" 2>/dev/null)" && \
|
||||
[[ $old != "$new" ]]; then
|
||||
ewarn
|
||||
ewarn "You appear to have just upgraded AmneziaWG from version v$old to v$new."
|
||||
ewarn "However, the old version is still running on your system. In order to use the"
|
||||
ewarn "new version, you will need to remove the old module and load the new one. As"
|
||||
ewarn "root, you can accomplish this with the following commands:"
|
||||
ewarn
|
||||
ewarn " # rmmod amneziawg"
|
||||
ewarn " # modprobe amneziawg"
|
||||
ewarn
|
||||
ewarn "Do note that doing this will remove current AmneziaWG interfaces, so you may want"
|
||||
ewarn "to gracefully remove them yourself prior."
|
||||
ewarn
|
||||
fi
|
||||
linux-mod-r1_pkg_postinst
|
||||
local old new
|
||||
if [[ $(uname -r) != "${KV_FULL}" ]]; then
|
||||
ewarn
|
||||
ewarn "You have just built AmneziaWG for kernel ${KV_FULL}, yet the currently running"
|
||||
ewarn "kernel is $(uname -r). If you intend to use this AmneziaWG module on the currently"
|
||||
ewarn "running machine, you will first need to reboot it into the kernel ${KV_FULL}, for"
|
||||
ewarn "which this module was built."
|
||||
ewarn
|
||||
elif [[ -f /sys/module/amneziawg/version ]] && \
|
||||
old="$(< /sys/module/amneziawg/version)" && \
|
||||
new="$(modinfo -F version "${ROOT}/lib/modules/${KV_FULL}/net/amneziawg.ko" 2>/dev/null)" && \
|
||||
[[ $old != "$new" ]]; then
|
||||
ewarn
|
||||
ewarn "You appear to have just upgraded AmneziaWG from version v$old to v$new."
|
||||
ewarn "However, the old version is still running on your system. In order to use the"
|
||||
ewarn "new version, you will need to remove the old module and load the new one. As"
|
||||
ewarn "root, you can accomplish this with the following commands:"
|
||||
ewarn
|
||||
ewarn " # rmmod amneziawg"
|
||||
ewarn " # modprobe amneziawg"
|
||||
ewarn
|
||||
ewarn "Do note that doing this will remove current AmneziaWG interfaces, so you may want"
|
||||
ewarn "to gracefully remove them yourself prior."
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
11
net-vpn/amneziawg-linux-kernel-module/metadata.xml
Normal file
11
net-vpn/amneziawg-linux-kernel-module/metadata.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>alex@millerson.name</email>
|
||||
<name>Alexander Miroshnichenko</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">amnezia-vpn/amneziawg-linux-kernel-module</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
Loading…
x
Reference in New Issue
Block a user