diff --git a/net-vpn/amneziawg-linux-kernel-module/Manifest b/net-vpn/amneziawg-linux-kernel-module/Manifest index d97bb33..7637d17 100644 --- a/net-vpn/amneziawg-linux-kernel-module/Manifest +++ b/net-vpn/amneziawg-linux-kernel-module/Manifest @@ -1,2 +1 @@ -DIST amneziawg-linux-kernel-module-1.0.20241112.tar.gz 417511 BLAKE2B 8ae2a320d1ed3e46a27636f14255161d773c66e856602842526a2656c440ddfb34d40e47745b78f4f41674a9e813d906aab663455e353473e93678c9f4bf14de SHA512 0d0dde7324088f2f3eff2cff9679e7f25b20d9796462da9949e6fc97af320a43ace27f9dfbd32cc2995449a68b313d6877ced6aa0ad3fbd02f15b1338e62fdff DIST amneziawg-linux-kernel-module-1.0.20251009.tar.gz 406841 BLAKE2B ed7649619506d16f10e79e8ea13f24f7b22bd65c3cbbf66a19391ebc3b9fe3db744dee09ebf2b538bf1881c6b79084e16b5871d9b76a9673f45395d8291c0366 SHA512 1c807df0e54fa79f50c055229fe75a4289febd272c304528f5cfe57271aecfe2fb5a8c4480c82f527e1b0272bfae73e03b5b06119769e98d37bb4df65844f2ff diff --git a/net-vpn/amneziawg-linux-kernel-module/amneziawg-linux-kernel-module-1.0.20241112.ebuild b/net-vpn/amneziawg-linux-kernel-module/amneziawg-linux-kernel-module-1.0.20241112.ebuild deleted file mode 100644 index f8b5372..0000000 --- a/net-vpn/amneziawg-linux-kernel-module/amneziawg-linux-kernel-module-1.0.20241112.ebuild +++ /dev/null @@ -1,129 +0,0 @@ -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MODULES_OPTIONAL_IUSE="module" -inherit linux-mod-r1 - -DESCRIPTION="AmneziaWG kernel module" -HOMEPAGE="https://github.com/amnezia-vpn/amneziawg-linux-kernel-module" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/amnezia-vpn/amneziawg-linux-kernel-module.git" -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" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="debug +module module-src" - -CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI" - -# On modern kernels AmneziaWG needs Wireguard sources from kernel to generate -# own sources from. On a typical Gentoo installation 'sys-kernel/*-sources' -# package contains needed kernel sources. But installations based on -# distribution kernel (sys-kernel/*-kernel) have no kernel sources installed. -# That is why this ebuild has a build dependency on gentoo-sources or vanilla-sources. -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 - fi -} - -src_prepare() { - default - - if kernel_is -ge 5 6 0; then - # We need to select a directory with kernel sources. - # Usually, /usr/src/linux is the right choise, so we check it first. - # 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="/usr/src/linux ${dirs}" - for kernel_dir in ${dirs}; do - [ -d "$kernel_dir" ] || continue - if [[ -f ${kernel_dir}/drivers/net/wireguard/main.c ]]; then - echo "- ${kernel_dir} -> found" - KERNEL_SOURCES_DIR=${KERNEL_SOURCES_DIR:-${kernel_dir}} - else - echo "- ${kernel_dir} -> not found" - fi - done - - if [[ -d ${KERNEL_SOURCES_DIR} ]]; then - einfo "Using kernel sources in ${KERNEL_SOURCES_DIR}" - else - 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" - 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" - fi -} - -src_compile() { - local modlist=( amneziawg=net:src::module ) - local modargs=( - KERNELDIR=${KV_OUT_DIR} - ) - use debug && modargs+=( CONFIG_WIREGUARD_DEBUG=y ) - use module && 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 -} - -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 - fi -}