You are not logged in.

#1 2025-01-12 12:56:47

Sanya_M
Member
Registered: 2014-01-04
Posts: 7

gnome-shell dependency in extension PKGBUILDs

I maintain PKGBUILD for my own extension in AUR. And I guess I should use extension packages from [extra] and [community] as examples. Those packages include "gnome-shell" in depends, without any version constraints. I have two issues with it:

1. When building in a chroot, gnome-shell pulls in a lot of transitive dependencies, increasing the build time. While in reality gnome-shell isn't necessary to build the extension.

2. There's no indication of (in)compatibility with gnome-shell updates. When a new version of gnome-shell is published, you just login and find out that extensions stopped working - but nothing warns you during "pacman -Syu" and nothing holds the destructive update back.

Is this (having unversioned "gnome-shell" in depends, and having "gnome-shell" in depends at all) really a good idea?

Offline

#2 2025-01-12 17:36:34

twelveeighty
Member
From: Alberta, Canada
Registered: 2011-09-04
Posts: 1,225

Re: gnome-shell dependency in extension PKGBUILDs

One could make the argument that if 'gnome-shell' isn't required to build the package, why is it in the 'depends' array in the first place?

Your #1 and #2 issues are contradicting each other. To prevent people from updating gnome-shell before it bricks the extension, you'd have to tell pacman that extension X requires 'gnome-shell<x.y.z', which should prevent the update to gnome-shell during pacman -Syu.

But I think this sounds like a gnome-shell extension design flaw: why are the extensions so brittle that every new version of gnome-shell bricks them?

Offline

#3 2025-01-12 18:00:07

Sanya_M
Member
Registered: 2014-01-04
Posts: 7

Re: gnome-shell dependency in extension PKGBUILDs

> why are the extensions so brittle that every new version of gnome-shell bricks them?

Because there is no stable API. And because extensions have to declare compatibility with every major GNOME Shell version in the metadata explicitly.

> Your #1 and #2 issues are contradicting each other.

Not exactly, there is also "conflicts" array

Last edited by Sanya_M (2025-01-12 18:00:31)

Offline

#4 2025-01-12 21:38:42

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,275

Re: gnome-shell dependency in extension PKGBUILDs

Is this (having unversioned "gnome-shell" in depends, and having "gnome-shell" in depends at all) really a good idea?

It's how archlinux works as devs assume everyone always has latest version from archlinux repos installed.

Incase rebuilds against new versions are needed, archlinux devs do that for all repo packages.
For aur/unoffical repos/3rd party packages  users need to do that themselves.

https://archlinux.org/packages/extra/an … -detector/ can help to show a warning which packages require a rebuild.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#5 2025-01-13 03:11:01

Sanya_M
Member
Registered: 2014-01-04
Posts: 7

Re: gnome-shell dependency in extension PKGBUILDs

> Incase rebuilds against new versions are needed, archlinux devs do that for all repo packages.

But rebuilds have nothing to do with extension compatibility (and some extensions have no build process at all - just packaging source code in a zip archive). To get compatibility with a new major version of GNOME Shell, you need to patch extension's source code.

Offline

#6 2025-01-13 11:41:01

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,275

Re: gnome-shell dependency in extension PKGBUILDs

Then it would be smart to only use extensions from repos or ones that are updated for new versions fast.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

Board footer

Powered by FluxBB