From d1b67dbb6b5abab0316eb0668754300a6fc58276 Mon Sep 17 00:00:00 2001 From: wonka929 Date: Sat, 21 Feb 2026 11:33:59 +0100 Subject: [PATCH] Aggiungi script di build APK e template APKBUILD per WatchYourLAN --- pack/alpine/APKBUILD | 44 ++++++++++++++++++++++++++++++++++++++++ pack/alpine/build-apk.sh | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 pack/alpine/APKBUILD create mode 100644 pack/alpine/build-apk.sh diff --git a/pack/alpine/APKBUILD b/pack/alpine/APKBUILD new file mode 100644 index 0000000..c67b427 --- /dev/null +++ b/pack/alpine/APKBUILD @@ -0,0 +1,44 @@ +# APKBUILD template for WatchYourLAN +# Place this file in pack/alpine/ and run the included build script on an Alpine environment + +pkgname=watchyourlan +pkgver=2.4.1 +pkgrel=0 +pkgdesc="WatchYourLAN - network host scanner and UI" +url="https://github.com/aceberg/WatchYourLAN" +arch="x86_64" +license="MIT" +depends="inetutils-ping" +makedepends="go git" + +source="" +build() { + cd "$srcdir/$pkgname-$pkgver" || return 1 + export CGO_ENABLED=0 + export GOOS=linux + export GOARCH=x86_64 + GOPATH="" # ensure module mode + go build -ldflags "-s -w" -o watchyourlan ./backend/cmd/WatchYourLAN +} + +check() { + return 0 +} + +package() { + installdir "$pkgdir/usr/bin" + install -Dm0755 "$srcdir/$pkgname-$pkgver/watchyourlan" "$pkgdir/usr/bin/watchyourlan" + + installdir "$pkgdir/etc/watchyourlan" + if [ -f "$srcdir/$pkgname-$pkgver/configs/watchyourlan" ]; then + install -Dm0644 "$srcdir/$pkgname-$pkgver/configs/watchyourlan" "$pkgdir/etc/watchyourlan/watchyourlan" + fi + + # Install systemd unit (optional; Alpine typically uses OpenRC) + if [ -f "$srcdir/$pkgname-$pkgver/configs/watchyourlan.service" ]; then + installdir "$pkgdir/usr/lib/systemd/system" + install -Dm0644 "$srcdir/$pkgname-$pkgver/configs/watchyourlan.service" "$pkgdir/usr/lib/systemd/system/watchyourlan.service" + fi +} + +sha512sums="" diff --git a/pack/alpine/build-apk.sh b/pack/alpine/build-apk.sh new file mode 100644 index 0000000..2c22dda --- /dev/null +++ b/pack/alpine/build-apk.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env sh +set -e +# Simple helper to build the APK using abuild. +# NOTE: abuild must be run on an Alpine system (or in an Alpine chroot/container) +# and NOT as root. See the README below for setup notes. + +HERE=$(cd "$(dirname "$0")" && pwd) +PKGDIR=$(cd "$HERE" && pwd) + +if ! command -v abuild >/dev/null 2>&1; then + echo "abuild non trovato. Installa 'abuild' in Alpine: apk add abuild alpine-sdk" >&2 + exit 1 +fi + +if [ "$(id -u)" -eq 0 ]; then + echo "Non eseguire questo script come root. Esegui come utente normale in Alpine." >&2 + exit 1 +fi + +# Generate abuild key if missing +if [ ! -f "$HOME/.abuild/abuild-$(whoami).rsa" ]; then + echo "Generazione chiave abuild (abuild-keygen -a -i)..." + abuild-keygen -a -i +fi + +echo "Preparazione directory di build..." +tmpdir=$(mktemp -d) +trap 'rm -rf "$tmpdir"' EXIT + +echo "Copia sorgenti in $tmpdir" +# copy repository into a folder named watchyourlan- as expected by abuild +cp -a "$PKGDIR/../." "$tmpdir/watchyourlan-2.4.1" +cp "$PKGDIR/APKBUILD" "$tmpdir/watchyourlan-2.4.1/" + +cd "$tmpdir/watchyourlan-2.4.1" + +echo "Avvio build con abuild -r (richiede pacchetti makedepends installati)..." +abuild -r + +echo "Build completata. I pacchetti si trovano in ~/packages/ o nella directory configurata da abuild."