Re: GSettings and you



On Wed, 2010-04-21 at 10:23 -0500, Shaun McCance wrote:
> On Wed, 2010-04-21 at 09:20 -0400, Matthias Clasen wrote:
> > On Wed, Apr 21, 2010 at 4:26 AM, Richard Hughes <hughsient gmail com> wrote:
> > > On 20 April 2010 15:45, Bastien Nocera <hadess hadess net> wrote:
> > >> GSettings. Here are a couple of notes (in addition to some questions
> > >> from Richard who was porting gnome-color-manager):
> > >
> > > Some more questions:
> > >
> > > 1. The Gio /usr/lib/pkgconfig/gio-2.0.pc file has this:
> > >
> > > giomoduledir=${libdir}/gio/modules
> > > gsettingsschemadir=${prefix}/share/glib-2.0/schemas
> > >
> > > And yet when you do:
> > >
> > > pkg-config --variable gsettingsschemadir gio-2.0
> > >
> > > you get:
> > >
> > > /usr/share/glib-2.0/schemas
> > >
> > > (i.e. the ${prefix} is substituted out, rather than being left to the
> > > configure to substitute itself with the correct value)
> > >
> > > This breaks "make distcheck" pretty hard.
> > 
> > This is gio telling you where it will look for installed schemas, so
> > not expanding prefix would not make any sense. You should certainly
> > prepend $DESTDIR. But, since gsettings is using XDG_DATA_DIRS anyway,
> > we should probably scrap the variable altogether and just
> > use $DESTDIR$(prefix)/glib-2.0/schemas. It is then up to people to set
> > XDG_DATA_DIRS matching that prefix at runtime.
> 
> Yes please. This is the same kind of distcheck breaking that we
> had with ScrollKeeper. It's why we have --disable-scrollkeeper
> in gnome-doc-utils, and why every module has this:
> 
> DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper
> 
> I assumed from the pkg-config variable that GSettings only looked
> in the single directory. But since it's using XDG_DATA_DIRS, we
> should just have packages install to glib-2.0/schemas in their
> own datadir. If people want to use wonky prefixes, they have to
> set XDG_DATA_DIRS. They have to do it already anyway for a bunch
> of other things to work.

This is now what we're doing in the pkg-config file, and in the examples
in the migration guide.

Note AM_GSETTINGS in configure which will do most of the work for you.

Cheers



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]