Merge branch 'pentoo:master' into master

This commit is contained in:
Anton Bolshakov 2025-12-13 11:02:03 +08:00 committed by GitHub
commit 5c1a3eef67
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 127 additions and 2174 deletions

View file

@ -0,0 +1,26 @@
name: Pentoo Build Test
on:
pull_request:
branches:
- master
jobs:
pentoo-build-test:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: List added files
run: git --no-pager diff --name-only "$(git rev-parse --verify origin/master 2> /dev/null)" HEAD
-
name: Pentoo Build Test
run: |
sudo docker build --progress=plain . -f scripts/qa/Dockerfile.build

View file

@ -25,4 +25,4 @@ jobs:
-
name: Visibility Check
run: |
sudo docker build --progress=plain . -f scripts/qa/Dockerfile
sudo docker build --progress=plain . -f scripts/qa/Dockerfile.visibility

2173
2586.patch

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
DIST meshtasticd-2.7.16-deps.zip 338967447 BLAKE2B 0006288fc64a7888c8024e020361b2e7e3a4b40066c6fcb8b5e24ab46d1a17c53ec10519960d22527ed4966fec9230dd5a509e7dc02e447c4815d8d808cfd3c1 SHA512 934fe53080a6750fbb913be32b8e75ad4bcb8401e98644ddcfaea093efa883c738e0848fd387011b57f7a1ed26849e2cc55df9cf536b7b99f6131b94a2f43829
DIST meshtasticd-2.7.16.tar.gz 3701474 BLAKE2B aebc48e579cf031e42f3b06a7694e3d63ef56333da32dbe0b541c6bc2069b9f0e5eb06d2acbadd4a5e272cf9a49f1eb17888bff5bff7894bb75bf248d1f4e3ae SHA512 e1eaa7f9d4cd033f301b7dc21822c20f4098923f2b6a2a6bc671d3fb9bebb004206831ccdfceb87a01982b8966dd0b144108376e5e7747d857f9116fc2a94060

View file

@ -0,0 +1,55 @@
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="off-grid, decentralized, mesh network"
HOMEPAGE="https://meshtastic.org/docs/hardware/devices/linux-native-hardware/"
SHORT_HASH="a597230"
#SRC_URI="https://github.com/meshtastic/firmware/releases/download/v${PV}.${SHORT_HASH}/meshtasticd-${PV}.21455.local${SHORT_HASH}-src.zip -> ${P}.zip
# https://github.com/meshtastic/firmware/releases/download/v${PV}.${SHORT_HASH}/platformio-deps-native-tft-${PV}.${SHORT_HASH}.zip -> ${P}-deps.zip"
SRC_URI="https://github.com/meshtastic/firmware/archive/refs/tags/v${PV}.${SHORT_HASH}.tar.gz -> ${P}.tar.gz
https://github.com/meshtastic/firmware/releases/download/v${PV}.${SHORT_HASH}/platformio-deps-native-tft-${PV}.${SHORT_HASH}.zip -> ${P}-deps.zip"
S="${WORKDIR}/firmware-${PV}.${SHORT_HASH}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="dev-cpp/yaml-cpp:=
dev-libs/libbsd
dev-libs/libgpiod:=
dev-libs/libinput:=
dev-libs/libusb:1
dev-libs/libuv:=
dev-libs/openssl:=
media-libs/libsdl2
net-wireless/bluez:=
sys-apps/i2c-tools
x11-libs/libX11
x11-libs/libxkbcommon"
RDEPEND="${DEPEND}"
BDEPEND="app-arch/unzip
dev-embedded/platformio"
src_prepare() {
default
mv "${WORKDIR}/pio-deps-native-tft" "${S}/pio" || die
}
src_compile() {
PLATFORMIO_CORE_DIR=pio/core \
PLATFORMIO_LIBDEPS_DIR=pio/libdeps \
PLATFORMIO_PACKAGES_DIR=pio/packages \
platformio run -e native-tft || die
}
src_install() {
newexe .pio/build/native-tft/program meshtasticd || die
insinto /etc/meshtasticd
newins bin/config-dist.yaml config.yaml || die
insinto /etc/meshtasticd/available.d
doins -r bin/config.d/*
insinto /lib/systemd/system
doins bin/meshtasticd.service
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
<remote-id type="github">meshtastic/firmware</remote-id>
</upstream>
</pkgmetadata>

View file

@ -0,0 +1,17 @@
FROM pentoolinux/pentoo-full
# Setup repos
WORKDIR /var/db/repos/
# setup gentoo repo
RUN git clone https://github.com/gentoo/gentoo.git --depth 1
# setup pentoo repo
#RUN git clone https://github.com/pentoo/pentoo-overlay.git pentoo --depth 1
# Use the github checkout for pentoo, that's what we are testing
COPY . pentoo
#Regen doubles the time it takes for the action to run
#Revisit if this is worth running when we have >2 emerge calls
#RUN time FEATURES="-ipc-sandbox -network-sandbox -pid-sandbox" emerge --regen --jobs=$(nproc) --quiet
WORKDIR /var/db/repos/pentoo
RUN ./scripts/qa/test-build

19
scripts/qa/test-build Executable file
View file

@ -0,0 +1,19 @@
#!/bin/bash
FAILED="0"
for i in $(git --no-pager diff --name-only "$(git rev-parse --verify origin/master 2> /dev/null)" HEAD); do
if [ "${i%.ebuild}" != "${i}" ]; then
printf "%s looks like an ebuild, testing\n" "${i}"
if FEATURES="-ipc-sandbox -network-sandbox -pid-sandbox" emerge --getbinpkg=y --buildpkg=n --jobs="$(nproc)" --load-average="$(nproc)" --verbose "$(printf '%s' "${i%.ebuild}" | awk -F'/' '{print "="$1"/"$3}')" --pretend; then
printf '%s appears to be unmasked, build testing' "${i}"
if FEATURES="-ipc-sandbox -network-sandbox -pid-sandbox" emerge --getbinpkg=y --buildpkg=n --jobs="$(nproc)" --load-average="$(nproc)" --verbose "$(printf '%s' "${i%.ebuild}" | awk -F'/' '{print "="$1"/"$3}')"; then
printf '%s build SUCCESS\n' "${i}"
else
printf '%s build FAILED\n' "${i}"
FAILED="1"
fi
else
printf '%s appears to be masked, skipping build test\n' "${i}"
fi
fi
done
exit "${FAILED}"