diff mbox series

[meta-networking,13/27] tayga: upgrade 0.9.2 -> 0.9.6

Message ID 20260818050123.2901739-13-ankur.tyagi85@gmail.com
State Under Review
Headers show
Series [meta-gnome,1/27] file-roller: upgrade 44.5 -> 44.7 | expand

Commit Message

Ankur Tyagi Aug. 18, 2026, 5:01 a.m. UTC
From: Ankur Tyagi <ankur.tyagi85@gmail.com>

- Update SRC_URI as upstream moved to GitHub
- Upstream now builds via Makefile and no longer ships a configure script
- Refresh LICENSE file path and checksum
- Install template systemd service and conf provided by upstream
- Drop patch which is merged in the upstream version
- Recommend kernel-module-tun since /dev/net/tun is required at runtime
Fixes:

root@qemuarm64:~# systemctl status tayga@default.service
x tayga@default.service - Simple, no-fuss NAT64
     Loaded: loaded (/usr/lib/systemd/system/tayga@.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Tue 2026-08-18 03:16:11 UTC; 12s ago
 Invocation: a950b39a22a141baaa88e5c919a59009
    Process: 300 ExecStart=tayga --config /etc/tayga/default.conf --journal --nodetach (code=exited, status=1/FAILURE)
   Main PID: 300 (code=exited, status=1/FAILURE)
   Mem peak: 1.7M
        CPU: 190ms

Aug 18 03:16:11 qemuarm64 systemd[1]: Starting Simple, no-fuss NAT64...
Aug 18 03:16:11 qemuarm64 tayga[300]: Starting TAYGA 0.9.6
Aug 18 03:16:11 qemuarm64 tayga[300]: Compiled from tags/0.9.6
Aug 18 03:16:11 qemuarm64 tayga[300]: Commit 7f00122b75d808f696df0efe481a8c8919ba9bd7
Aug 18 03:16:11 qemuarm64 tayga[300]: Unable to open /dev/net/tun, aborting: No such file or directory
Aug 18 03:16:11 qemuarm64 systemd[1]: tayga@default.service: Main process exited, code=exited, status=1/FAILURE
Aug 18 03:16:11 qemuarm64 systemd[1]: tayga@default.service: Failed with result 'exit-code'.
Aug 18 03:16:11 qemuarm64 systemd[1]: Failed to start Simple, no-fuss NAT64.

- Add UPSTREAM_CHECK_GITTAGREGEX for git tag version checks

Fixes:
$ devtool latest-version tayga
...
INFO: Current version: 0.9.2
INFO: Latest version:

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
---
 .../tayga/files/0001-include-sys-uio.patch    |  18 ---
 .../tayga/files/tayga.conf                    | 103 ------------------
 .../tayga/files/tayga.service                 |  12 --
 .../recipes-connectivity/tayga/tayga_0.9.2.bb |  24 ----
 .../recipes-connectivity/tayga/tayga_0.9.6.bb |  39 +++++++
 5 files changed, 39 insertions(+), 157 deletions(-)
 delete mode 100644 meta-networking/recipes-connectivity/tayga/files/0001-include-sys-uio.patch
 delete mode 100644 meta-networking/recipes-connectivity/tayga/files/tayga.conf
 delete mode 100644 meta-networking/recipes-connectivity/tayga/files/tayga.service
 delete mode 100644 meta-networking/recipes-connectivity/tayga/tayga_0.9.2.bb
 create mode 100644 meta-networking/recipes-connectivity/tayga/tayga_0.9.6.bb
diff mbox series

Patch

diff --git a/meta-networking/recipes-connectivity/tayga/files/0001-include-sys-uio.patch b/meta-networking/recipes-connectivity/tayga/files/0001-include-sys-uio.patch
deleted file mode 100644
index 0c6f1609af..0000000000
--- a/meta-networking/recipes-connectivity/tayga/files/0001-include-sys-uio.patch
+++ /dev/null
@@ -1,18 +0,0 @@ 
-
-This patch addresses the following clang failure: tayga-0.9.2/nat64.c:119:6:
-error: call to undeclared function 'writev'; ISO C99 and later do not support
-implicit function declarations [-Wimplicit-function-declaration]
-
-Upstream-Status: Pending
-Signed-off-by: Pawel Langowski <pawel.langowski@3mdeb.com>
-
---- tayga.h	2023-09-29 14:38:05.005837695 +0200
-+++ tayga-2.h	2023-09-29 14:37:45.560837257 +0200
-@@ -20,6 +20,7 @@
- #include <sys/stat.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
-+#include <sys/uio.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <unistd.h>
diff --git a/meta-networking/recipes-connectivity/tayga/files/tayga.conf b/meta-networking/recipes-connectivity/tayga/files/tayga.conf
deleted file mode 100644
index c1b6163a45..0000000000
--- a/meta-networking/recipes-connectivity/tayga/files/tayga.conf
+++ /dev/null
@@ -1,103 +0,0 @@ 
-#
-# Sample configuration file for TAYGA 0.9.2
-#
-# Modify this to use your own addresses!!
-#
-
-#
-# TUN device that TAYGA will use to exchange IPv4 and IPv6 packets with the
-# kernel.  You may use any name you like, but `nat64' is recommended.
-#
-# This device may be created before starting the tayga daemon by running
-# `tayga --mktun`.  This allows routing and firewall rules to be set up prior
-# to commencement of packet translation.
-#
-# Mandatory.
-#
-tun-device nat64
-
-#
-# TAYGA's IPv4 address.  This is NOT your router's IPv4 address!  TAYGA
-# requires its own address because it acts as an IPv4 and IPv6 router, and
-# needs to be able to send ICMP messages.  TAYGA will also respond to ICMP
-# echo requests (ping) at this address.
-#
-# This address can safely be located inside the dynamic-pool prefix.
-#
-# Mandatory.
-#
-ipv4-addr 192.168.254.1
-
-#
-# TAYGA's IPv6 address.  This is NOT your router's IPv6 address!  TAYGA
-# requires its own address because it acts as an IPv4 and IPv6 router, and
-# needs to be able to send ICMP messages.  TAYGA will also respond to ICMP
-# echo requests (ping6) at this address.
-#
-# You can leave ipv6-addr unspecified and TAYGA will construct its IPv6
-# address using ipv4-addr and the NAT64 prefix.
-#
-# Optional if the NAT64 prefix is specified, otherwise mandatory.  It is also
-# mandatory if the NAT64 prefix is 64:ff9b::/96 and ipv4-addr is a private
-# (RFC1918) address.
-#
-#ipv6-addr 2001:db8:1::2
-ipv6-addr fdaa:bb:1::1
-
-#
-# The NAT64 prefix.  The IPv4 address space is mapped into the IPv6 address
-# space by prepending this prefix to the IPv4 address.  Using a /96 prefix is
-# recommended in most situations, but all lengths specified in RFC 6052 are
-# supported.
-#
-# This must be a prefix selected from your organization's IPv6 address space
-# or the Well-Known Prefix 64:ff9b::/96.  Note that using the Well-Known
-# Prefix will prohibit IPv6 hosts from contacting IPv4 hosts that have private
-# (RFC1918) addresses, per RFC 6052.
-#
-# The NAT64 prefix need not be specified if all required address mappings are
-# listed in `map' directives.  (See below.)
-#
-# Optional.
-#
-##prefix 2001:db8:1:ffff::/96
-prefix 64:ff9b::/96
-
-#
-# Dynamic pool prefix.  IPv6 hosts which send traffic through TAYGA (and do
-# not correspond to a static map or an IPv4-translatable address in the NAT64
-# prefix) will be assigned an IPv4 address from the dynamic pool.  Dynamic
-# maps are valid for 124 minutes after the last matching packet is seen.
-#
-# If no unassigned addresses remain in the dynamic pool (or no dynamic pool is
-# configured), packets from unknown IPv6 hosts will be rejected with an ICMP
-# unreachable error.
-#
-# Optional.
-#
-dynamic-pool 192.168.254.0/24
-
-#
-# Persistent data storage directory.  The dynamic.map file, which saves the
-# dynamic maps that are created from dynamic-pool, is stored in this
-# directory.  Omit if you do not need these maps to be persistent between
-# instances of TAYGA.
-#
-# Optional.
-#
-data-dir /var/spool/tayga
-
-#
-# Establishes a single-host map.  If an IPv6 host should be consistently
-# reachable at a specific IPv4 address, the mapping can be specified in a
-# `map' directive.  (IPv6 hosts numbered with an IPv4-translatable address do
-# not need map directives.)
-#
-# IPv4 addresses specified in the `map' directive can safely be located inside
-# the dynamic-pool prefix.
-#
-# Optional.
-#
-#map 192.168.5.42 2001:db8:1:4444::1
-#map 192.168.5.43 2001:db8:1:4444::2
-#map 192.168.255.2 2001:db8:1:569::143
diff --git a/meta-networking/recipes-connectivity/tayga/files/tayga.service b/meta-networking/recipes-connectivity/tayga/files/tayga.service
deleted file mode 100644
index 0bffeb92a5..0000000000
--- a/meta-networking/recipes-connectivity/tayga/files/tayga.service
+++ /dev/null
@@ -1,12 +0,0 @@ 
-[Unit]
-SourcePath=/usr/sbin/tayga
-Description=LSB: userspace NAT64
-
-[Service]
-Type=forking
-ExecStart=/usr/sbin/tayga -d --config /etc/tayga.conf
-RemainAfterExit=yes
-TimeoutStopSec=infinity
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-networking/recipes-connectivity/tayga/tayga_0.9.2.bb b/meta-networking/recipes-connectivity/tayga/tayga_0.9.2.bb
deleted file mode 100644
index f36435c8ea..0000000000
--- a/meta-networking/recipes-connectivity/tayga/tayga_0.9.2.bb
+++ /dev/null
@@ -1,24 +0,0 @@ 
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = " \
-        http://www.litech.org/tayga/tayga-${PV}.tar.bz2 \
-        file://tayga.conf \
-        file://tayga.service \
-        file://0001-include-sys-uio.patch;striplevel=0 \
-        "
-SRC_URI[sha256sum] = "2b1f7927a9d2dcff9095aff3c271924b052ccfd2faca9588b277431a44f0009c"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} = "tayga.service"
-
-EXTRA_OEMAKE += "CFLAGS='${CFLAGS}'"
-
-do_install:append() {
-  install -m 0644 ${UNPACKDIR}/tayga.conf ${D}${sysconfdir}/tayga.conf
-  install -d ${D}${systemd_unitdir}/system/
-  install -m 0644 ${UNPACKDIR}/tayga.service ${D}${systemd_unitdir}/system/
-}
-
-inherit autotools systemd
-
diff --git a/meta-networking/recipes-connectivity/tayga/tayga_0.9.6.bb b/meta-networking/recipes-connectivity/tayga/tayga_0.9.6.bb
new file mode 100644
index 0000000000..2cb3c72948
--- /dev/null
+++ b/meta-networking/recipes-connectivity/tayga/tayga_0.9.6.bb
@@ -0,0 +1,39 @@ 
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/apalrd/tayga.git;branch=main;protocol=https;tag=${PV}"
+SRCREV = "7f00122b75d808f696df0efe481a8c8919ba9bd7"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "tayga@.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+  oe_runmake
+}
+
+do_install() {
+  oe_runmake install \
+    DESTDIR=${D} \
+    prefix=${prefix} \
+    exec_prefix=${exec_prefix} \
+    sbindir=${sbindir} \
+    datarootdir=${datadir} \
+    mandir=${mandir} \
+    sysconfdir=${sysconfdir} \
+    servicedir=${systemd_system_unitdir} \
+    WITH_SYSTEMD=1
+
+  install -d ${D}${sysconfdir}/tayga
+  install -m 0644 ${S}/tayga.conf.example ${D}${sysconfdir}/tayga/default.conf
+}
+
+inherit systemd
+
+RRECOMMENDS:${PN} += "kernel-module-tun"
\ No newline at end of file