Skip to content

Commit a2a19f3

Browse files
castrojoCopilot
andcommitted
fix(lint): fix virtualbox and thunderbird-nightly builddir exceptions
Investigate and fix why existing exceptions.json entries were not suppressing lint errors at the builddir stage. Root cause: exceptions.json at commit 2fb7cf5 only had appid-filename-mismatch. The screenshot/metainfo exceptions were missing. The exceptions were added in subsequent commits (08e59a4, 47ec0d8, 82a3380). virtualbox: appstream-external-screenshot-url fires because upstream metainfo has screenshots at external URLs (not Flathub CDN). Both builddir and repo stage exceptions are required. thunderbird-nightly: metainfo-missing-screenshots + appstream-missing-developer-name fire because the nightly metainfo has no screenshots or developer tag. appstream-screenshots-not-mirrored-in-ostree fires at repo stage. Documenting the pattern in per-app GOTCHAS.md and skills/app-gotchas.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Assisted-by: Claude Sonnet 4.6 via GitHub Copilot
1 parent b85e9f2 commit a2a19f3

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed

flatpaks/thunderbird-nightly/GOTCHAS.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,19 @@ in `build.yml` globs for `*.metainfo.xml` — this file is now picked up by vali
3636
Thunderbird Nightly does not have a published BaseApp on Flathub (unlike Firefox which
3737
has `org.mozilla.firefox.BaseApp`). Uses `org.freedesktop.Platform//24.08` directly.
3838
No pre-install step needed in clean environments.
39+
40+
## Lint exceptions — permanent
41+
42+
The Nightly metainfo (`org.mozilla.thunderbird.nightly.metainfo.xml`) does not include
43+
screenshots or a developer name tag. This causes permanent lint errors declared in
44+
`exceptions.json` under `org.mozilla.thunderbird.nightly`:
45+
46+
- `metainfo-missing-screenshots` — fires at the **builddir** lint stage (no screenshots in metainfo)
47+
- `appstream-missing-developer-name` — fires at the **builddir** lint stage (no `<developer>` tag)
48+
- `appstream-screenshots-not-mirrored-in-ostree` — fires at the **repo** lint stage
49+
50+
All three must be present in exceptions.json; omitting any will cause the x86_64 build to fail.
51+
52+
Root cause of past failures: the exceptions.json initially only contained
53+
`appid-filename-mismatch`. The metainfo exceptions were added later after CI failures
54+
from runs on commit `2fb7cf5` (the Justfile-First pipeline refactor).

flatpaks/virtualbox/GOTCHAS.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,18 @@ Pinned to the versions from flathub/shared-modules @ 11f1a3afd8b6b2447b49e1872a2
4343
SDL patches (sdl-libx11-build.patch, sdl-check-for-SDL_VIDEO_X11_BACKINGSTORE.patch,
4444
sdl-sysloadso-buffer-length.patch, libsdl-1.2.15-strict-prototypes.patch) are stored
4545
in flatpaks/virtualbox/ alongside the manifest.
46+
47+
## Lint exceptions — permanent
48+
49+
VirtualBox's upstream `.metainfo.xml` contains screenshots hosted at external URLs
50+
(not mirrored to `https://dl.flathub.org/media`). This causes two permanent lint errors:
51+
52+
- `appstream-external-screenshot-url` — fires at the **builddir** lint stage
53+
- `appstream-screenshots-not-mirrored-in-ostree` — fires at the **repo** lint stage
54+
55+
Both are declared in `exceptions.json` under `org.virtualbox.VirtualBox`. Both must be
56+
present; omitting either will cause the x86_64 build to fail.
57+
58+
Root cause of past failures: the exceptions.json initially only contained
59+
`appid-filename-mismatch`. The screenshot exceptions were added later after CI failures
60+
from runs on commit `2fb7cf5` (the Justfile-First pipeline refactor).

skills/app-gotchas.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ Per-app known issues and workarounds. Each app has a dedicated `GOTCHAS.md` in i
1010
| io.github.DenysMb.Kontainer | (inline in `app-gotchas.md`) | `appstream-external-screenshot-url` + `appstream-screenshots-not-mirrored-in-ostree` — screenshots not mirrored to Flathub CDN; permanent exception (both stages) |
1111
| lmstudio | `flatpaks/lmstudio/GOTCHAS.md` | icon omitted (resize unsolved), `--filesystem=home` intentional, x86_64 only, manual Renovate required |
1212
| firefox-nightly | `flatpaks/firefox-nightly/GOTCHAS.md` | app-id is `org.mozilla.firefox.nightly` (renamed from `org.mozilla.firefox` to avoid Flathub clash), rolling aarch64 sha256, BaseApp required pre-install, `.appdata.xml` skips CI validation |
13-
| thunderbird-nightly | `flatpaks/thunderbird-nightly/GOTCHAS.md` | x86_64 only (no aarch64), comm-central icon pinning — verify each size sha256 independently (swap of 32/64 was a bug), `--persist=.thunderbird-nightly` profile isolation, no BaseApp pre-install needed, extension stubs created in build-commands (not cleanup-commands) |
14-
| virtualbox | `flatpaks/virtualbox/GOTCHAS.md` | KVM backend (no vboxdrv kernel module), X11 only (VBoxSVGA Wayland bug), hardening disabled, gsoap serial build, shared-modules SDL1+GLU inlined |
13+
| thunderbird-nightly | `flatpaks/thunderbird-nightly/GOTCHAS.md` | x86_64 only (no aarch64), comm-central icon pinning — verify each size sha256 independently (swap of 32/64 was a bug), `--persist=.thunderbird-nightly` profile isolation, no BaseApp pre-install needed, extension stubs created in build-commands (not cleanup-commands), permanent lint exceptions: `metainfo-missing-screenshots` + `appstream-missing-developer-name` (builddir) + `appstream-screenshots-not-mirrored-in-ostree` (repo) |
14+
| virtualbox | `flatpaks/virtualbox/GOTCHAS.md` | KVM backend (no vboxdrv kernel module), X11 only (VBoxSVGA Wayland bug), hardening disabled, gsoap serial build, shared-modules SDL1+GLU inlined, permanent lint exceptions: `appstream-external-screenshot-url` (builddir) + `appstream-screenshots-not-mirrored-in-ostree` (repo) — screenshots hosted at external URLs |
1515
| org.altlinux.Tuner | (inline in `app-gotchas.md`) | `libpeas` 2.x requires `-Dgjs=false` on GNOME Platform 49 (mozjs-128 not available) |
1616

1717
## Flatpak install scope — always user-wide

0 commit comments

Comments
 (0)