From: Ankur Tyagi <[email protected]>
- 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 [email protected]
x [email protected] - Simple, no-fuss NAT64
Loaded: loaded (/usr/lib/systemd/system/[email protected]; 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]: [email protected]: Main process exited, code=exited, status=1/FAILURE
Aug 18 03:16:11 qemuarm64 systemd[1]: [email protected]: 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 <[email protected]>
---
.../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 --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 <[email protected]>
-
---- 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} = "[email protected]"
+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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.