fix(components): remove mozjs128 and Cinnamon stack; drop imsettings-cinnamon subpackage#17368
Conversation
|
I'm supportive of the general approach but we can't leave RPMs behind that are uninstallable. Is there a way to disable building the cinnamon subpackage(s) in question (e.g., of imsettings)? |
I agree, this is a draft for discussions with with @christopherco. If approved, removing |
9e69b99 to
e54f461
Compare
e54f461 to
65d3827
Compare
There was a problem hiding this comment.
Pull request overview
This PR removes the mozjs128 SpiderMonkey engine and the Cinnamon desktop-environment component stack that depends on it, then updates imsettings to stop producing the now-uninstallable imsettings-cinnamon subpackage.
Changes:
- Drop 12 Cinnamon/mozjs128-related components (component entries, locks, and rendered spec trees).
- Introduce a dedicated
imsettingscomponent definition with overlays to remove the Cinnamon subpackage and clean up its orphaned installed file. - Refresh the
imsettingslock and re-render theimsettingsspec accordingly.
Reviewed changes
Copilot reviewed 56 out of 70 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| base/comps/components.toml | Removes inline component entries for Cinnamon stack components and moves imsettings to a dedicated comp file. |
| base/comps/imsettings/imsettings.comp.toml | New component definition adding overlays to remove imsettings-cinnamon, restore consumed conditionals, and delete the orphaned .so during %install. |
| locks/imsettings.lock | Updates input-fingerprint due to the component-definition change. |
| specs/i/imsettings/imsettings.spec | Rendered output reflecting removal of the Cinnamon subpackage, conditional balancing, and %install cleanup. |
| locks/cinnamon.lock | Removed lock file for deleted component. |
| locks/cinnamon-control-center.lock | Removed lock file for deleted component. |
| locks/cinnamon-desktop.lock | Removed lock file for deleted component. |
| locks/cinnamon-menus.lock | Removed lock file for deleted component. |
| locks/cinnamon-screensaver.lock | Removed lock file for deleted component. |
| locks/cinnamon-session.lock | Removed lock file for deleted component. |
| locks/cinnamon-settings-daemon.lock | Removed lock file for deleted component. |
| locks/cinnamon-translations.lock | Removed lock file for deleted component. |
| locks/cjs.lock | Removed lock file for deleted component. |
| locks/muffin.lock | Removed lock file for deleted component. |
| locks/nemo.lock | Removed lock file for deleted component. |
| locks/mozjs128.lock | Removed lock file for deleted component. |
| specs/c/cinnamon/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon/10_cinnamon-apps.gschema.override.in | Removed rendered source file for deleted component. |
| specs/c/cinnamon/10_cinnamon-common.gschema.override | Removed rendered source file for deleted component. |
| specs/c/cinnamon/22_fedora.styles | Removed rendered source file for deleted component. |
| specs/c/cinnamon/Add_nightlight_applet.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon/Use_DesktopAppInfo_from_GioUnix.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon/default_panal_launcher.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon/fix_mount_applet.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon/remove_crap_from_menu.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon/set_wheel.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon-control-center/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon-desktop/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon-desktop/cinnamon-desktop.spec | Removed rendered spec for deleted component. |
| specs/c/cinnamon-desktop/set_font_defaults.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon-desktop/x-cinnamon-mimeapps.list | Removed rendered source file for deleted component. |
| specs/c/cinnamon-menus/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon-menus/cinnamon-menus.spec | Removed rendered spec for deleted component. |
| specs/c/cinnamon-screensaver/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon-screensaver/cinnamon-screensaver.spec | Removed rendered spec for deleted component. |
| specs/c/cinnamon-session/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon-session/cinnamon-session.spec | Removed rendered spec for deleted component. |
| specs/c/cinnamon-session/8042c7f4756773b32e30f902d2cb05c865b9f6d7.patch | Removed rendered patch for deleted component. |
| specs/c/cinnamon-settings-daemon/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon-translations/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cinnamon-translations/cinnamon-translations.spec | Removed rendered spec for deleted component. |
| specs/c/cjs/sources | Removed rendered sources metadata for deleted component. |
| specs/c/cjs/cjs.spec | Removed rendered spec for deleted component. |
| specs/m/muffin/sources | Removed rendered sources metadata for deleted component. |
| specs/m/muffin/muffin.spec | Removed rendered spec for deleted component. |
| specs/m/muffin/libinput.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/sources | Removed rendered sources metadata for deleted component. |
| specs/m/mozjs128/mozjs128.spec | Removed rendered spec for deleted component. |
| specs/m/mozjs128/known_failures.txt | Removed rendered source file for deleted component. |
| specs/m/mozjs128/copy-headers.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/D261512.1755672843.diff | Removed rendered patch/diff for deleted component. |
| specs/m/mozjs128/emitter.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/firefox-112.0-commasplit.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/fix-soname.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/icu_sources_data-Write-command-output-to-our-stderr.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/init_patch.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/remove-sloppy-m4-detection-from-bundled-autoconf.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/spidermonkey_checks_disable.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/tests-increase-timeout.patch | Removed rendered patch for deleted component. |
| specs/m/mozjs128/tests-Use-native-TemporaryDirectory.patch | Removed rendered patch for deleted component. |
| specs/n/nemo/sources | Removed rendered sources metadata for deleted component. |
| specs/n/nemo/Don-t-scale-text-size-when-zooming.patch | Removed rendered patch for deleted component. |
| specs/n/nemo/nemo-fedora.gschema.override | Removed rendered override for deleted component. |
| specs/n/nemo/remove_desktop_search.patch | Removed rendered patch for deleted component. |
65d3827 to
e019417
Compare
reubeno
left a comment
There was a problem hiding this comment.
Left one comment. Also, did you mean to submit this from a fork branch?
Good catch. I wasn't, need to take a look at the AI instructions.:) Do you want me to re-open from upstream? |
Remove `mozjs128` and the full downstream Cinnamon dependency cluster
that becomes unbuildable or orphaned on Azure Linux 4.0.
`mozjs128` is currently failing in AZL4 mock chroots (`clang++:
'type_traits' file not found`, internal tracking item #20154). In this
distro, its only consumer chain is:
- `mozjs128` -> `cjs` -> `cinnamon`
Removing those roots leaves the remaining Cinnamon stack orphaned, so
remove the closed cluster in the same change:
- `cinnamon-control-center`
- `cinnamon-desktop`
- `cinnamon-menus`
- `cinnamon-screensaver`
- `cinnamon-session`
- `cinnamon-settings-daemon`
- `cinnamon-translations`
- `muffin`
- `nemo`
The parent `imsettings` SRPM stays, but its `imsettings-cinnamon`
subpackage delivered `libimsettings-cinnamon-gsettings.so` and pulled
in `cinnamon` / `cinnamon-session` at runtime, so it is dropped here.
`imsettings` is moved from the inline `components.toml` entry into a
dedicated `base/comps/imsettings/imsettings.comp.toml` with overlays
that
1. drop the cinnamon subpackage via `spec-remove-subpackage`;
2. restore the trailing `%endif` for the surrounding
`%if !0%{?rhel}` block (consumed by `spec-remove-subpackage` on
both the `%description` and `%files` sides, per the
`qemu.comp.toml` pattern);
3. delete the orphaned `libimsettings-cinnamon-gsettings.so` from
the buildroot in `%install` so the rest of the build doesn't
trip the unpackaged-files check.
Changes in this commit:
- remove 13 component entries from `base/comps/components.toml`
(12 cluster components + `imsettings`, the latter moved to a
dedicated file)
- add `base/comps/imsettings/imsettings.comp.toml`
- delete 12 cluster lock files from `locks/`
- update `locks/imsettings.lock` fingerprint
- delete 12 cluster spec trees from `specs/`
- update `specs/i/imsettings/imsettings.spec`
Validation performed:
- `azldev config dump -q -f json` parses
- `azldev comp list -p <removed>` reports "component not found" for all
cluster components
- no references to removed components in `base/images/` or
`base/comps/components-publish-channels.toml`
Refs: internal tracking item #20154
Signed-off-by: Pawel Winogrodzki <pawelwi@microsoft.com>
e019417 to
2b86d90
Compare
Koji build for
imsettingsSummary
Remove
mozjs128(SpiderMonkey 128 JS engine) and the entire Cinnamon desktop-environment cluster it transitively supports, then drop the now-orphanedimsettings-cinnamonsubpackage of the still-builtimsettingsSRPM.mozjs128has been broken to build in the AZL4 mock chroot for a while (clang++: 'type_traits' file not found, internal tracking item #20154), and its sole consumer chain in AZL4 is the Cinnamon DE — which is not referenced by any AZL4 image manifest and has no other downstream users.This removes 12 source components plus all their lock files and rendered spec trees, and adds a dedicated overlay file for
imsettingsto drop its now-uninstallable Cinnamon subpackage.Cascading-dependency analysis
Recursive
pkgx analyze removeagainst theazure-linux-4.0base + SDK repos for bothx86_64andaarch64:Build-breaking cascade
mozjs128cjsBuildRequires: pkgconfig(mozjs-128) >= %{mozjs128_version}cinnamonBuildRequires: pkgconfig(cjs-1.0) >= %{cjs_version}Orphaned-after-removal (entire cluster consumed only by
cinnamon)cinnamon-control-centercinnamon(viacinnamon-settings-daemon)cinnamon-desktopcinnamon,cinnamon-screensaver,cinnamon-session,cinnamon-settings-daemon,muffin,nemo— all in this removal setcinnamon-menuscinnamon,cinnamon-control-centercinnamon-screensavercinnamoncinnamon-sessioncinnamon(and theimsettings-cinnamonsubpackage, which is also dropped here)cinnamon-settings-daemoncinnamon-control-centercinnamon-translationsanalyze removereports 0 affected packagesmuffincinnamon; alsoBuildRequires: pkgconfig(cinnamon-desktop) >= 6.2.0nemocinnamon; alsoBuildRequires: pkgconfig(cinnamon-desktop) >= 6.4.0imsettings-cinnamonsubpackage dropimsettings-cinnamonis a binary subpackage of theimsettingsSRPM (the SRPM itself stays — it still produces other DE-specific subpackages:gnome,mate,plasma,xfce,lxde,xim). After the cluster removal, the subpackage's runtimeRequires: cinnamonandRequires: cinnamon-sessionare unsatisfiable, and the subpackage delivers a single library (libimsettings-cinnamon-gsettings.so) that no AZL4 image consumes.imsettingsis moved from the inlinecomponents.tomlentry into a dedicatedbase/comps/imsettings/imsettings.comp.tomlwith overlays that:spec-remove-subpackage;%endiffor the surrounding%if !0%{?rhel}block (consumed byspec-remove-subpackageon both the%descriptionand%filessides, per theqemu.comp.tomlpattern);libimsettings-cinnamon-gsettings.sofrom the buildroot in%installso the rest of the build doesn't trip the unpackaged-files check.The
imsettingsSRPM continues to build and its non-Cinnamon subpackages are unaffected. The upstreamforce-enable-for-cinnamon.patchis kept in place — it only affects runtime IM-management behaviour when a Cinnamon session is detected (which cannot happen on AZL4), and removing it would enlarge divergence from Fedora for no benefit.Files changed
base/comps/components.toml— 13 inline[components.<name>]rows removed (12 cluster components, plusimsettingswhich moves to a dedicated file).base/comps/imsettings/imsettings.comp.toml— new dedicated component file with 4 overlays (1 subpackage removal, 2%endifrestores, 1 install-stage cleanup).locks/{mozjs128,cjs,cinnamon,cinnamon-control-center,cinnamon-desktop,cinnamon-menus,cinnamon-screensaver,cinnamon-session,cinnamon-settings-daemon,cinnamon-translations,muffin,nemo}.lock— 12 lock files deleted.locks/imsettings.lock— fingerprint refreshed.specs/{c,m,n}/<component>/— 12 rendered spec trees deleted (53 files: specs, patches, sources manifests).specs/i/imsettings/imsettings.spec— re-rendered; no more%package/%description/%files cinnamon; outer%if !0%{?rhel}block remains balanced.Total: 70 files changed, 29 insertions, 10,643 deletions.
Verification
azldev config dump -q -f json— parses (exit 0).azldev comp list -p <each-removed-name> -q -O json— returnscomponent not foundfor all 12 removed components.azldev comp list -p imsettings -q -O json— returns the new dedicated-file definition.azldev comp render -p imsettings— re-render succeeds; rendered spec contains nocinnamonsubpackage references and preserves the surrounding%if !0%{?rhel}block.grep -rE "(mozjs128|cjs|cinnamon|muffin|nemo)" base/images/— no image manifest references any removed package.grep -rE "(mozjs128|cjs|cinnamon|muffin|nemo)" base/comps/components-publish-channels.toml— no remaining publish-channel entry.BuildRequires:/Requires:referencing any removed package — remaining matches are inside the now-overlaidspecs/i/imsettings/imsettings.spec%package cinnamonsubpackage block (resolved by the overlay), in unrelated components (cjson,cjs-module-lexer), and a historical%changelogentry inspecs/g/gjs/gjs.spec(gjs builds againstmozjs140now).