* Add a link to the omf.pl script for generating OMF plist entries

automatically
* Mention that USE_LIBTOOL_VER=13 and lthack may not be enough to fix libtool
  problems, and point to patch-ltmain.sh
* Add info on the new GConf schema installation policy, and provide a gconf.pl
  script to add the entries automatically
This commit is contained in:
Joe Marcus Clarke 2004-06-27 19:57:12 +00:00
parent f0da96324d
commit d134d8a57f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=21283

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.39 2004/05/22 21:46:14 pav Exp $">
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.40 2004/06/27 19:00:50 marcus Exp $">
<!ENTITY title "FreeBSD GNOME Project: How To Make a Port">
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
@ -209,6 +209,7 @@ WANT_GNOME= yes
<!-- End GNOME-related Makefile macros -->
<!-- Begin GNOME OMF -->
<a name="omf"></a>
<h2>OMF Installation</h2>
<p>A large number of GNOME applications (especially GNOME 2
@ -242,8 +243,52 @@ WANT_GNOME= yes
2&gt;/dev/null || /usr/bin/true
</pre>
<p>You can use this <a href="/gnome/omf.pl">script</a> to
add these entries automatically.</p>
<!-- End GNOME OMF -->
<!-- Begin GConf schemas -->
<h2>GConf Schema Installation</h2>
<p>GConf is the XML-based database that virtually all GNOME
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>
<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
</pre>
<p>For example:</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
</pre>
<p>You can use this <a href="/gnome/gconf.pl">script</a> to
add these entrie automatically.</p>
<!-- End GConf schemas -->
<!-- Begin GNOME libtool -->
<h2>Libtool Issues</h2>
@ -257,6 +302,23 @@ WANT_GNOME= yes
<b>USE_GNOME</b> line in port Makefile. This prevents the
installation of .la files and ensures that
<tt>${PTHREAD_LIBS}</tt> will be passed to the linker.</p>
<p>Some applications may use newer versions of libtool, and
<tt>lthack</tt> may not be sufficient. This is usually
apparent during the linking phase where errors such as the
following are thrown:</p>
<pre>
libtool: ../../libsomelib.la not found
</pre>
<p>In this case, you should replace
<tt>USE_LIBTOOL_VER=13</tt> with <tt>GNU_CONFIGURE=yes</tt>,
and patch the port's <tt>ltmain.sh</tt> script directly.
Unfortunately, there is not one patch for
<tt>ltmain.sh</tt> that will work for every port.
Therefore, you should adapt one of the existing
<tt>patch-ltmain.sh</tt> files to work with your port.</p>
<!-- End GNOME libtool -->
<!-- Begin GNOME distfiles -->