azurelinux icon indicating copy to clipboard operation
azurelinux copied to clipboard

Fix `gsettings-desktop-schemas` so that the schemas are usable.

Open surfacepatterns opened this issue 1 year ago • 1 comments

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • [x] The toolchain has been rebuilt successfully (or no changes were made to it)
  • [x] The toolchain/worker package manifests are up-to-date
  • [x] Any updated packages successfully build (or no packages were changed)
  • [x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • [x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • [x] All package sources are available
  • [x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • [x] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • [x] All source files have up-to-date hashes in the *.signatures.json files
  • [x] sudo make go-tidy-all and sudo make go-test-coverage pass
  • [x] Documentation has been updated to match any changes to the build system
  • [x] Ready to merge

Summary

What does the PR accomplish, why was it needed?

The current version of gsettings-desktop-schemas does not compile the schemas after installation, meaning that the schemas aren't available for access by gsettings and other Gnome libraries. When an application tries to access schemas that aren't compiled, this can result in error messages like the following:

GLib-GIO-ERROR**: No GSettings schemas are installed on the system

This change ensures that compiled schemas are refreshed during post-install and post-uninstall.

Note that, when not installed by a package manager, the meson build script in gsettings-desktop-schemas will do this in post-install. Unfortunately, this doesn't get run in the context of installation via a package manager because DESTDIR is defined.

Change Log
  • gsettings-desktop-schemas:
    • Add explicit dependency on 'glib-schemas'.
    • Refresh compiled schemas after installation and uninstallation; otherwise, the schemas won't be picked up by gsettings and Gnome libraries that make use of the schemas.
Does this affect the toolchain?

NO

Test Methodology
  • local build

surfacepatterns avatar Aug 20 '24 21:08 surfacepatterns