Skip to content

Multi-series Debian support#350

Open
gagath wants to merge 9 commits intoqualcomm-linux:mainfrom
gagath:debian-unstable
Open

Multi-series Debian support#350
gagath wants to merge 9 commits intoqualcomm-linux:mainfrom
gagath:debian-unstable

Conversation

@gagath
Copy link
Copy Markdown
Contributor

@gagath gagath commented Apr 3, 2026

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..

@lool
Copy link
Copy Markdown
Contributor

lool commented Apr 3, 2026

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)

@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 3, 2026

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.

@gagath gagath force-pushed the debian-unstable branch from 9cfc223 to 17d32e4 Compare April 3, 2026 14:32
@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 3, 2026

@lool
Copy link
Copy Markdown
Contributor

lool commented Apr 3, 2026

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.

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.

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.

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.

Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 3, 2026

Test jobs for commit 17d32e4

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 3, 2026

Test Results

 2 files  ±0   6 suites  ±0   3m 13s ⏱️ ±0s
20 tests ±0  20 ✅ ±0  0 💤 ±0  0 ❌ ±0 
64 runs  ±0  64 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit e009ffe. ± Comparison against base commit 092441e.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 3, 2026

Test jobs for commit e009ffe

@gagath gagath changed the title Debian unstable Multi-seres Debian support Apr 13, 2026
@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 13, 2026

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.

@lool
Copy link
Copy Markdown
Contributor

lool commented Apr 13, 2026

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! :)

@gagath gagath changed the title Multi-seres Debian support Multi-series Debian support Apr 14, 2026
@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 21, 2026

Rebased on top of main.

@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 21, 2026

Cherry-picked and edited additional commits from #314 for supporting the new $series option in CI.

@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 21, 2026

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.

@gagath gagath force-pushed the debian-unstable branch 3 times, most recently from 5cddb24 to fa599fb Compare April 22, 2026 10:37
@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 22, 2026

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!

@gagath gagath marked this pull request as ready for review April 22, 2026 14:12
@gagath gagath requested a review from lool April 22, 2026 14:12
Copy link
Copy Markdown
Contributor

@lool lool left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a broad set of comments; mostly minor

Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml Outdated
Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml
Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml
recommends: true
packages:
# fastrpc support. fastrpc-tests pulls in the required stack
- fastrpc-tests
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 :)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I was thinking of it but wanted to delay it to later. I will add a commit for it. :)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acknowledged, and skipping for now. Leaving the conversation open.

Comment thread .github/workflows/debos.yml Outdated
Comment thread .github/workflows/debos.yml Outdated
Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml Outdated
Comment thread .github/workflows/debos.yml Outdated
Comment thread .github/workflows/debos.yml Outdated
Comment thread .github/workflows/debos.yml Outdated
Copy link
Copy Markdown
Contributor

@lool lool left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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"

Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml
Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml Outdated
Comment thread debos-recipes/qualcomm-linux-debian-rootfs.yaml
Comment thread .github/workflows/build-on-pr.yml Outdated
@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 24, 2026

Removed all the [ap] tags. Pushed to close some conversations and have the CI run, still needs additional fixes before merging.

lool added 3 commits April 24, 2026 14:28
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>
@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 24, 2026

Rebased on top of main after #380 was merged.

@gagath gagath force-pushed the debian-unstable branch 3 times, most recently from 59de757 to 5186070 Compare April 27, 2026 09:19
@gagath
Copy link
Copy Markdown
Contributor Author

gagath commented Apr 27, 2026

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.

@gagath gagath requested a review from lool April 27, 2026 09:23
lool and others added 5 commits April 27, 2026 11:39
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>
Copy link
Copy Markdown
Contributor

@lool lool left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looked great! Nice work!!

There's a build failure with forky, but we seem really close!

@gagath gagath force-pushed the debian-unstable branch 2 times, most recently from b34bc11 to ba21af4 Compare April 27, 2026 14:14
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants