From patchwork Mon Jul 14 20:29:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeroen Hofstee X-Patchwork-Id: 66787 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B36B8C83F1D for ; Tue, 15 Jul 2025 04:43:24 +0000 (UTC) Received: from outbound9.mail.transip.nl (outbound9.mail.transip.nl [136.144.136.11]) by mx.groups.io with SMTP id smtpd.web10.88336.1752525032240686215 for ; Mon, 14 Jul 2025 13:30:33 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@myspectrum.nl header.s=transip-a header.b=LdHeMwIx; spf=pass (domain: myspectrum.nl, ip: 136.144.136.11, mailfrom: jeroen@myspectrum.nl) Received: from submission4.mail.transip.nl (unknown [10.103.8.155]) by outbound9.mail.transip.nl (Postfix) with ESMTP id 4bgv8P3KkdzTPSNr; Mon, 14 Jul 2025 22:30:29 +0200 (CEST) Received: from yellow.myspectrum.nl (unknown [IPv6:2a01:7c8:bb0c:45:5054:ff:fe01:854]) by submission4.mail.transip.nl (Postfix) with ESMTPSA id 4bgv8L1nHdz2pRDkL; Mon, 14 Jul 2025 22:30:26 +0200 (CEST) Received: from yellow.myspectrum.nl (82-75-103-118.cable.dynamic.v4.ziggo.nl [82.75.103.118]) (Authenticated sender: sendmail@myspectrum.nl) by yellow.myspectrum.nl (Postfix) with ESMTPSA id 2EE0820117; Mon, 14 Jul 2025 20:30:23 +0000 (UTC) Authentication-Results: yellow.myspectrum.nl; auth=pass smtp.auth=sendmail@myspectrum.nl smtp.mailfrom=jeroen@myspectrum.nl Received: by yellow.myspectrum.nl (sSMTP sendmail emulation); Mon, 14 Jul 2025 22:30:16 +0200 From: "Jeroen Hofstee" To: openembedded-devel@lists.openembedded.org Cc: Ross Burton , Jeroen Hofstee , Mark Bath Subject: [oe] [meta-networking][PATCH] tailscale: add initial recipe for v1.84.3 Date: Mon, 14 Jul 2025 22:29:15 +0200 Message-ID: <20250714202915.902593-1-jeroen@myspectrum.nl> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Scanned-By: ClueGetter at submission4.mail.transip.nl DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=transip-a; d=myspectrum.nl; t=1752525026; h=from:subject:to:cc:date: mime-version; bh=jPeG6u8V5OS6hmY7LrWEvmHutrThlZcgqMYq2w+vfnw=; b=LdHeMwIxWcHNyBwyWmx2Fe3XwEXRi5Xmj/1zBssuD8llHUysjbLOX6dVMH9jFMb5LJ+0Kj R2PAB8OtbsS1rH0g334e41UVnP3iNQKGkaJ46WW2arDpcDVuNR61B8JRA/O6UVObHoRleF Gmv4cpcwVFnliPWXLlkXhN77RBZVebKJ7AqeR6oPchsZWLUKfMioqNNYun9OB9XYg+WvvR k+YkHmn/8JKmwuRLg/TeVn2/Az8u0SjivYCBJ10Ch+FCNgC3ffcEYbB/+BE7Y3Q/T7Sdd8 HQ/UmLEYL4p+m0TIWESrfh05J9CnYLInuPczynUC1SrOHAjsjAmO+V4jHk0ZTA== X-Report-Abuse-To: abuse@transip.nl List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 15 Jul 2025 04:43:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/118549 From: Jeroen Hofstee Tailscale is a mesh VPN built on the WireGuard protocol. On the client side, it includes a node agent (tailscaled) and a client application for configuration (tailscale). These components can be bundled into a single binary for a smaller total size, which is done in this recipe. Signed-off-by: Jeroen Hofstee Signed-off-by: Mark Bath --- .../tailscale/files/tailscaled.init | 63 +++++++++++++++++ .../tailscale/tailscale-go-mods.inc | 68 ++++++++++++++++++ .../tailscale/tailscale-licenses.inc | 70 +++++++++++++++++++ .../tailscale/tailscale_1.84.3.bb | 65 +++++++++++++++++ 4 files changed, 266 insertions(+) create mode 100644 meta-networking/recipes-connectivity/tailscale/files/tailscaled.init create mode 100644 meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc create mode 100644 meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc create mode 100644 meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb diff --git a/meta-networking/recipes-connectivity/tailscale/files/tailscaled.init b/meta-networking/recipes-connectivity/tailscale/files/tailscaled.init new file mode 100644 index 0000000000..966ef11252 --- First of all, I am not familiar with go. This is the first time we intend to use it. Since there wasn't a go-mods generator only a GO_IMPORT, at least that I could find, I wrote a script / bbclass to generate them as well, like the go-mod-update-modules.bbclass which is now in openembeddded-core. Unlike the `go list` I use `go compile`, since the former seems to report far more modules then needed to just install for tailscale. For testing / comparing I put that code at [1]. The format should be compatible though with the go-mod-update-modules.bbclass, it will just add more modules, which don't seem to be needed for tailscale. [1] https://github.com/jhofstee/meta-jhofstee --- /dev/null +++ b/meta-networking/recipes-connectivity/tailscale/files/tailscaled.init @@ -0,0 +1,63 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: tailscaled +# Required-Start: $network $local_fs +# Required-Stop: $network $local_fs +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Tailscale node agent +# Description: Start the Tailscale daemon. +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DAEMON=/usr/sbin/tailscaled +PIDFILE=/var/run/tailscaled.pid +NAME=tailscaled +DESC="Tailscale node agent" + +test -x $DAEMON || exit 0 + +set -e + +. /etc/init.d/functions + +delay_stop() { + count=0 + while [ $count -lt 9 ] ; do + if pidof $DAEMON >/dev/null; then + sleep 1 + else + return 0 + fi + count=$(expr $count + 1) + done + echo "Failed to stop $DESC." + return 1 +} + +case "$1" in + start) + echo -n "starting $DESC: $NAME... " + start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON + echo "done." + ;; + stop) + echo -n "stopping $DESC: $NAME... " + start-stop-daemon --stop --pidfile $PIDFILE + echo "done." + ;; + restart) + $0 stop + delay_stop && $0 start + ;; + status) + status $DAEMON + exit $? + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc b/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc new file mode 100644 index 0000000000..d6c0499b22 --- /dev/null +++ b/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc @@ -0,0 +1,68 @@ +SRC_URI += " \ + gomod://filippo.io/edwards25519;version=v1.1.0;sha256sum=9ac43a686d06fdebd719f7af3866c87eb069302272dfb131007adf471c308b65 \ + gomod://github.com/anmitsu/go-shlex;version=v0.0.0-20200514113438-38f4b401e2be;sha256sum=2a5cf7c9a2709f649fd508cbacb2be96e4fba4d534a28a122ee4d7574af40b5e \ + gomod://github.com/coder/websocket;version=v1.8.12;sha256sum=ad8d323970c04679f4566ee7db98946508c37cdd21a46a875d5257d631a9e990 \ + gomod://github.com/coreos/go-iptables;version=v0.7.1-0.20240112124308-65c67c9f46e6;sha256sum=6d0ae6344f1d355f72e6aaba583ce73822861511337ca92cc1c4727fc8ba66dd \ + gomod://github.com/creack/pty;version=v1.1.23;sha256sum=2151b7121020954864de83eacf854634866cca0a3bfe33a2ebffa2edebc25df3 \ + gomod://github.com/digitalocean/go-smbios;version=v0.0.0-20180907143718-390a4f403a8e;sha256sum=2bc498a09aa55b3417bebacce448b2d2ab757981e59b6b016d08cf97e4a7bdde \ + gomod://github.com/djherbis/times;version=v1.6.0;sha256sum=21d69060967bc03ea3c39ff8c0b1a95511e96eccd3749a2daef1a02af1bc0a85 \ + gomod://github.com/fxamacker/cbor/v2;version=v2.7.0;sha256sum=b48771460405bab6896c85e21ebc5ff287d4018c6db5c8d822c55769c80dde03 \ + gomod://github.com/gaissmai/bart;version=v0.18.0;sha256sum=566f2401988b2536055d87f6851ea596518377ee4592176375b84a5ca791fc77 \ + gomod://github.com/go-json-experiment/json;version=v0.0.0-20250223041408-d3c622f1b874;sha256sum=96edf3942a5665ff2b27f0da4586e2602fe4816dc31e184d3bcd6fbf4cdb13e4 \ + gomod://github.com/godbus/dbus/v5;version=v5.1.1-0.20230522191255-76236955d466;sha256sum=262f43ec87570238a0e770e7fa656dda70fe6050a7edf5addc30287cb64b21a6 \ + gomod://github.com/golang/groupcache;version=v0.0.0-20210331224755-41bb18bfe9da;sha256sum=b27034e8fc013627543e1ad098cfc65329f2896df3da5cf3266cc9166f93f3a5 \ + gomod://github.com/google/btree;version=v1.1.2;sha256sum=faee8550c5fffb4ae1dadde5ccaccb13298726f9fad226bb4eed0c03c90a481d \ + gomod://github.com/google/go-tpm;version=v0.9.4;sha256sum=a8a5e504fbd78284a50e6ab625f6248cfbb89421fafdfee71d66abc6e1dfc192 \ + gomod://github.com/google/nftables;version=v0.2.1-0.20240414091927-5e242ec57806;sha256sum=ceb96b39a6f9004d8c217a6ae61b91a69c250bc30fbf3a04cd87cbbfddea73c8 \ + gomod://github.com/gorilla/csrf;version=v1.7.3;sha256sum=39923b0dde0b8be30d3572589a8cc2ea515ca36a3e542269645db36aff7d6842 \ + gomod://github.com/gorilla/securecookie;version=v1.1.2;sha256sum=fd7c0de7000c2e6a123d73e1249e1dce892ba29d2d03b00dc81d5fcee41d5895 \ + gomod://github.com/hdevalence/ed25519consensus;version=v0.2.0;sha256sum=111cafade3ba9c7c3adf66b6a424386e30829c46c60b80dabe288e1837d30e33 \ + gomod://github.com/illarion/gonotify/v3;version=v3.0.2;sha256sum=fef3e17f676c8ce98b60f0e2180fc4e3331e6e1604eaf96ab8791e073f96a7af \ + gomod://github.com/insomniacslk/dhcp;version=v0.0.0-20231206064809-8c70d406f6d2;sha256sum=be28971fb642a9c4cf9f16e07332310af05c291584b6440b32849ca058dd345d \ + gomod://github.com/jellydator/ttlcache/v3;version=v3.1.0;sha256sum=278dfc9b4882eaeb9b56e925b574028f3e9cc4436645b93f56ccb69de134a898 \ + gomod://github.com/jsimonetti/rtnetlink;version=v1.4.0;sha256sum=81625291f4d0a08718dfd2170873d1adfd8fc2248657584f520c4de6de9e2e4d \ + gomod://github.com/kballard/go-shellquote;version=v0.0.0-20180428030007-95032a82bc51;sha256sum=ae4cb7b097dc4eb0c248dff00ed3bbf0f36984c4162ad1d615266084e58bd6cc \ + gomod://github.com/klauspost/compress;version=v1.17.11;sha256sum=88dea800cc6a11ccb9dd2f0dd487f30e8701870abdfc11245e41dcfc9f3d428e \ + gomod://github.com/kortschak/wol;version=v0.0.0-20200729010619-da482cc4850a;sha256sum=09c15500a0ef54af0796f37282dd5377d2b866e4c36c87dcb6b2894cf3114dc5 \ + gomod://github.com/kr/fs;version=v0.1.0;sha256sum=d376bd98e81aea34585fc3b04bab76363e9e87cde69383964e57e9779f2af81e \ + gomod://github.com/mattn/go-colorable;version=v0.1.13;sha256sum=08be322dcc584a9fcfde5caf0cf878b4e11cd98f252e32bc704e92c5a4ba9d15 \ + gomod://github.com/mattn/go-isatty;version=v0.0.20;sha256sum=f2d5f89ca451577e17464b9bb596dc0d0ecececb5eaa63622c41b57cd0b7b8cc \ + gomod://github.com/mdlayher/genetlink;version=v1.3.2;sha256sum=0924e7da370fdb2e7bea20fdde519ae37377db35500cd0aaf09769eddb314e19 \ + gomod://github.com/mdlayher/netlink;version=v1.7.3-0.20250113171957-fbb4dce95f42;sha256sum=b427c8c746e87c2f8033678fb87cdcf5cefb21ce16f35930eff91683661395f0 \ + gomod://github.com/mdlayher/sdnotify;version=v1.0.0;sha256sum=26f4efbcba73eaec323973c8ae335bad430e5d6947097976cfbe7c9547f68c90 \ + gomod://github.com/mdlayher/socket;version=v0.5.0;sha256sum=931626341956178fe6015b128fdda22283480d05dc964675307eb61ed39c29fe \ + gomod://github.com/miekg/dns;version=v1.1.58;sha256sum=179bd419d011fd90802355756f59fff70ddf9a5886a4db6336a6d05783552b16 \ + gomod://github.com/mitchellh/go-ps;version=v1.0.0;sha256sum=f2f0400b1d5e136419daed275c27a930b0f5447ac12bb8acd3ddbe39547b2834 \ + gomod://github.com/peterbourgon/ff/v3;version=v3.4.0;sha256sum=b49537268ce67eb755d773fdd2a3e1c9c6dec0731993a4f742080416eb9b12a6 \ + gomod://github.com/pierrec/lz4/v4;version=v4.1.21;sha256sum=bd2e8ef13800ca42205b0d4085a927a6d012b82cfa831769be4830036e953bec \ + gomod://github.com/pkg/sftp;version=v1.13.6;sha256sum=0cdf6bd0edef9db8137ce398c9bbe514713e42cf2d4d415b5025f4a3c33f249d \ + gomod://github.com/safchain/ethtool;version=v0.3.0;sha256sum=bfa1a3fe314a3f2ac4c4385a6c4694708e4881bfd86c34668eca92656e398590 \ + gomod://github.com/skip2/go-qrcode;version=v0.0.0-20200617195104-da1b6568686e;sha256sum=3fc1c4d11c79001d1cc2df0de87493b324b9af141cc59ae8c212612dd2c90e90 \ + gomod://github.com/tailscale/goupnp;version=v1.0.1-0.20210804011211-c64d0f06ea05;sha256sum=1c7ed6ecc16b6f402c225bae88a067a8bc1574cded894638b820c5da751823cc \ + gomod://github.com/tailscale/hujson;version=v0.0.0-20221223112325-20486734a56a;sha256sum=8e65bacebfc0a1edc067fd97f839fcfeb93c1e7b8cc0186d1773cff4e125d9d5 \ + gomod://github.com/tailscale/netlink;version=v1.1.1-0.20240822203006-4d49adab4de7;sha256sum=a5195ef600f8d9a0fb8501eea85e4fe0321a74bd57dec88f07b8569d0ee4f55e \ + gomod://github.com/tailscale/peercred;version=v0.0.0-20250107143737-35a0c7bd7edc;sha256sum=87d0f4f3b1d59ea45c9a87b775b615bebd721a5870dafedc63cc860ec4aac281 \ + gomod://github.com/tailscale/web-client-prebuilt;version=v0.0.0-20250124233751-d4cd19a26976;sha256sum=1d02f0804bb41e0743b7d889b8e2dbd8466a89793f03997f4c1fd10f9e8974c3 \ + gomod://github.com/tailscale/wireguard-go;version=v0.0.0-20250304000100-91a0587fb251;sha256sum=7b82eb990f2f3686d335cdff5e988f8d4e27e031d563fb0e37bce1a3b0c5a83f \ + gomod://github.com/tailscale/xnet;version=v0.0.0-20240729143630-8497ac4dab2e;sha256sum=438abf28ce5fb03adf529c2cb57a451f9b243c4a2a181d9d06cdb61bb10960e7 \ + gomod://github.com/toqueteos/webbrowser;version=v1.2.0;sha256sum=1227d3ebeab16d8232a304a10b087984a96ad30f7439b6687bab2f5747d308cf \ + gomod://github.com/u-root/u-root;version=v0.14.0;sha256sum=a65c0a06236b10a0cea50e603fef0ced0c7e343a66ef957a45ebcd51f304d286 \ + gomod://github.com/u-root/uio;version=v0.0.0-20240224005618-d2acac8f3701;sha256sum=f6e8f912e968744999d508c3df54f0308aaf337052a8d0bd3edd72583adfd9cd \ + gomod://github.com/vishvananda/netns;version=v0.0.4;sha256sum=cdaebcd80614800a74537e59855730d42393ffc109ebd47e5b8437dcc4d7f429 \ + gomod://github.com/x448/float16;version=v0.8.4;sha256sum=73b24a41037ea999ab66851e3798a0973dbb1f214925915b01f0820f7b2f1500 \ + gomod://go4.org/mem;version=v0.0.0-20240501181205-ae6ca9944745;sha256sum=9b5037a57122457fdc5c2c0a31e3996b44cf9dfcdee5c53ed72adfd88d077795 \ + gomod://go4.org/netipx;version=v0.0.0-20231129151722-fdeea329fbba;sha256sum=e15f57de368c92b826010181906f26112ba3a0d7fde7d94c8a8c60c525dc4044 \ + gomod://golang.org/x/crypto;version=v0.37.0;sha256sum=7ce6b2be21be1ce9e04dc784830e08931f09b5903596b8017839322c9e828667 \ + gomod://golang.org/x/exp;version=v0.0.0-20250210185358-939b2ce775ac;sha256sum=de413a97994a7b97541cb1f867439fa20b60361d79dc35e8e2faf847a2a188df \ + gomod://golang.org/x/net;version=v0.36.0;sha256sum=e823a351657b349cd8a705079778769534d90a5c3a6c7caed174a79608257d12 \ + gomod://golang.org/x/oauth2;version=v0.26.0;sha256sum=d4c1bfc661b8ff3ccb3d5d30babf5f67798b59e2bfa932b6f1f739e67e45dcda \ + gomod://golang.org/x/sync;version=v0.13.0;sha256sum=4bdaaffe69cc7c997cff97cd81dc9c6777777bd311175f100f76b049bbbe7ed9 \ + gomod://golang.org/x/sys;version=v0.32.0;sha256sum=85d47075d21fd7ef35d9a47fc73f2356fb3cd2e7fab7f45c874b814bf312127d \ + gomod://golang.org/x/term;version=v0.31.0;sha256sum=bdeda753791b44f6815ccf3367ff57ffaca9bb100bfe8ebe112c8da133e78aec \ + gomod://golang.org/x/text;version=v0.24.0;sha256sum=f585335a57a6fa5fa0c0bf319b45f0909e5ff1aba91e8567187ba8e423084c00 \ + gomod://golang.org/x/time;version=v0.10.0;sha256sum=7420a12017bb47bd85ccab81f9d1f7a3ff6daf8da768256292bc1dbb3bf9ba63 \ + gomod://gvisor.dev/gvisor;version=v0.0.0-20250205023644-9414b50a5633;sha256sum=b373e677e77f28c095b43ed976f5d9ca885d3b1b5407a71a5691e4a47e813bd0 \ + gomod://k8s.io/client-go;version=v0.32.0;sha256sum=74ee50d42da263c0743212c17a12f16d8a3283f31f7c9209c6327b6656ac1550 \ + gomod://sigs.k8s.io/yaml;version=v1.4.0;sha256sum=ef031ff78ff9b7036e174eef49dfbd77468dc4f0afb73a639b61f8ab3a1cc425 \ + gomod://software.sslmate.com/src/go-pkcs12;version=v0.4.0;sha256sum=55019a391e5302a51ba62e98909e006224b81207866da90beaf582ec0dee036f \ +" diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc b/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc new file mode 100644 index 0000000000..9c91af1d53 --- /dev/null +++ b/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc @@ -0,0 +1,70 @@ +LIC_FILES_CHKSUM += " \ + file://pkg/mod/filippo.io/edwards25519@v1.1.0/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/anmitsu/go-shlex@v0.0.0-20200514113438-38f4b401e2be/LICENSE;md5=45a47c50f5b33ff9ab3347c7db1bfb6a;spdx=MIT \ + file://pkg/mod/github.com/coder/websocket@v1.8.12/LICENSE.txt;md5=bc0b6f68116166556efe7184edfda3e9;spdx=ISC \ + file://pkg/mod/github.com/coreos/go-iptables@v0.7.1-0.20240112124308-65c67c9f46e6/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ + file://pkg/mod/github.com/creack/pty@v1.1.23/LICENSE;md5=93958070863d769117fa33b129020050;spdx=MIT \ + file://pkg/mod/github.com/digitalocean/go-smbios@v0.0.0-20180907143718-390a4f403a8e/LICENSE.md;md5=c1653934903ab2785c09c2bdd7344526;spdx=Apache-2.0 \ + file://pkg/mod/github.com/djherbis/times@v1.6.0/LICENSE;md5=3cafd141825e7a44b1c6a047b2320012;spdx=MIT \ + file://pkg/mod/github.com/fxamacker/cbor/v2@v2.7.0/LICENSE;md5=827f5a2fa861382d35a3943adf9ebb86;spdx=MIT \ + file://pkg/mod/github.com/gaissmai/bart@v0.18.0/LICENSE;md5=05779e437ec35570aca43cc66a95e056;spdx=MIT \ + file://pkg/mod/github.com/go-json-experiment/json@v0.0.0-20250223041408-d3c622f1b874/LICENSE;md5=9d210c7471ce08e3db5261f33bf8fce6;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed;spdx=BSD-2-Clause \ + file://pkg/mod/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ + file://pkg/mod/github.com/google/btree@v1.1.2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/google/go-tpm@v0.9.4/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/google/nftables@v0.2.1-0.20240414091927-5e242ec57806/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/gorilla/csrf@v1.7.3/LICENSE;md5=c30eee78985cf2584cded5f89ba3d787;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/gorilla/securecookie@v1.1.2/LICENSE;md5=c30eee78985cf2584cded5f89ba3d787;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/hdevalence/ed25519consensus@v0.2.0/LICENSE;md5=4041895a1f717acb5be52e24edb19917;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/illarion/gonotify/v3@v3.0.2/LICENSE;md5=6b631a3123c7c679195702a8a35c9f21;spdx=MIT \ + file://pkg/mod/github.com/insomniacslk/dhcp@v0.0.0-20231206064809-8c70d406f6d2/LICENSE;md5=ceaf33b8b657b2d342dbd3bb59578d8a;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/jellydator/ttlcache/v3@v3.1.0/LICENSE;md5=4cea77626c625d583c98a85a8658f9d2;spdx=MIT \ + file://pkg/mod/github.com/jsimonetti/rtnetlink@v1.4.0/LICENSE.md;md5=75a8090d4c02945ad9d61c7cce77ed48;spdx=MIT \ + file://pkg/mod/github.com/kballard/go-shellquote@v0.0.0-20180428030007-95032a82bc51/LICENSE;md5=9d95d1ad917c814c23909addb8692eeb;spdx=MIT \ + file://pkg/mod/github.com/klauspost/compress@v1.17.11/LICENSE;md5=d0fd9ebda39468b51ff4539c9fbb13a8;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/kortschak/wol@v0.0.0-20200729010619-da482cc4850a/LICENSE;md5=5a0acdb344844a21e2df8bc2e1fe5f2d;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/kr/fs@v0.1.0/LICENSE;md5=591778525c869cdde0ab5a1bf283cd81;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/mattn/go-colorable@v0.1.13/LICENSE;md5=24ce168f90aec2456a73de1839037245;spdx=MIT \ + file://pkg/mod/github.com/mattn/go-isatty@v0.0.20/LICENSE;md5=f509beadd5a11227c27b5d2ad6c9f2c6;spdx=MIT \ + file://pkg/mod/github.com/mdlayher/genetlink@v1.3.2/LICENSE.md;md5=e08504321a9b3e86ee07433c231b33f1;spdx=MIT \ + file://pkg/mod/github.com/mdlayher/netlink@v1.7.3-0.20250113171957-fbb4dce95f42/LICENSE.md;md5=e08504321a9b3e86ee07433c231b33f1;spdx=MIT \ + file://pkg/mod/github.com/mdlayher/sdnotify@v1.0.0/LICENSE.md;md5=a57b2e272a0c75c413c784bb877cda50;spdx=MIT \ + file://pkg/mod/github.com/mdlayher/socket@v0.5.0/LICENSE.md;md5=bdcb2fcb7aea8a34d189ef572a59ff88;spdx=MIT \ + file://pkg/mod/github.com/miekg/dns@v1.1.58/LICENSE;md5=b5215dfec2c591290f399a181669bef7;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/mitchellh/go-ps@v1.0.0/LICENSE.md;md5=56da355a12d4821cda57b8f23ec34bc4;spdx=MIT \ + file://pkg/mod/github.com/peterbourgon/ff/v3@v3.4.0/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e;spdx=Apache-2.0 \ + file://pkg/mod/github.com/pierrec/lz4/v4@v4.1.21/LICENSE;md5=09ece85f3c312a63b522bfc6ebd44943;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/pkg/sftp@v1.13.6/LICENSE;md5=452fc5cc5a9127a0e828d73423d45035;spdx=BSD-2-Clause \ + file://pkg/mod/github.com/safchain/ethtool@v0.3.0/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ + file://pkg/mod/github.com/skip2/go-qrcode@v0.0.0-20200617195104-da1b6568686e/LICENSE;md5=515c25e1450ede2834397875c18439d4;spdx=MIT \ + file://pkg/mod/github.com/tailscale/goupnp@v1.0.1-0.20210804011211-c64d0f06ea05/LICENSE;md5=3d7eee8afacfccb446c1ac30289c965d;spdx=BSD-2-Clause \ + file://pkg/mod/github.com/tailscale/hujson@v0.0.0-20221223112325-20486734a56a/LICENSE;md5=073f7ac93b9172ac4e1d258584fc0271;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/tailscale/netlink@v1.1.1-0.20240822203006-4d49adab4de7/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ + file://pkg/mod/github.com/tailscale/peercred@v0.0.0-20250107143737-35a0c7bd7edc/LICENSE;md5=94eaeed21686fd9816f57f86b9914071;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/tailscale/web-client-prebuilt@v0.0.0-20250124233751-d4cd19a26976/LICENSE;md5=a672713a9eb730050e491c92edf7984d;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/tailscale/wireguard-go@v0.0.0-20250304000100-91a0587fb251/LICENSE;md5=995598bc9de2b4c987c2cb87fc24f341;spdx=MIT \ + file://pkg/mod/github.com/tailscale/xnet@v0.0.0-20240729143630-8497ac4dab2e/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/toqueteos/webbrowser@v1.2.0/LICENSE.md;md5=6072d29ffa4b14338ff8fd68f17f6851;spdx=MIT \ + file://pkg/mod/github.com/u-root/u-root@v0.14.0/LICENSE;md5=bf431bf303eaf01f17bef6624d9f2208;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/u-root/uio@v0.0.0-20240224005618-d2acac8f3701/LICENSE;md5=52bf39fc1e426b6459f5c9a142e5bfbd;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/vishvananda/netns@v0.0.4/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ + file://pkg/mod/github.com/x448/float16@v0.8.4/LICENSE;md5=de8f8e025d57fe7ee0b67f30d571323b;spdx=MIT \ + file://pkg/mod/go4.org/mem@v0.0.0-20240501181205-ae6ca9944745/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ + file://pkg/mod/go4.org/netipx@v0.0.0-20231129151722-fdeea329fbba/LICENSE;md5=628df198dc9e033b86b8eedff039ff86;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/crypto@v0.37.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/exp@v0.0.0-20250210185358-939b2ce775ac/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/net@v0.36.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/oauth2@v0.26.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/sync@v0.13.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/sys@v0.32.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/term@v0.31.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/text@v0.24.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/time@v0.10.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/gvisor.dev/gvisor@v0.0.0-20250205023644-9414b50a5633/LICENSE;md5=fbbaf7613c100c84b8f20701859dee2d;spdx=MIT+%26+Apache-2.0 \ + file://pkg/mod/k8s.io/client-go@v0.32.0/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/sigs.k8s.io/yaml@v1.4.0/LICENSE;md5=b5d30dd5bc47d1b56b678ac06dead1c7;spdx=MIT+%26+Apache-2.0+%26+BSD-3-Clause \ + file://pkg/mod/software.sslmate.com/src/go-pkcs12@v0.4.0/LICENSE;md5=259f3802525423b1a33efb1b85f64e18;spdx=BSD-3-Clause \ +" + +LICENSE += " & Apache-2.0 & BSD-2-Clause & BSD-3-Clause & ISC & MIT" diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb b/meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb new file mode 100644 index 0000000000..22282f55ff --- /dev/null +++ b/meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb @@ -0,0 +1,65 @@ +SUMMARY = "Tailscale client and daemon" +DESCRIPTION = "The easiest, most secure way to use WireGuard and 2FA." +HOMEPAGE = "https://github.com/tailscale/tailscale" +SECTION = "networking" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=a672713a9eb730050e491c92edf7984d" +require ${BPN}-licenses.inc + +MAJOR_MINOR = "${@oe.utils.trim_version('${PV}', 2)}" +SRC_URI = "git://github.com/tailscale/tailscale.git;protocol=https;branch=release-branch/${MAJOR_MINOR};destsuffix=${GO_SRCURI_DESTSUFFIX} \ + file://tailscaled.init \ + " +SRCREV = "7648989bc54738b1e40dde74fa822984a63cbc05" +SRCREV_SHORT = "${@d.getVar('SRCREV')[:8]}" +require ${BPN}-go-mods.inc + +GO_IMPORT = "tailscale.com" +GO_INSTALL = "${GO_IMPORT}/cmd/tailscaled" +GO_LINKSHARED = "" +GOBUILDFLAGS:prepend = "-tags=${@','.join(d.getVar('PACKAGECONFIG_CONFARGS').split())} " +GO_EXTRA_LDFLAGS = "-X tailscale.com/version.longStamp=${PV}-${SRCREV_SHORT} -X tailscale.com/version.shortStamp=${PV}" + +inherit go-mod update-rc.d + +PACKAGECONFIG ??= "aws bird capture cli kube ssh tap wakeonlan" +PACKAGECONFIG[aws] = ",ts_omit_aws" +PACKAGECONFIG[bird] = ",ts_omit_bird" +PACKAGECONFIG[capture] = ",ts_omit_capture" +PACKAGECONFIG[cli] = "ts_include_cli" +PACKAGECONFIG[completion] = ",ts_omit_completion" +PACKAGECONFIG[kube] = ",ts_omit_kube" +PACKAGECONFIG[ssh] = ",ts_omit_ssh" +PACKAGECONFIG[tap] = ",ts_omit_tap" +PACKAGECONFIG[wakeonlan] = ",ts_omit_wakeonlan" + +PACKAGES =+ "${PN}d" + +INITSCRIPT_PACKAGES = "${PN}d" +INITSCRIPT_NAME:${PN}d = "tailscaled" +INITSCRIPT_PARAMS:${PN}d = "defaults 91 9" + +RDEPENDS:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'completion', 'bash-completion', '', d)}" +RDEPENDS:${PN}d = "iptables" +RRECOMMENDS:${PN}d = "kernel-module-wireguard" + +# override do_install, since it installs in bin instead of sbin +do_install() { + install -d ${D}/${sbindir} + install -m 0755 ${B}/bin/${GOOS}_${GOARCH}/tailscaled ${D}/${sbindir}/tailscaled + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'cli', 'true', 'false', d)}" = 'true' ]; then + install -d ${D}/${bindir} + ln -sr ${D}${sbindir}/tailscaled ${D}${bindir}/tailscale + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/tailscaled.init ${D}${sysconfdir}/init.d/tailscaled + fi +} + +# mark these as src, since there are bash script etc in there and QA will complain otherwise +FILES:${PN}-src += "${libdir}/go/src" +FILES:${PN}d = "${sysconfdir}"