Document the new GCONF_SCHEMAS.

Reviewed by:	marcus
This commit is contained in:
Jeremy Messenger 2004-09-18 04:25:52 +00:00
parent ee4f439e24
commit 8976f8eb76
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=22390

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.42 2004/06/30 23:45:27 pav Exp $">
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.43 2004/07/26 20:46:45 marcus Exp $">
<!ENTITY title "FreeBSD GNOME Project: How To Make a Port">
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
@ -255,38 +255,30 @@ WANT_GNOME= yes
applications use for storing their settings. This
database is defined by installed schema files that are
used to generate <tt>%gconf.xml</tt> key files. Previously,
these <tt>%gconf.xml</tt> key files were listed in plists.
However, this proved to be problematic. Therefore, a new
solution has been devised. GConf schema files are now
handled similarly to <a href="#omf">OMF files</a>. That
is, for each schema file installed by your port, you must
have the following entries listed in the
<tt>pkg-plist</tt>:</p>
these schema files and <tt>%gconf.xml</tt> key files were
listed in the port's <tt>pkg-plist</tt>. Since this proved
to be problematic, handling of GConf schemas was changed to
something similar to that of <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-manpages.html">MAN<i>n</i></a>
files. That is, for each schema file installed by your port,
you must have the following listed in the <tt>Makefile</tt>:</p>
<pre>
@unexec env GCONF_CONFIG_SOURCE=xml::%D/etc/gconf/gconf.xml.defaults \
gconftool-2 --makefile-uninstall-rule \
%D/etc/gconf/schemas/my_app.schemas &gt; /dev/null || /usr/bin/true
@exec env GCONF_CONFIG_SOURCE=xml::%D/etc/gconf/gconf.xml.defaults \
gconftool-2 --makefile-install-rule \
%D/etc/gconf/schemas/my_app.schemas &gt; /dev/null || /usr/bin/true
GCONF_SCHEMAS= my_app.schemas my_app2.schemas my_app3.schemas
</pre>
<p>For example:</p>
<p>For example in <tt>audio/gnomemedia2</tt>:</p>
<pre>
@unexec env GCONF_CONFIG_SOURCE=xml::%D/etc/gconf/gconf.xml.defaults \
gconftool-2 --makefile-uninstall-rule \
%D/etc/gconf/schemas/file-roller.schemas &gt; /dev/null || /usr/bin/true
@exec env GCONF_CONFIG_SOURCE=xml::%D/etc/gconf/gconf.xml.defaults \
gconftool-2 --makefile-install-rule \
%D/etc/gconf/schemas/file-roller.schemas &gt; /dev/null || /usr/bin/true
GCONF_SCHEMAS= CDDB-Slave2.schemas gnome-audio-profiles.schemas \
gnome-cd.schemas gnome-sound-recorder.schemas
</pre>
<p>You can use this <a href="/gnome/gconf.pl">script</a> to
add these entries automatically.</p>
<p>The schema files and <tt>%gconf.xml</tt> key files should
not be in the <tt>pkg-plist</tt>. If you notice that the
port doesn't has any <tt>%gconf.xml</tt> key files, but
has schema files then you should not be use
<tt>GCONF_SCHEMAS</tt>. It means, this port has broke
either schema files or installtion of GConf.</p>
<!-- End GConf schemas -->
<!-- Begin GNOME libtool -->