-
Notifications
You must be signed in to change notification settings - Fork 48
Make particle-os buildable in OBS #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
6ecc9bb to
58b7e70
Compare
|
needs a rebase to get rid of the commits already on main |
9d75ace to
46cadca
Compare
a1ea351 to
c37a41f
Compare
95181e0 to
dd2f0fe
Compare
8e2f8a8 to
c4772e9
Compare
mkosi.conf
Outdated
| tty.virtual.tty1.login.noauth=yes | ||
|
|
||
| [Include] | ||
| Include=mkosi-obs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this (directly including mkosi-obs from project config) should go into any of the config files in the project, since it should only apply when actually building in OBS; I think it would be better to instead add --include mkosi-obs to the params that the OBS service uses when calling mkosi.
After that, there is still an issue of the mkosi-obs config getting applied before all the actual project config, and thus getting overridden; instead, the mkosi-obs config needs to override all the project config. I can think of 2 potential ways to do it; 1) any config added using the cmdline --include should be placed into the cli namespace, so it will override the standard project config; and/or 2) add a Priority= config that can be added into the mkosi-obs/mkosi.conf to place its priority above the rest of the project config.
Adding priorities would, I think, be more flexible and actually simplify the mkosi/config.py code (to remove the special handling of cli vs config configuration) but is a larger change than just increasing an --include config up to the cli level.
@DaanDeMeyer @bluca any thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this (directly including
mkosi-obsfrom project config) should go into any of the config files in the project, since it should only apply when actually building in OBS; I think it would be better to instead add--include mkosi-obsto the params that the OBS service uses when calling mkosi.
There are a few problems - first of all, those configs are only available very recently, so building images with an existing version of mkosi would suddenly break if it's hardcoded. Older distros need to continue working.
Secondly, this implies a lot of policy and a lot of decisions, that would become impossible to override anymore, and I think that would end up removing way too much flexibility overall
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this (directly including
mkosi-obsfrom project config) should go into any of the config files in the project, since it should only apply when actually building in OBS; I think it would be better to instead add--include mkosi-obsto the params that the OBS service uses when calling mkosi.There are a few problems - first of all, those configs are only available very recently, so building images with an existing version of mkosi would suddenly break if it's hardcoded. Older distros need to continue working.
Secondly, this implies a lot of policy and a lot of decisions, that would become impossible to override anymore, and I think that would end up removing way too much flexibility overall
I'm not following what would be impossible to override, but in any case, do you have an alternate proposal? Obviously actually adding the Include=mkosi-obs directly into the particleos mkosi.conf file isn't correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are various settings that are needed specifically for particleos, but that not necessarily apply to all mkosi builds done on OBS, so we can't hardcode things for everyone, it needs to come from each build. eg: one might not want to use zstd.
I think we are fine just using a fork as we are doing now. Things change very very rarely anyway, so at most there's a copy/paste of a package name or two that has to be done every couple of months, not a big deal. This is just a collection of configurations, all the logic is elsewhere.
@DaanDeMeyer said he wanted to have some mechanism to generate a branch/tag via GHA on merge that would have the expected configuration setup, but I don't think there's any progress on that front.
305d127 to
7fb52ef
Compare
a03047e to
340a509
Compare
0725b2f to
206ca02
Compare
…etup Needed until https://gitlab.freedesktop.org/accountsservice/accountsservice/-/issues/89 is fixed to let GNOME know that homed users exist and there's no need to run the initial user setup. Install the initial setup package so that if someone doesn't create a user ahead of time there's a nice GUI for it.
With simpledrm the UKI can show the Plymouth splash screen immediately. Add the filter for the modules and the kernel cmdline to the desktop profile.
All single packages lists need all the packages, so add new files hidden under .obs for each build. Also add keyword to tell the OBS source server to drop the project signing public certificate in the source directory, so that mkosi can pick it up and use it. It needs to be in the mkosi.conf that gets extracted at source runtime.
Needed for hardware with option roms
Needed for DBX updates
F41 was removed and F42 was added. Deb13 was added. Rename testing to include 'testing' in the name
|
as agreed with Daan this content will just be pushed on the |
This is for a new branch, as a temporary solution until there is post-processing in place.
With this we can build fully signed UKIs on OBS