Skip to content

Commit b704c1c

Browse files
committed
fix: install the avahi .deb non-interactively past the conffile prompt
1 parent fa1e813 commit b704c1c

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

‎.github/workflows/validate.yml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ jobs:
3838
# surfaces on the real image build. Installing stock avahi first makes CI
3939
# reproduce that conflict, which is the whole point of this gate.
4040
apt-get install -y avahi-daemon libnss-mdns
41+
# The real base image also ships an RPi-MODIFIED avahi-daemon.conf, so
42+
# replacing it triggers an interactive dpkg conffile prompt that aborts a
43+
# non-interactive install. Dirty the conffile here so CI reproduces that
44+
# too, not just the file-overwrite conflict.
45+
echo '# dpea-ci: simulate a base-image modified conffile' >> /etc/avahi/avahi-daemon.conf
4146
bash /src/customize.sh
4247
echo "===== assertions ====="
4348
fail=0

‎customize.sh‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,15 @@ grep -q '^i2c-dev' /etc/modules || echo 'i2c-dev' >> /etc/modules
2727
# --- patched avahi (mDNS on 5358) from the prebuilt arm64 .deb (avahi_0.8 CI) ---
2828
AVAHI_DEB_URL="${AVAHI_DEB_URL:-https://github.com/dpengineering/avahi_0.8/releases/latest/download/avahi-dpea_0.8_arm64.deb}"
2929
if curl -fLsS "$AVAHI_DEB_URL" -o /tmp/avahi.deb; then
30-
apt-get install -y /tmp/avahi.deb
30+
# The .deb Replaces stock avahi and ships /etc/avahi/avahi-daemon.conf as a
31+
# conffile. The base image's copy is RPi-modified, so dpkg would raise an
32+
# interactive conffile prompt and abort with "end of file on stdin" in this
33+
# non-interactive chroot. --force-confold keeps the base config (our 5358 patch
34+
# is in the binary/lib, not the conf), --force-confdef handles the rest.
35+
apt-get install -y \
36+
-o Dpkg::Options::=--force-confdef \
37+
-o Dpkg::Options::=--force-confold \
38+
/tmp/avahi.deb
3139
# The stock RPi OS Desktop base already ships avahi, so the .deb must overwrite
3240
# its files (it declares Replaces: for them). A dpkg file-overwrite conflict can
3341
# leave the package uninstalled while apt still exits 0, so assert it is actually

0 commit comments

Comments
 (0)