Drop redundant md5sum.
Changelog:
8.2.4
- Provide compile time options -DMIN_PORT=n, -DMIN_CTL_PORT=n,
and -DMIN_DATA_PORT=n to set the allowed mimimum port number
- Provide compile time option -DNO_BLANK_LINE to suppress
- blank line in normal nuttcp output
- New "-A" option to bind to a specified interface IP address
- Fix compilation with -DNO_IPV6
- Document -D user compile time options in Usage: statement
- Shut up apparently bogus gcc 10.2.1 warning:
- writing 1 byte into a region of size 0 [-Wstringop-overflow=]
8.2.3
- Simplify handling of stream_idx (no more references to [stream_idx + 1])
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
usbmuxd ships 39-usbmuxd.rules, which starts the daemon when an Apple
device appears:
ACTION=="add", ..., OWNER="usbmux", ENV{SYSTEMD_WANTS}="usbmuxd.service"
The recipe never creates that account. Up to systemd v257 udev only
logged a warning and the rest of the line still ran. systemd a1ee55e3c9
("udev-rules: ignore OWNER=/GROUP= with unknown user/group", first
released in v258) makes udev drop the whole rule line instead, so
SYSTEMD_WANTS is never applied and usbmuxd is never started when a
device is plugged in.
Creating the account is what the rule already expects, and it preserves
the intent of the systemd change: that change guards against a rule
naming a nonexistent user silently clearing a valid earlier ownership
assignment, and with the account present there is no nonexistent user.
Removing OWNER= from the rule would evade that check instead of
satisfying it. The daemon still runs as root, so nothing else changes.
Also ship a sysusers.d fragment. Systems that modified a user or
password at runtime carry a copied-up /etc/passwd in a writable /etc,
which masks an account added at image build time even after an update;
systemd-sysusers recreates it there. The uid may then differ, but the
udev rule resolves the account by name and the daemon runs as root, so
only the name matters.
Distros that keep /etc on persistent storage may also need
systemd-sysusers to actually run on boot; that is outside the scope of
this recipe.
Signed-off-by: Eric Chiang <ericyunlinchiang@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.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>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
redis 8.4 started bundling an xxHash snapshot in deps/xxhash, which is
built and linked into redis-server. The snapshot reports itself as 0.8.3
but does not match that release: it carries RISC-V Vector and LoongArch
LASX backends that landed after the v0.8.3 tag, so the system xxhash is
not a substitute for it.
Its XXH3 accumulate and scramble routines are marked always_inline but
are only ever reached through function pointers, so the compiler has to
resolve the indirect call before it can honour the attribute.
xxHash drops those inline hints on its own when __NO_INLINE__ is
defined, which covers -O0 and -fno-inline, but nothing covers -Og.
Recent GCC no longer resolves the indirect calls at that optimisation
level, so every build with DEBUG_BUILD = "1" fails:
xxhash.h:5476:1: error: inlining failed in call to 'always_inline'
'XXH3_scrambleAcc_neon': function not considered for inlining
make[2]: *** [Makefile:108: xxhash] Error 2
ld: cannot find ../deps/xxhash/libxxhash.a: No such file or directory
Upstream xxHash closed this as not fixable in code (Cyan4973/xxHash#943)
and instead documents XXH_NO_INLINE_HINTS as the supported way to
compile with -Og. Define it when -Og is the selected optimisation,
leaving regular builds untouched so xxHash keeps its inline hints there.
oe-core already carries exactly this workaround for the standalone
xxhash recipe, added in 3464c67cd3 ("xxhash: fix build with gcc 12")
for the same -Og inlining failure, so use the identical expression here
rather than a second spelling of the same condition. The bundled copy
needs its own because redis builds deps/xxhash from its own tree and
never links the system library.
AI-Generated: Uses Claude Code
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Change bb.error to bb.parse.SkipRecipe so the recipe is skipped at parse
time for unsupported architectures, rather than raising a fatal error
that breaks parsing even when the recipe is not in use.
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The relax-build-requirements patch capped wheel at <0.48.0, which
excludes exactly the wheel 0.48.0 that oe-core now ships, so do_compile
fails its build-requirement check:
ERROR Unmet dependencies ... wheel<0.48.0,>=0.37.1 found: 0.48.0
Drop the wheel upper cap entirely, mirroring the setuptools change
already in this patch: OE provides wheel via DEPENDS and builds with
--no-isolation, so the cap is spurious.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream ships its test suite under tests/ (plural), but the recipe
overrode PTEST_PYTEST_DIR to "test" (singular), which doesn't exist in
the source tree. ptest-python-pytest.bbclass's default is already
"tests"; drop the override so the real directory gets installed and
run instead of nothing.
Signed-off-by: Khem Raj <raj.khem@gmail.com>