unos-repository

APK repository for unos
git clone git://git.finwo.net/misc/unos-repository
Log | Files | Refs | README

commit 0a04a4b2e4a1124d61b199a281f37f760a739b10
parent b36fa44d554ceb9e9a481ad439e12712569082e9
Author: Robin Bron <robin.bron@yourhosting.nl>
Date:   Fri,  2 Oct 2026 14:22:58 +0200

Add dnsmasq

Diffstat:
M.conductor.yml | 42++++++++++++++++++++++++++++++++++++++++++
Achannels/base/packages/dnsmasq/files/dnsmasq-check | 2++
Achannels/base/packages/dnsmasq/files/dnsmasq-log-run | 2++
Achannels/base/packages/dnsmasq/files/dnsmasq-run | 3+++
Achannels/base/packages/dnsmasq/files/dnsmasq.conf | 3+++
Achannels/base/packages/dnsmasq/template | 46++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 98 insertions(+), 0 deletions(-)

diff --git a/.conductor.yml b/.conductor.yml @@ -158,6 +158,19 @@ tasks: - ./mk/build.sh --channel edge curl - ./mk/publish.sh --channel edge --arch "$ARCH" curl + pkg-edge-dnsmasq: + needs: + - check + arch: [x86_64] + requires: [unos-sign-key] + script: + - ./mk/check-revision.sh --channel edge dnsmasq --pkgver 2.93-r0 --repo "$BUCKET_PUBLIC_URL" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } + - ./mk/channel-assemble.sh edge + - ./mk/bootstrap-host.sh + - ./mk/sysroot.sh --channel edge --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" dnsmasq + - ./mk/build.sh --channel edge dnsmasq + - ./mk/publish.sh --channel edge --arch "$ARCH" dnsmasq + pkg-edge-dosfstools: needs: - check @@ -517,6 +530,19 @@ tasks: - ./mk/build.sh --channel lts curl - ./mk/publish.sh --channel lts --arch "$ARCH" curl + pkg-lts-dnsmasq: + needs: + - check + arch: [x86_64] + requires: [unos-sign-key] + script: + - ./mk/check-revision.sh --channel lts dnsmasq --pkgver 2.93-r0 --repo "$BUCKET_PUBLIC_URL" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } + - ./mk/channel-assemble.sh lts + - ./mk/bootstrap-host.sh + - ./mk/sysroot.sh --channel lts --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" dnsmasq + - ./mk/build.sh --channel lts dnsmasq + - ./mk/publish.sh --channel lts --arch "$ARCH" dnsmasq + pkg-lts-dosfstools: needs: - check @@ -876,6 +902,19 @@ tasks: - ./mk/build.sh --channel stable curl - ./mk/publish.sh --channel stable --arch "$ARCH" curl + pkg-stable-dnsmasq: + needs: + - check + arch: [x86_64] + requires: [unos-sign-key] + script: + - ./mk/check-revision.sh --channel stable dnsmasq --pkgver 2.93-r0 --repo "$BUCKET_PUBLIC_URL" || { rc=$?; [ "$rc" = 1 ] && exit 0; exit "$rc"; } + - ./mk/channel-assemble.sh stable + - ./mk/bootstrap-host.sh + - ./mk/sysroot.sh --channel stable --arch "$ARCH" --repo "$BUCKET_PUBLIC_URL" dnsmasq + - ./mk/build.sh --channel stable dnsmasq + - ./mk/publish.sh --channel stable --arch "$ARCH" dnsmasq + pkg-stable-dosfstools: needs: - check @@ -1134,6 +1173,7 @@ tasks: - pkg-edge-base-files - pkg-edge-busybox - pkg-edge-curl + - pkg-edge-dnsmasq - pkg-edge-dosfstools - pkg-edge-e2fsprogs - pkg-edge-efivar @@ -1171,6 +1211,7 @@ tasks: - pkg-lts-base-files - pkg-lts-busybox - pkg-lts-curl + - pkg-lts-dnsmasq - pkg-lts-dosfstools - pkg-lts-e2fsprogs - pkg-lts-efivar @@ -1208,6 +1249,7 @@ tasks: - pkg-stable-base-files - pkg-stable-busybox - pkg-stable-curl + - pkg-stable-dnsmasq - pkg-stable-dosfstools - pkg-stable-e2fsprogs - pkg-stable-efivar diff --git a/channels/base/packages/dnsmasq/files/dnsmasq-check b/channels/base/packages/dnsmasq/files/dnsmasq-check @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/nc -z -w2 127.0.0.1 53 diff --git a/channels/base/packages/dnsmasq/files/dnsmasq-log-run b/channels/base/packages/dnsmasq/files/dnsmasq-log-run @@ -0,0 +1,2 @@ +#!/bin/sh +exec svlogd -tt /var/log/dnsmasq diff --git a/channels/base/packages/dnsmasq/files/dnsmasq-run b/channels/base/packages/dnsmasq/files/dnsmasq-run @@ -0,0 +1,3 @@ +#!/bin/sh +exec 2>&1 +exec /usr/sbin/dnsmasq -k --log-facility=- --pid-file= diff --git a/channels/base/packages/dnsmasq/files/dnsmasq.conf b/channels/base/packages/dnsmasq/files/dnsmasq.conf @@ -0,0 +1,3 @@ +local-service +bind-interfaces +conf-dir=/etc/dnsmasq.d,*.conf diff --git a/channels/base/packages/dnsmasq/template b/channels/base/packages/dnsmasq/template @@ -0,0 +1,46 @@ +# Template file for 'dnsmasq' +pkgname=dnsmasq +version=2.93 +revision=0 +short_desc="Lightweight DHCP and caching DNS server" +maintainer="finwo <finwo@pm.me>" +license="GPL-2.0-only OR GPL-3.0-only" +homepage="https://thekelleys.org.uk/dnsmasq/doc.html" +distfiles="https://thekelleys.org.uk/dnsmasq/dnsmasq-2.93.tar.xz" +# Upstream .asc verified against Simon Kelley's key +# D6EACBD6EE46B834248D111215CDDA6AE19135A2 before recording this. +checksum=0c00d4e5c97c8306e5fb932b348b34269c9c29a0e7df0e8e82958b407092bc19 +depends="glibc busybox" + +# No configure script. Every optional (dbus, idn2, dnssec/nettle, conntrack, +# lua, ubus, nftset) is reached only through COPTS, so an empty COPTS cannot +# pick up a host library; do_build asserts that. +do_build() { + cd "${WRKSRC}" + make -j"$(nproc)" PREFIX=/usr + [ -x src/dnsmasq ] || die "dnsmasq: binary missing after build" + needed=$(readelf -d src/dnsmasq | sed -n 's/^.*NEEDED.*\[\(.*\)\].*$/\1/p' | sort) + for lib in ${needed}; do + case "${lib}" in + libc.so.*) : ;; + *) die "dnsmasq: unexpected NEEDED entry: ${lib}" ;; + esac + done +} + +do_install() { + cd "${WRKSRC}" + make install PREFIX=/usr DESTDIR="${DESTDIR}" + vinstall ${FILESDIR}/dnsmasq.conf 644 etc dnsmasq.conf + vinstall dnsmasq.conf.example 644 usr/share/doc/dnsmasq dnsmasq.conf.example + install -d "${DESTDIR}/etc/dnsmasq.d" + # compiled-in dhcp-leasefile path; absent, dnsmasq exits once a dhcp-range + # is configured + install -d "${DESTDIR}/var/lib/misc" + vinstall ${FILESDIR}/dnsmasq-run 755 etc/sv/dnsmasq run + vinstall ${FILESDIR}/dnsmasq-check 755 etc/sv/dnsmasq check + vinstall ${FILESDIR}/dnsmasq-log-run 755 etc/sv/dnsmasq/log run + ln -sfn /run/runit/supervise.dnsmasq "${DESTDIR}/etc/sv/dnsmasq/supervise" + ln -sfn /run/runit/supervise.dnsmasq-log "${DESTDIR}/etc/sv/dnsmasq/log/supervise" + install -d "${DESTDIR}/var/log/dnsmasq" +}