[Fedora-packaging] gnome-shell extension packaging and directory ownership questions

Kalev Lember kalevlember at gmail.com
Wed Aug 19 11:11:42 UTC 2015


On 08/19/2015 12:45 PM, Michael Schwendt wrote:
> Do we want to treat the "gnome-shell-extension-common" package as an
> "artificial filesystem" package to be required by all gnome-shell-extension-*
> packages to get directory ownership right?
> 
>   https://fedoraproject.org/wiki/Packaging:Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your_package_to_function
> 
> [...]
> 
> Inspite of its package name not ending with "-filesystem" (would that
> be a MUST?), the package description suggests that it serves as a
> filesystem package:
> 
>   $ rpm -qi gnome-shell-extension-common|tail -2
>   optional functionality to GNOME Shell. Common files and directories needed by
>   extensions are provided here.
> 
> It's only a single directory, and the "gnome-shell" parent dir is
> pulled in via a dependency:
> 
>   $ rpmls gnome-shell-extension-common|grep ^d
>   drwxr-xr-x  /usr/share/doc/gnome-shell-extension-common
>   drwxr-xr-x  /usr/share/gnome-shell/extensions
> 
>   $ rpm -qR gnome-shell-extension-common|grep -v ^rpm
>   gnome-shell >= 3.17.4
> 
> [...]
> 
> It has been pointed out during review that the package is not '''an
> "official" filesystem-package'''. And packagers happily take existing
> packages as example. A single gnome-shell-extension package by somebody
> from Red Hat owns the directory instead, giving the excuse to do it like
> that, too. All other extension packages add a dependency on that
> "artificial filesystem" package.

gnome-shell-extension-common is an internal subpackage for the
gnome-shell-extensions source package. Please don't make other packages
that come from different source packages depend on it.

-common is only split out because it contains translations shared by all
the extensions that come from the gnome-shell-extensions source package.

I went ahead and added an empty extensions directory (and
search-providers directory) to gnome-shell itself,
http://pkgs.fedoraproject.org/cgit/gnome-shell.git/commit/?id=a5548a25bf3aaa54b315463f19bab05c08ccddee

That should make it easier for extensions packages - just use
'Requires: gnome-shell' and the directory gets created along with
gnome-shell.

-- 
Hope this helps,
Kalev


More information about the packaging mailing list