Debian Patches

Status for snapd/2.76.3-2

Patch Description Author Forwarded Bugs Origin Last update
0003-cmd-snap-seccomp-skip-tests-that-use-m32.patch [PATCH 3/9] cmd/snap-seccomp: skip tests that use -m32
Apparently Debian's amd64 compiler somehow cannot compile -m32 mode
binaries. The compilation error is:

multipass@debian-10:~/packaging/snapd/cmd/snap-seccomp$ go test
cannot build multi-lib syscall runner: exit status 1
In file included from /usr/include/errno.h:25,
from /tmp/check-3806730340354206876/1/seccomp_syscall_runner.c:3:
/usr/include/features.h:424:12: fatal error: sys/cdefs.h: No such file or directory
# include <sys/cdefs.h>
^~~~~~~~~~~~~
compilation terminated.
OK: 2 passed, 11 skipped

I was unable to resolve this issue, let's disable this test until we can get to
the bottom of it.
Zygmunt Krynicki <me@zygoon.pl> no 2019-01-17
0004-cmd-snap-skip-tests-depending-on-text-wrapping.patch [PATCH 4/9] cmd/snap: skip tests depending on text wrapping
Upstream snapd contains tests that check the output of various commands
along with the --help command-line argument. The output is wrapped to
match terminal width and for readability. The algorithm for wrapping
has apparently changed across versions of github.com/jessevdk/go-flags.

Since this test is not critical for anything it can be disabled to let
the package build.
Zygmunt Krynicki <me@zygoon.pl> no 2019-01-17
0005-tests-adjust-gendeveloper1-to-older-github.com-jesse.patch tests: adjust gendeveloper1 to older github.com/jessevdk/go-flags Zygmunt Krynicki <me@zygoon.pl> no upstream 2025-11-21
0010-man-page-sections.patch man-page-sections Michael Hudson-Doyle <mwhudson@debian.org> no 2026-06-30
0011-overlord-install-fix-flaky-TestEncryptionAvailabili.patch overlord/install: fix flaky TestEncryptionAvailabilityCheck timeout mock

The ErrorSecbootTimeout mocks for secboot.PreinstallCheck and
secboot.PreinstallCheckAction simulated a slow check by racing a
```go
select {
case <-ctx.Done():
return nil, nil, ctx.Err()
case <-time.After(20 * time.Millisecond):
}
```
against a context whose timeout is mocked down to 1ms.

Under normal load ctx.Done() always wins by a wide margin, but on a slow
or heavily loaded machine, scheduling delays for the whole process can
exceed the 20ms gap, letting both timers become ready by the time select
is evaluated. Go picks pseudo-randomly among ready cases in that
situation, so the mock occasionally took the "success" branch instead of
returning ctx.Err(), making encryptionAvailabilityCheck return a non-nil
check context where the test expected nil:
```go
obtained *secboot.PreinstallCheckContext = &secboot.PreinstallCheckContext{}
expected *secboot.PreinstallCheckContext = (*secboot.PreinstallCheckContext)(nil)
```
This was observed as an intermittent failure on a Debian s390x
buildd. Fix it by waiting deterministically on ctx.Done() instead of
racing it against an unrelated timer: the mock only needs to
simulate "the check took too long", not actually perform concurrent
work that can be cancelled.
Zygmunt Krynicki <zygmunt.krynicki@canonical.com> yes vendor 2026-08-21

All known versions for source package 'snapd'

Links