deb,quirks: scope deb entries per series with an entry list

One deb block per package cannot express two series needing different
rules. Make pull and deb lists of entries, each with its own series
scope: every matching entry applies, in file order, so a stonking
entry can carry its own dependency rules next to the resolute one.
Thread the series through find_package_directory for the
package_directory lookup, which keeps its deb-then-pull fallback.
This commit is contained in:
2026-09-20 19:40:19 +02:00
parent ff1f8c7ccd
commit 5b0cc08d8f
4 changed files with 94 additions and 64 deletions
+27 -23
View File
@@ -1,10 +1,12 @@
# Quirks configuration for package-specific workarounds
# This file defines package-specific quirks that are applied during pull and deb operations
#
# Entries can be scoped with `series`: an empty list applies to every
# series, otherwise only the listed ones. Packaging workarounds should
# carry the series they were verified against so they can be dropped once
# the upstream packaging catches up.
# `pull` and `deb` hold one entry per scope: several entries can carry
# different `series` lists, and every matching entry applies in file
# order. Entries can be scoped with `series`: an empty list applies to
# every series, otherwise only the listed ones. Packaging workarounds
# should carry the series they were verified against so they can be
# dropped once the upstream packaging catches up.
quirks:
@@ -15,29 +17,31 @@ quirks:
# until the control is fixed upstream.
linux:
deb:
series: [resolute]
dependencies:
replace:
llvm-21-dev: llvm-21-dev:native <!stage1>
- series: [resolute]
dependencies:
replace:
llvm-21-dev: llvm-21-dev:native <!stage1>
linux-riscv:
deb:
series: [resolute]
dependencies:
replace:
llvm-21-dev: llvm-21-dev:native <!stage1>
- series: [resolute]
dependencies:
replace:
llvm-21-dev: llvm-21-dev:native <!stage1>
# Add more packages and their quirks as needed
# example-package:
# pull:
# method: archive
# - series: [noble]
# package_directory:
# - linux-main
# deb:
# series: [noble]
# dependencies:
# replace:
# old-dep: new-dep (>= 2) [linux-any]
# inject:
# - missing-dep
# drop:
# - broken-dep
# parameters:
# key: value
# - series: [resolute]
# dependencies:
# replace:
# llvm-21-dev: llvm-21-dev:native <!stage1>
# - series: [stonking]
# dependencies:
# replace:
# llvm-22-dev: llvm-22-dev:native <!stage1>
# parameters:
# key: value