armbian / build

Armbian Linux build framework generates custom Debian or Ubuntu image for x86, aarch64, riscv64 & armhf
https://www.armbian.com
GNU General Public License v2.0
4k stars 2.25k forks source link

`armbian-desktop` package is severely inconsistent across arch/appgroups/config_base #5439

Open rpardini opened 1 year ago

rpardini commented 1 year ago

What happened?

Ok so here's an old impasse. Hold on to your hat. config/optional/architectures/amd64/_config/desktop/_all_distributions/appgroups/browsers/packages This adds google-chrome-stable (with an extra apt-source) to AGGREGATED_PACKAGES_DESKTOP_COMMA. But only if:

So it is not included for any arm64, ever, nor if APPGROUPS does not include "browsers". All good.

Unfortunately, the armbian-desktop deb is then inconsistent:

So it's actually impossible to conciliate desktop aggregation (release+arch+appgroups+config_base+...) with a "single package", arch-independent, "armbian-desktop" package that is only per-RELEASE + DESKTOP_ENVIROMENT. It gets worse if we consider AGGREGATED_DESKTOP_POSTINST and AGGREGATED_DESKTOP_CREATE_DESKTOP_PACKAGE which are also included in that package.

Some possibilities:

How to reproduce?

"Simple" way to reproduce:

Each of these 3 builds produces a different armbian-jammy-desktop-gnome.

Branch

main (main development branch)

On which host OS are you observing this problem?

Jammy

Relevant log URL

No response

Code of Conduct

github-actions[bot] commented 1 year ago

Jira ticket: AR-1796

rpardini commented 1 year ago

For completeness: rootfs-amd64-jammy-gnome-desktop (rootfs artifact) has exactly the same problem, since it does not include appgroups or config_base in the name (it does include ARCH, though). But, since rootfs artifacts are not published to an apt repo, this is a non-problem; the rootfs versions will vary and will be found correctly in OCI, and life goes on.

armbian-bsp-desktop also has the same problem.

igorpecovnik commented 1 year ago

it's actually impossible to conciliate desktop aggregation

Yes.

"armbian-desktop-$DE-$ARCH" should be either with all groups or with no groups, so something that is fixed. Idea is that this package, when installed from minimal image, provides desktop.

Also regarding configs, if we don't use them, perhaps removing them?

rpardini commented 1 year ago

Yes, we could remove appgroups and configs, but still, ARCH differences would still occur...

I'm testing making this package ARCH-specific, since nothing practical would change (package name is the same), and would allow us to "get by" as long as the targets.yaml used for repo-publishing does not have different appgroups/configs across all targets.

igorpecovnik commented 1 year ago

AFAIK configs are always the same - at least for our internal needs. If someone else uses this, can't tell. Lets discuss this problem later on meeting.

rpardini commented 1 year ago

Yes. Configs are always the same. (config_base).

Unfortunately, the armbian-desktop package is also responsible for handling:

So if we have a "fixed"/common armbian-desktop package (same for all appgroups) we'd be in trouble, we'd miss at least those:

So we'd need to move those to image creation or something.

Similarly, the desktop-bsp package also handles