From a295995fd4804a9a72517b5f856b4d237ec235d7 Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Dec 19 2024 02:56:59 +0000 Subject: WIP: add guidelines for GNOME Shell extensions This is part of https://fedoraproject.org/wiki/Changes/GnomeShellExtensionDependencyGenerator and should not be committed until the Change is accepted and the implementation is done Signed-off-by: Michel Lind --- diff --git a/guidelines/modules/ROOT/nav.adoc b/guidelines/modules/ROOT/nav.adoc index 5a366c7..546e1a9 100644 --- a/guidelines/modules/ROOT/nav.adoc +++ b/guidelines/modules/ROOT/nav.adoc @@ -76,6 +76,7 @@ ** xref:EnvironmentModules.adoc[EnvironmentModules] ** xref:FontsPolicy.adoc[Fonts] ** xref:GAP.adoc[GAP] +** xref:GNOME_Shell_extensions.adoc[GNOME Shell extensions] ** xref:LibreOfficeExtensions.adoc[LibreOffice Extensions] ** xref:MinGW.adoc[MinGW] ** xref:MPI.adoc[MPI] diff --git a/guidelines/modules/ROOT/pages/GNOME_Shell_extensions.adoc b/guidelines/modules/ROOT/pages/GNOME_Shell_extensions.adoc new file mode 100644 index 0000000..133469c --- /dev/null +++ b/guidelines/modules/ROOT/pages/GNOME_Shell_extensions.adoc @@ -0,0 +1,12 @@ += GNOME Shell extensions + +https://extensions.gnome.org/about/[GNOME Shell extensions] are small pieces of code written by third party developers that modify the way GNOME works. + +== Requires + +Extensions are marked as compatible with specific versions of GNOME Shell in their `metadata.json`. We have historically not required that the packaged extension express this dependency, and as a result, extensions that have not been updated for a newer GNOME Shell might install just fine but then won't activate. + +From Fedora Linux 42 and up, a dependency generator is automatically run as part of the package build to add install-time dependencies on the versions of GNOME Shell the extension's `metadata.json` claims to support; as such, for Fedora 42 and above extension packages _MUST_ declare the version of GNOME Shell they support. This is a no-op for packagers. + +For Fedora Linux 41 and below, and EPEL, declaring the version of GNOME Shell an extension supports is a _SHOULD_ rather than a must. +