[Fedora-packaging] Adding a section on GSettingsSchema

Rex Dieter rdieter at math.unl.edu
Thu May 20 14:56:37 UTC 2010


Richard Hughes wrote:
> As more applications convert from GConf to GSettings, Fedora packages
> are going to need to deal with schema files.
> 
> At the moment in gnome-color-manager I use this:
> 
> %post
> glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
> 
> %postun
> glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
> 
> Although doing it for every single package seems like a waste of time.
> Maybe posttrans would be better in this case? Anyway, I think we need
> to sort out a policy and stick it on
> https://fedoraproject.org/wiki/Packaging:ScriptletSnippets before
> people start packaging applications that use GSettings schema files.
> 
> Let the discussion commence.

Thanks for the suggestions, I think %posttrans should be the way to go 
in general for stuff like this (I've been meaning to make a similar 
proposal to modify scriptletsnippets for update-desktop-database and 
update-mime-database for awhile).

So, what that means, is using something like this instead:

%posttrans
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :

%postun
if [ $1 -eq 0 ]; then
   glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
fi

the main advantage of this approach is
* if these items were theoretically optimized (similar to 
gtk-update-icon-cache is now) the batched commands would run and finish 
faster

Need to be careful that %posttrans is suitable only for stuff that's not 
needed for other (later) items in any install transaction (so, this 
obviously wouldn't be good for stuff like ldconfig).

Anyway, given that, I've tried hard and failed to come up with any 
disadvantages to moving this (and the other update-* items) to 
%posttrans in general.  Please do chime in, if I missed anything.

-- Rex


More information about the packaging mailing list