fix: surface avahi .deb install failures, and skip eth0 smoke check without a cable - #6
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The published image booted running stock avahi on 5353, not the patched 5358 build, even though the build was green and CI passed. Two bugs hid it.
The build swallowed the failure.
customize.shruns asbash customize.sh(from bothbuild-image.shand this workflow), so its#!/bin/bash -eshebang is inert. On the real RPi OS Desktop base, which already ships stock avahi, theavahi-dpea.deb hits a dpkg file-overwrite conflict and never installs, butapt-get installreturning nonzero did not abort the script. uv still installed, the script exited 0, and a broken image published.CI could not reproduce it.
validate.ymlrunscustomize.shin a baredebian:trixiecontainer with no avahi pre-installed, so the .deb installs with no conflict and thedpkg -s avahi-dpeaassertion passed. The conflict only exists against a base that already has avahi.Changes:
customize.sh:set -euo pipefailin the body (the shebang flags are ignored underbash customize.sh); assertdpkg -s avahi-dpeaafter install;ldconfigso the patched libavahi-core is what the daemon loads; hold both packages against an apt upgrade.validate.yml: install stockavahi-daemon+libnss-mdnsbeforecustomize.shso CI reproduces the file-overwrite conflict, and assertavahi-dpeaactually owns/usr/sbin/avahi-daemon.hardware-smoke-test.sh: the eth0 static (172.17.21.2) only activates when the link has carrier, so a run over wifi with no cable is not a defect. SKIP instead of FAIL when eth0 has no carrier, and report a skip count.Ordering: the actual fix that makes the .deb installable over stock lives in
avahi_0.8(addReplaces:for the stock avahi packages and build with the arm64 multiarch libdir). This PR'svalidate.ymlgate stays red until that ships in theavahi_0.8latest release, which is the correct signal. Do not merge before then.