On Fri, Nov 12, 2021 at 10:25 PM Matthew Miller mattdm@fedoraproject.org wrote:
See this Ask Fedora topic: https://ask.fedoraproject.org/t/fedora-34-extensions-installed-from-dnf-disa...
In short, some rpm-packaged GNOME Shell extensions don't work with the GNOME Shell we are shipping, but this isn't expressed in the dependencies.
I looked at the package which triggered the question, and:
$ rpm -qRp gnome-shell-extension-sound-output-device-chooser-39^1.8c90ed0-1.fc35.noarch.rpm gnome-shell-extension-common python3 rpmlib(CaretInVersions) <= 4.15.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsZstd) <= 5.4.18-1
and
$ rpm2cpio gnome-shell-extension-sound-output-device-chooser-39^1.8c90ed0-1.fc35.noarch.rpm |cpio -i --quiet --to-stdout './usr/share/gnome-shell/extensions/*/metadata.json'|jq '."shell-version"' [ "3.32", "3.34", "3.36", "3.38", "40" ]
Would it make sense to have an automatic dependency generator which requires gnome-shell to be one of those versions? (Or conflicts with gnome-shell which is _not_ those versions?)
I don't see a reason why not. Having a dependency generator that leverages a "gnome-shell(abi)" dependency to link the two would make sense. Potentially we'd want to check and fail the build if non-matching versions exist through a buildroot policy too?