Multi-series Debian support#350
Conversation
|
Looks fine! May I suggest "Multi-series Debian support" as an angle? I am not sure unstable is valuable for the images, for instance unstable-backports make no sense, and packages might have installability issues in sid which they won't in forky. (I do want us to do unstable based development and contributions, and some unstable testing, just perhaps not image builds of unstable) |
|
See this from a developer perspective. I agree that having unstable builds in CI might not be what we want. But as a DD, I want to be able to create an image based on unstable (or testing) in order to test the latest packages before we decide to backport some of them. Regarding backports, I forgot to tackle the backports install for unstable as well as testing. Will amend the commit to only install backports when it makes sense, ie. not unstable nor testing. |
|
I do, but I also see the maintenance costs and noise in maintaining unstable images (two examples I gave). Developers can take the testing image and upgrade to sid packages.
Let's add "forky" to CI for now, with forky-backports; I don't think we need "testing" and unstable on top, at least not immediately. We can also contribute to unstable development in Debian itself. |
Test jobs for commit 17d32e4 |
Test jobs for commit e009ffe |
|
Rebased on top of #351. I can add a CI commit to build forky as it seems it will exercise this code and not keep it dormant in CI. |
I'd love that! Thanks for breaking by stupidly large draft PR into this more manageable approach! :) |
|
Rebased on top of main. |
|
Cherry-picked and edited additional commits from #314 for supporting the new $series option in CI. |
|
Fakemachine seems to fail when building with the version from unstable that now Depends (for an unknown reason) instead of Recommends systemd-resolved, which seem to be involved. Will retry the job, but maybe I will also cherry-pick the fix that always use trixie for builders. |
5cddb24 to
fa599fb
Compare
|
Got the CI to work after having it use Debian’s linux-image-arm64 when building for forky, I think this is ready for review! |
lool
left a comment
There was a problem hiding this comment.
I left a broad set of comments; mostly minor
| recommends: true | ||
| packages: | ||
| # fastrpc support. fastrpc-tests pulls in the required stack | ||
| - fastrpc-tests |
There was a problem hiding this comment.
Let's install Debian's fastrpc-support instead when fastrpc-tests is not an option; this will give us the mandatory daemons like the adsp service you need on your hamoa laptop :)
There was a problem hiding this comment.
Yes, I was thinking of it but wanted to delay it to later. I will add a commit for it. :)
There was a problem hiding this comment.
Wanted to provide that in a separate branch on main, but it seems that fastrpc-support is not available in trixie nor trixie-backports: https://tracker.debian.org/pkg/fastrpc
mandatory daemons like the adsp service you need on your hamoa laptop :)
As my Hamoa laptop is currently running trixie, I have no fastrpc package installed nor "cdsprpcd.service" or "adsprpcd.service" running. Is "mandatory" the correct word here? Maybe I am missing things out.
There was a problem hiding this comment.
I am pretty sure it's mandatory, perhaps for battery management or audio, not sure. We should discuss with team :)
Indeed, we don't have a backport, so I guess we must skip this for now; Robie wanted clarification on whether the daemons were required or not before landing a backport, we discussed this here:
qualcomm/fastrpc#321
There was a problem hiding this comment.
Acknowledged, and skipping for now. Leaving the conversation open.
lool
left a comment
There was a problem hiding this comment.
It was nice to have the "ap:" in the commit messages, but I assume you'll drop them before merging?
"Generate APT sources dynamically": commit message says -updates/-security is only for stable, but it's also for testing; it should say "except for unstable/sid"
|
Removed all the [ap] tags. Pushed to close some conversations and have the CI run, still needs additional fixes before merging. |
Add $suite (default: "trixie") template variable to the rootfs recipe. Use $suite in mmdebstrap's suite field instead of the previously hardcoded value. Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com> Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
Replace the static overlays/apt-sources/ overlay with a shell run action that generates /etc/apt/sources.list.d/debian.sources based on the $suite template variable. Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com> Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
Replace the static overlays/backports/ overlay with a shell run action that generates debian-backports.sources and debian-backports.pref using the $suite variable. Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com> Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
|
Rebased on top of main after #380 was merged. |
59de757 to
5186070
Compare
|
I believe I have addressed all comments. I am still not sure if we should support "sid" as an alias for "unstable" as our qartifactory setup does not seem to support that. |
Remove the static .sources and .pref files from the qsc-deb-releases overlay, keeping only the keyring (.asc). Add a run action that generates them dynamically using $suite-overlay as the suite name. Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com> Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
fastrpc-tests is only installed for trixie (only in trixie-overlay). Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com> Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
Add suite inputs to the reusable debos workflow, with defaulting to trixie. Use these for all debos invocations. Note that the container image is still using trixie as forky currently leads to errors during build (tracked in issue qualcomm-linux#379). Update just the PR build workflow to use a matrix strategy building both trixie and forky suites. Take this opportunity to rename build-pr to just build. Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com> Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
Prefix all published artifact filenames with "$suite-" so
that builds for different distributions/suites can coexist in the same
S3 destination:
- debos.yml: use prefix for image artifacts going to staging directory,
including SBOMs
- lava-test.yml: add suite inputs and expose it as SUITE env var; add
corresponding sed substitutions when rendering templates
- LAVA templates: reference {{SUITE}}-flash-*.tar.gz
- build-daily.yml, linux.yml: pass suite when calling lava-test.yml
Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
Our custom qcom1 kernel is not available for forky. Switch back to the default Debian linux-image-arm64 kernel instead when building for forky. In order to avoid the repetition of the linux-image-6.16.7-qcom1++ in multiple places, introduce a "default-ci" kernelpackage value that can be set to this specific version in a single place. Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
lool
left a comment
There was a problem hiding this comment.
Looked great! Nice work!!
There's a build failure with forky, but we seem really close!
b34bc11 to
ba21af4
Compare
QArtifactory currently returns 404 for sid, testing and forky. Regarding sid, since sid-overlay is not considered as an alias for unstable-overlay (which exists), it probably raises additional questions and the support of the "sid" value in the first place in our recipes. Signed-off-by: Agathe Porte <agathe.porte@oss.qualcomm.com>
This is a work in progress with multiple amended cherry-picks from PR #314. While we still target trixie as a final goal, having the possibility to use unstable allows us to verify which packages are in an eventual need of a trixie backport
Publishing as a draft to exercise the CI, first with existing trixie support, and then with a test matrix in additional commits to come..