From: Paul Hänsch Date: Tue, 21 Apr 2026 04:20:58 +0000 (+0200) Subject: rewrite of approx module X-Git-Url: http://git.plutz.net/?a=commitdiff_plain;h=5829ddc2a567999fc4057b3d7fc0459c16619813;p=blast rewrite of approx module --- diff --git a/Makefile b/Makefile index 7c4d95d..521ea7c 100644 --- a/Makefile +++ b/Makefile @@ -32,13 +32,6 @@ endif KEYRING := keys/debian-archive-${release}-automatic.gpg -ifndef SOURCES - define SOURCES := - deb http://deb.debian.org/debian ${release} main - deb https://security.debian.org/debian-security/ ${release}-security main - endef -endif - ifdef squash target ?= squashfs endif @@ -57,6 +50,11 @@ endif include $(addsuffix .mk, $(addprefix targets/, ${target})) +define SOURCES ?= +deb http://deb.debian.org/debian ${release} main +deb https://security.debian.org/debian-security/ ${release}-security main +endef + include modules/default.mk ifdef modules include $(addsuffix .mk, $(addprefix modules/, $(subst ${comma_},${space_},${modules}))) @@ -118,9 +116,15 @@ ${SYSROOT}/etc/apt/trusted.gpg.d/: ${SYSROOT} _bootstrap cp keys/*.gpg "$@" chmod 644 "$@"/*.gpg +${SYSROOT}/etc/apt/sources.list: ${SYSROOT} .FORCE + printf '%s\n' "$${SOURCES}" >"$@" + +${SYSROOT}/etc/resolv.conf: /etc/resolv.conf ${SYSROOT} .FORCE + cp -- "$<" "$@" + +_install: ${SYSROOT}/etc/apt/sources.list +_install: ${SYSROOT}/etc/resolv.conf _install: ${SYSROOT} _aptkeys _norecommends - printf '%s\n' "$${SOURCES}" |sort -u >"$${SYSROOT}/etc/apt/sources.list" - -cp /etc/resolv.conf "$${SYSROOT}/etc/" -chroot "$${SYSROOT}" sh -c 'apt-mark showmanual |xargs apt-mark auto' -chroot "$${SYSROOT}" apt-get update chroot "$${SYSROOT}" ln -sf /bin/true /usr/local/sbin/invoke-rc.d diff --git a/modules/approx.mk b/modules/approx.mk index 0847c0b..20ebba6 100644 --- a/modules/approx.mk +++ b/modules/approx.mk @@ -1,40 +1,15 @@ -define approx_original_sources := -${SOURCES} -endef -export approx_original_sources +.PHONY: _approx_restore _approx +_config: _approx_restore +_install: _approx -ifndef approxhost - approxhost := localhost -endif +approxhost ?= localhost:9999 +approx ?= http://${approxhost}/debian -approxrepos := main -approxrepos += $(findstring contrib, ${SOURCES}) -approxrepos += $(findstring non-free-fimware, ${SOURCES}) -#approxrepos += $(findstring non-free, ${SOURCES}) +BOOTSTRAP := ${approx} -ifdef approx - BOOTSTRAP := ${approx} - define SOURCES = - deb ${approx} ${release} ${approxrepos} - deb ${approx} ${release}-backports ${approxrepos} - endef -else ifdef raspi - BOOTSTRAP := http://localhost/raspbian - define SOURCES := - deb http://${approxhost}/raspbian stretch main non-free firmware rpi - deb http://${approxhost}/rpidebian stretch main - deb http://${approxhost}/raspbian buster main non-free firmware rpi - deb http://${approxhost}/rpidebian buster main - endef -else - BOOTSTRAP := http://localhost/debian - define SOURCES := - deb http://${approxhost}/debian ${release} ${approxrepos} - endef -endif +_approx: ${SYSROOT}/etc/apt/sources.list + sed -Ei 's;http://[^/]+/[^ ]+;${approx};' "$<" -.PHONY: _approx_restore_sources -_config: _approx_restore_sources -_approx_restore_sources: ${CFGROOT} - printf '%s\n' "$${approx_original_sources}" >"$${CFGROOT}/etc/apt/sources.list" +_approx_restore: _copy + printf '%s\n' "$${SOURCES}" >"$${CFGROOT}/etc/apt/sources.list" -chroot "$${CFGROOT}" apt-get update diff --git a/targets/raspberrypi.mk b/targets/raspberrypi.mk index e582c25..1ebd79d 100644 --- a/targets/raspberrypi.mk +++ b/targets/raspberrypi.mk @@ -26,7 +26,7 @@ PBOOT = rpi_boot.img.temp PROOT = rpi_root.img.temp CFGROOT := img_mount -define SOURCES := +define SOURCES ?= deb http://deb.debian.org/debian ${release} main non-free-firmware deb https://deb.debian.org/debian-security/ ${release}-security main endef