2008-06-01 Michal Pryc - <[email protected]> gnome-2-22 NEVADA_92
authormigi
Sun, 01 Jun 2008 18:06:43 +0000
branchgnome-2-22
changeset 12405 6b354ed388e8
parent 12404 dee4a5b7a974
child 12406 ce10e316fbfa
2008-06-01 Michal Pryc - <[email protected]> * base-specs/ggz-client-libs.spec: Added patch ggz-client-libs-04-manpages.diff * patches/ggz-client-libs-04-manpages.diff: Fixed manpages for not listening modules, which are not installed (kde client apps etc.) * SUNWgnome-games.spec: Added three manpages, which were not made by the community: libggz.3, libggzmod.3, libggzcore.3 * manpages/Makefile: Added SUNWgnome-games manpages * manpages/man3/libggz.3: new manpage * manpages/man3/libggzmod.3: new manpage * manpages/man3/libggzcore.3: new manpage
ChangeLog
SUNWgnome-games.spec
base-specs/ggz-client-libs.spec
manpages/Makefile
manpages/man3/libggz.3
manpages/man3/libggzcore.3
manpages/man3/libggzmod.3
patches/ggz-client-libs-04-manpages.diff
--- a/ChangeLog	Sun Jun 01 08:23:28 2008 +0000
+++ b/ChangeLog	Sun Jun 01 18:06:43 2008 +0000
@@ -1,3 +1,15 @@
+2008-06-01 Michal Pryc - <[email protected]>
+	* base-specs/ggz-client-libs.spec: Added patch 
+	  ggz-client-libs-04-manpages.diff
+	* patches/ggz-client-libs-04-manpages.diff: Fixed manpages for not
+	  listening modules, which are not installed (kde client apps etc.)
+	* SUNWgnome-games.spec: Added three manpages, which were not made by
+	  the community: libggz.3, libggzmod.3, libggzcore.3
+	* manpages/Makefile: Added SUNWgnome-games manpages
+	* manpages/man3/libggz.3: new manpage
+	* manpages/man3/libggzmod.3: new manpage
+	* manpages/man3/libggzcore.3: new manpage
+
 2008-06-01 Erwann Chenede - <[email protected]>
 
 	* patches/libgnome-01-sun-default-background.diff
--- a/SUNWgnome-games.spec	Sun Jun 01 08:23:28 2008 +0000
+++ b/SUNWgnome-games.spec	Sun Jun 01 18:06:43 2008 +0000
@@ -19,6 +19,7 @@
 Name:                    SUNWgnome-games
 Summary:                 GNOME games
 Version:                 %{default_pkg_version}
+Source:                  %{name}-manpages-0.1.tar.gz
 SUNW_BaseDir:            %{_basedir}
 SUNW_Copyright:          %{name}.copyright
 BuildRoot:               %{_tmppath}/%{name}-%{version}-build
@@ -71,6 +72,8 @@
 %libggz.prep -d %name-%version
 %ggz_client_libs.prep -d %name-%version
 %gnome_games.prep -d %name-%version
+cd %{_builddir}/%name-%version
+gzcat %SOURCE0 | tar xf -
 
 %build
 %define libggz_build_dir %{_builddir}/%name-%version/libggz-%{libggz.version}
@@ -100,6 +103,7 @@
 
 %install
 rm -rf $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT%{_mandir}
 %libggz.install -d %name-%version
 %ggz_client_libs.install -d %name-%version
 %gnome_games.install -d %name-%version
@@ -116,6 +120,9 @@
 rm $RPM_BUILD_ROOT%{_libdir}/*.a
 rm $RPM_BUILD_ROOT%{_libdir}/*.la
 
+cd %{_builddir}/%name-%version/sun-manpages
+make install DESTDIR=$RPM_BUILD_ROOT
+
 %if %build_l10n
 %else
 # REMOVE l10n FILES*files-list*
@@ -257,6 +264,8 @@
 %{_mandir}/man3/*
 
 %changelog
+* Sun Jun 1 2008 - [email protected]
+- Added additional manual pages: libggz, libggzmod, libggzcore
 * Tue May 13 2008 - [email protected]
 - Comment out %{_sysconfdir}/ggz.modules in %files as it's not being installed
   this week.
--- a/base-specs/ggz-client-libs.spec	Sun Jun 01 08:23:28 2008 +0000
+++ b/base-specs/ggz-client-libs.spec	Sun Jun 01 18:06:43 2008 +0000
@@ -23,6 +23,8 @@
 # svn://svn.ggzgamingzone.org/svn/trunk/ggz-client-libs/po
 # owner:fujiwara date:2008-02-27 type:bug state:upstream
 Patch3:       ggz-client-libs-03-po.diff
+# owner:migi date:2008-06-01
+Patch4:       ggz-client-libs-04-manpages.diff
 URL:          http://www.ggzgamingzone.org/
 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
 Docdir:       %{_defaultdocdir}/%{name}
@@ -41,6 +43,7 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %build
 %ifos linux
@@ -78,6 +81,8 @@
 
 
 %changelog
+* Sun Jun 01 2008 - [email protected]
+- Added patch ggz-client-libs-04-manpages.diff  
 * Wed Feb 27 2008 - [email protected]
 - Add ggz-client-libs-03-po.diff to add it.po
 * Mon Feb 25 2008 - [email protected]
--- a/manpages/Makefile	Sun Jun 01 08:23:28 2008 +0000
+++ b/manpages/Makefile	Sun Jun 01 18:06:43 2008 +0000
@@ -140,6 +140,7 @@
 	SUNWxdg-user-dirs			\
 	SUNWxdg-user-dirs-gtk			\
 	SUNWvirt-manager		\
+	SUNWgnome-games		\
 	SUNWgamin
 
 all: TARBALLS
@@ -746,6 +747,12 @@
         man1/virt-manager.1
 SUNWvirt-manager.PAGES: $(SUNWvirt-manager_PAGES)
 
+SUNWgnome-games_PAGES =    	\
+	man3/libggz.3		\
+	man3/libggzcore.3	\
+	man3/libggzmod.3
+SUNWgnome-games.PAGES: $(SUNWgnome-games_PAGES)
+
 SUNWxdg-user-dirs_PAGES =   \
 		man1/xdg-user-dir.1 \
 		man1/xdg-user-dirs-update.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/manpages/man3/libggz.3	Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,192 @@
+<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
+<!--ArborText, Inc., 1988-1999, v.4002-->
+<!ENTITY cmd "libggz">
+<!ENTITY % commonents SYSTEM "smancommon.ent">
+%commonents;
+<!ENTITY % booktitles SYSTEM "booktitles.ent">
+%booktitles;
+<!ENTITY suncopy "Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.">
+]>
+<?Pub UDT _bookmark _target>
+<?Pub Inc>
+<refentry id="libggz-3">
+<!-- %Z%%M% %I% %E% SMI; -->
+<refmeta>
+   <refentrytitle>libggz</refentrytitle><manvolnum>3</manvolnum>
+   <refmiscinfo class="date">29 May 2008</refmiscinfo>
+   <refmiscinfo class="sectdesc">&man3;</refmiscinfo>
+   <refmiscinfo class="software">&release;</refmiscinfo>
+   <refmiscinfo class="arch">generic</refmiscinfo>
+   <refmiscinfo class="copyright">&suncopy;</refmiscinfo>
+</refmeta>
+
+<indexterm><primary>libggz</primary></indexterm>
+<indexterm><primary>The GGZ Gaming Zone base library</primary></indexterm>
+
+<refnamediv id="libggz-3-name">
+   <refname>libggz</refname>
+   <refpurpose>
+The GGZ Gaming Zone base library
+   </refpurpose>
+</refnamediv>
+
+<refsect1 id="libggz-3-desc">
+   <title>&desc-tt;</title>
+   <para>
+&cmd; is used by GGZ Gaming Zone server, the ggzcore library and other
+components. This library handles networking, configuration files, structure
+management functions and wrappers around glibc functions.
+   </para>
+   <para>
+The <filename>libggz</filename> library contains different groups of functions:
+   </para>
+<refsect2 id="libggz-3-exde-optb-func">
+<title>FUNCTION GROUPS</title>
+   <para>
+<variablelist termlength="long">
+<varlistentry><term><literal>Memory handling</literal></term><listitem>
+<para>
+These functions provide an alternative to the normal C library functions for 
+dynamically allocating memory. They keep track of memory allocated by storing
+the name of the function and file in which they were called similar to glibc but 
+are more convenient to use. For instance, ggz_strdup(NULL) returns NULL instead 
+of crashing, and ggz_malloc() includes a reference counter to be used for 
+debugging in combination with ggz_free(). With enabled MEMORY debugging the 
+function ggz_memory_check() may be called to make sure all allocated memory has 
+been freed.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>Configuration file management</literal></term><listitem>
+This group of functions is used for XML configuration file routines to store
+and retrieve values. For example, the ggz_conf_parse() function can be used to
+open a config file. To create such file automatically the GGZ_CONF_CREATE must
+be specified. If exactly the same configuration pathname is being opened more
+than one time, the original handle is being returned and only one copy is
+retained within memory.
+
+Configuration values are stored using a system of sections and keys. A key must
+be unique within a section and cannot be both an integer and a string within the
+same key. Section and key names may contain any characters except an equal sign.
+Although keys may not have leading or trailing whitespace, section names may
+have them.  It is suggested that any whitespace (other than possibly internal
+spaces) be avoided when specifying section and key names.  
+
+For writing the values to the physical file, the ggz_conf_commit() function must
+be called, otherwise all values are in the memory only, which makes writing 
+multiple values in rapid succession more efficient, as the entire file must be 
+regenerated in order to be written to the flat-file format of the configuration 
+file.
+
+The string and list reading functions return dynamically allocated memory to
+the caller.  The user is responsible for calling ggz_free() on this memory when
+they no longer need the returned values.
+
+All memory used internally by the configuration functions will be released when 
+ggz_conf_cleanup() is called.  Note that this does not commit any changes made 
+to the configuration files, so the ggz_conf_commit() have to be called to do 
+such commit. The ggz_conf_cleanup() is expected to call this at program 
+termination, but it may be called at any time earlier than termination and new 
+files may be subsequently opened.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>Debug functions</literal></term><listitem>
+The functions allow switching on and off debug messages for a certain tag.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>Network functions</literal></term><listitem>
+Those functions, historically known as the easysock library, permits the
+creation of server or client sockets, compatible with IPv6, as well as reading
+and writing basic datatypes such as integers or strings.
+</listitem>
+</varlistentry>
+</varlistentry>
+<varlistentry><term><literal>Security functions</literal></term><listitem>
+This group of functions are for both cryptographic hash creation and comparison 
+using the gcrypt library, and for TLS encryption for network channels using 
+OpenSSL. 
+</listitem>
+</varlistentry>
+   </para>
+</refsect2>
+</para>
+</refsect1>
+
+<refsect1 id="libggz-3-file">
+   <title>&file-tt;</title>
+   <para>The following files are used by this library:</para>
+   <variablelist termlength="wide">
+      <varlistentry>
+         <term><filename>/usr/lib/&cmd;.so</filename> </term>
+         <listitem>
+            <para>The base GGZ Gaming Zone shared library</para>
+         </listitem>
+      </varlistentry>
+   </variablelist>
+</refsect1>
+
+<refsect1 id="libggz-3-attr">
+   <title>&attr-tt;</title>
+   <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry>
+<refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+</olink> for descriptions of the following attributes:
+   </para>
+   <informaltable frame="all">
+      <tgroup cols="2" colsep="1" rowsep="1">
+         <colspec colname="COLSPEC0" colwidth="1*">
+         <colspec colname="COLSPEC1" colwidth="1*">
+         <thead>
+            <row>
+               <entry align="center" valign="middle">ATTRIBUTE TYPE</entry>
+               <entry align="center" valign="middle">ATTRIBUTE VALUE</entry>
+            </row>
+         </thead>
+         <tbody>
+            <row>
+               <entry><para>Availability</para></entry>
+               <entry><para>SUNWgnome-games</para></entry>
+            </row>
+            <row>
+               <entry colname="COLSPEC0"><para>Interface stability</para></entry>
+               <entry colname="COLSPEC1"><para>Volatile</para></entry>
+            </row>
+         </tbody>
+      </tgroup>
+   </informaltable>
+</refsect1>
+
+<refsect1 id="libggz-3-also"><title>&also-tt;</title>
+   <!--Reference to another man page-->
+   <!--Reference to a Help manual-->
+   <!--Reference to a book.-->
+<para>
+<citerefentry><refentrytitle>ggz_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzcore_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzmod_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzcore</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzmod</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz.modules</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>gnome-interfaces</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz-config</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+</para>
+<variablelist termlength="wholeline">
+<varlistentry>
+<term><filename>GGZ Gaming Zone:</filename></term>
+<listitem><para>
+<programlisting>
+<literal>http://www.ggzgamingzone.org/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/libggz/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzcore/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzmod/</literal>
+</programlisting></para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1 id="libggz-3-note"><title>&note-tt;</title>
+   <para>Written by Michal Pryc, Sun Microsystems Inc., 2008.</para>
+</refsect1>
+</refentry>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/manpages/man3/libggzcore.3	Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,145 @@
+<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
+<!--ArborText, Inc., 1988-1999, v.4002-->
+<!ENTITY cmd "libggzcore">
+<!ENTITY % commonents SYSTEM "smancommon.ent">
+%commonents;
+<!ENTITY % booktitles SYSTEM "booktitles.ent">
+%booktitles;
+<!ENTITY suncopy "Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.">
+]>
+<?Pub UDT _bookmark _target>
+<?Pub Inc>
+<refentry id="libggzcore-3">
+<!-- %Z%%M% %I% %E% SMI; -->
+<refmeta>
+   <refentrytitle>libggzcore</refentrytitle><manvolnum>3</manvolnum>
+   <refmiscinfo class="date">29 May 2008</refmiscinfo>
+   <refmiscinfo class="sectdesc">&man3;</refmiscinfo>
+   <refmiscinfo class="software">&release;</refmiscinfo>
+   <refmiscinfo class="arch">generic</refmiscinfo>
+   <refmiscinfo class="copyright">&suncopy;</refmiscinfo>
+</refmeta>
+
+<indexterm><primary>libggzcore</primary></indexterm>
+<indexterm><primary>The GGZ Gaming Zone core client library</primary></indexterm>
+
+<refnamediv id="libggzcore-3-name">
+   <refname>libggzcore</refname>
+   <refpurpose>
+The GGZ Gaming Zone core client library
+</refpurpose>
+</refnamediv>
+<refsect1 id="libggzcore-3-desc">
+   <title>&desc-tt;</title>
+   <para>
+This library is used by client programs to connect to the GGZ 
+Gaming Zone server, handle game rooms, control user participation in the games,
+control chat and player properties.
+   </para>
+   <para>
+The <filename>ggzcore</filename> library handles the connection of a client 
+application to the GGZ Gaming Zone server. It starts with offering a global 
+configuration object for storing connection profiles for each server. The
+server list can be maintained by hand or updated via the GGZ metaserver. After
+this it goes on to callback registration for the connection, negotiation and 
+authentication methods, which might include guest logins, first time player or 
+registered player on the GGZ server.
+   </para>
+   <para>
+After a login it handles the global server object, the current room object and, 
+when playing a game, the active game object. Additional objects include the 
+table the game is associated with, players, game types and game modules which 
+represent client-side game executables. 
+   </para>
+   <para>
+Alternatively, a game can integrate ggzcore directly instead of being launched 
+by a ggzcore-using GGZ core client, which is known as embedded ggzcore. 
+   </para>
+   <para>
+Other tasks handled by the library are querying the local game registry with
+all properties per game; retrieving the server message of the day (MOTD) or
+player statistics; handling public, private and per-table chat as well as 
+administrative messages; and managing the game launch and join events for 
+players and spectators. 
+   </para>
+</refsect1>
+
+<refsect1 id="libggzcore-3-file">
+   <title>&file-tt;</title>
+   <para>The following files are used by this library:</para>
+   <variablelist termlength="wide">
+      <varlistentry>
+         <term><filename>/usr/lib/&cmd;.so</filename> </term>
+         <listitem>
+            <para>The GGZ Gaming Zone core client shared library</para>
+         </listitem>
+      </varlistentry>
+   </variablelist>
+</refsect1>
+
+<refsect1 id="libggzcore-3-attr">
+   <title>&attr-tt;</title>
+   <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry>
+<refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+</olink> for descriptions of the following attributes:
+   </para>
+   <informaltable frame="all">
+      <tgroup cols="2" colsep="1" rowsep="1">
+         <colspec colname="COLSPEC0" colwidth="1*">
+         <colspec colname="COLSPEC1" colwidth="1*">
+         <thead>
+            <row>
+               <entry align="center" valign="middle">ATTRIBUTE TYPE</entry>
+               <entry align="center" valign="middle">ATTRIBUTE VALUE</entry>
+            </row>
+         </thead>
+         <tbody>
+            <row>
+               <entry><para>Availability</para></entry>
+               <entry><para>SUNWgnome-games</para></entry>
+            </row>
+            <row>
+               <entry colname="COLSPEC0"><para>Interface stability</para></entry>
+               <entry colname="COLSPEC1"><para>Volatile</para></entry>
+            </row>
+         </tbody>
+      </tgroup>
+   </informaltable>
+</refsect1>
+
+<refsect1 id="libggzcore-3-also"><title>&also-tt;</title>
+   <!--Reference to another man page-->
+   <!--Reference to a Help manual-->
+   <!--Reference to a book.-->
+<para>
+<citerefentry><refentrytitle>ggz_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzcore_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzmod_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggz</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzmod</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz.modules</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>gnome-interfaces</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz-config</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+</para>
+<variablelist termlength="wholeline">
+<varlistentry>
+<term><filename>GGZ Gaming Zone:</filename></term>
+<listitem><para>
+<programlisting>
+<literal>http://www.ggzgamingzone.org/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/libggz/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzcore/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzmod/</literal>
+</programlisting></para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1 id="libggzcore-3-note"><title>&note-tt;</title>
+   <para>Written by Michal Pryc, Sun Microsystems Inc., 2008.</para>
+</refsect1>
+</refentry>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/manpages/man3/libggzmod.3	Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,231 @@
+<!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
+<!--ArborText, Inc., 1988-1999, v.4002-->
+<!ENTITY cmd "libggzmod">
+<!ENTITY % commonents SYSTEM "smancommon.ent">
+%commonents;
+<!ENTITY % booktitles SYSTEM "booktitles.ent">
+%booktitles;
+<!ENTITY suncopy "Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.">
+]>
+<?Pub UDT _bookmark _target>
+<?Pub Inc>
+<refentry id="libggzmod-3">
+<!-- %Z%%M% %I% %E% SMI; -->
+<refmeta>
+   <refentrytitle>libggzmod</refentrytitle><manvolnum>3</manvolnum>
+   <refmiscinfo class="date">29 May 2008</refmiscinfo>
+   <refmiscinfo class="sectdesc">&man3;</refmiscinfo>
+   <refmiscinfo class="software">&release;</refmiscinfo>
+   <refmiscinfo class="arch">generic</refmiscinfo>
+   <refmiscinfo class="copyright">&suncopy;</refmiscinfo>
+</refmeta>
+
+<indexterm><primary>libggzmod</primary></indexterm>
+<indexterm><primary>The GGZ Gaming Zone game frontend library</primary></indexterm>
+
+<refnamediv id="libggzmod-3-name">
+   <refname>libggzmod</refname>
+   <refpurpose>
+The GGZ Gaming Zone game frontend library.
+</refpurpose>
+</refnamediv>
+
+<refsect1 id="libggzmod-3-desc">
+   <title>&desc-tt;</title>
+   <para>
+This library allows games to communicate with the GGZ Gaming Zone
+core client, which allows establishing the connection to the GGZ Gaming Zone
+server and its associated game server.
+   </para>
+   <para>
+The <filename>libggzmod</filename> allows game authors to use GGZ Gaming Zone in 
+their game clients. This library provides a state engine and an event 
+dispatcher. The states are associated with the game tables. Each table has a 
+current state which is tracked by GGZMod and the GGZMOD_EVENT_STATE is 
+propagated to the game server, each time game state changes.
+   </para>
+
+<refsect3 id="libggzmod-3-exde-optb-stat">
+<title>STATES</title>
+   <para>
+<variablelist termlength="medium">
+<varlistentry><term><literal>GGZMOD_STATE_CREATED</literal></term><listitem>
+<para>
+The game is in this state when it is executed for the first time. This state
+should never be changed back once the state is set.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_CONNECTED</literal></term><listitem>
+Once the GGZ client and the game are connected, the game changes state to this
+automatically. This state should never be changed back once the game leaves
+this state.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_WAITING</literal></term><listitem>
+After the game client and game server are connected, the client enters this
+state. The game client may now call ggzmod_set_state to change states 
+between GGZMOD_STATE_WAITING, GGZMOD_STATE_PLAYING, and GGZMOD_STATE_DONE. 
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_PLAYING</literal></term><listitem>
+This state tells that the game is actively being played, while the 
+GGZMOD_STATE_WAITING state in the game is considered waiting for players.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_STATE_DONE</literal></term><listitem>
+This state indicates the table is considered dead and will exit shortly
+thereafter.
+</listitem>
+</varlistentry>
+</variablelist>
+   </para>
+</refsect3>
+
+<refsect3 id="libggzmod-3-exde-optb-even">
+<title>EVENTS</title>
+   <para>
+For each of the events available in GGZModEvent, the table may register a 
+handler to handle that event.
+Events include:
+<variablelist termlength="long">
+<varlistentry><term><literal>GGZMOD_EVENT_STATE</literal></term><listitem>
+Inform about a new game status. The old state (a GGZModState*) is passed as the 
+event's data.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_SERVER</literal></term><listitem>
+This event occurs when a new connection to the game server has been made, 
+either by the core client or by the game client itself. In this case the fd is 
+passed as the event's data.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_PLAYER</literal></term><listitem>
+This event occurs when the player's seat status changes.  For example, if a 
+player or bot joins, leaves seat, or starts/stops spectating. The passed event
+data is a int[2] pair consisting of the old {is_spectator, seat_num}.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_SEAT</literal></term><listitem>
+Informs about seat changes.  The old seat (a GGZSeat*) is passed as the event 
+data. The seat information will be updated before this event is invoked.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_SPECTATOR_SEAT</literal></term><listitem>
+This event occurs when a spectator seat change happens.   The old spectator (a
+GGZSpectator*) is passed as the event data. The spectator information will be 
+updated before this event is invoked.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_CHAT</literal></term><listitem>
+This is an event for receiving a chat. The chat may have originated in another 
+game client or from the GGZ client. The chat information (a GGZChat*) is passed 
+as the event's data.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_STATS</literal></term><listitem>
+This is an event informing that player's statistics have been updated.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_INFO</literal></term><listitem>
+This event fires when information about one or more other players has been
+requested and has been received. The event's data is in a GGZPlayerInfo*
+structure or NULL if information about all players was requested.
+</listitem>
+</varlistentry>
+<varlistentry><term><literal>GGZMOD_EVENT_ERROR</literal></term><listitem>
+This event informs about GGZMod errors. An error message (a char*) is passed as
+the event's data. The GGZMod may attempt to recover from the error, but it is
+not guaranteed that the GGZ connection will continue to work after an error has
+happened. 
+</listitem>
+</varlistentry>
+</variablelist>
+  </para>
+</refsect3>
+</refsect1>
+
+<refsect1 id="libggzmod-3-file">
+   <title>&file-tt;</title>
+   <para>The following files are used by this library:</para>
+   <variablelist termlength="wide">
+      <varlistentry>
+         <term><filename>/usr/lib/&cmd;.so</filename> </term>
+         <listitem>
+            <para>The GGZ Gaming Zone game frontend shared library</para>
+         </listitem>
+      </varlistentry>
+      <varlistentry>
+         <term><filename>/etc/ggz.modules</filename> </term>
+         <listitem>
+            <para>Game module registry for game clients</para>
+         </listitem>
+      </varlistentry>
+   </variablelist>
+</refsect1>
+
+<refsect1 id="libggzmod-3-attr">
+   <title>&attr-tt;</title>
+   <para>See <olink targetdocent="REFMAN5" localinfo="attributes-5"><citerefentry>
+<refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+</olink> for descriptions of the following attributes:
+   </para>
+   <informaltable frame="all">
+      <tgroup cols="2" colsep="1" rowsep="1">
+         <colspec colname="COLSPEC0" colwidth="1*">
+         <colspec colname="COLSPEC1" colwidth="1*">
+         <thead>
+            <row>
+               <entry align="center" valign="middle">ATTRIBUTE TYPE</entry>
+               <entry align="center" valign="middle">ATTRIBUTE VALUE</entry>
+            </row>
+         </thead>
+         <tbody>
+            <row>
+               <entry><para>Availability</para></entry>
+               <entry><para>SUNWgnome-games</para></entry>
+            </row>
+            <row>
+               <entry colname="COLSPEC0"><para>Interface stability</para></entry>
+               <entry colname="COLSPEC1"><para>Volatile</para></entry>
+            </row>
+         </tbody>
+      </tgroup>
+   </informaltable>
+</refsect1>
+
+<refsect1 id="libggzmod-3-also"><title>&also-tt;</title>
+   <!--Reference to another man page-->
+   <!--Reference to a Help manual-->
+   <!--Reference to a book.-->
+<para>
+<citerefentry><refentrytitle>ggz_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzcore_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggzmod_h</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggz</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>libggzcore</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>attributes</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz.modules</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>gnome-interfaces</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz-config</refentrytitle><manvolnum>6</manvolnum></citerefentry>,
+<citerefentry><refentrytitle>ggz</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+</para>
+<variablelist termlength="wholeline">
+<varlistentry>
+<term><filename>GGZ Gaming Zone:</filename></term>
+<listitem><para>
+<programlisting>
+<literal>http://www.ggzgamingzone.org/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/libggz/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzcore/</literal>
+<literal>http://www.ggzgamingzone.org/docs/api/ggzmod/</literal>
+</programlisting></para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1 id="libggzmod-3-note"><title>&note-tt;</title>
+   <para>Written by Michal Pryc, Sun Microsystems Inc., 2008.</para>
+</refsect1>
+</refentry>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ggz-client-libs-04-manpages.diff	Sun Jun 01 18:06:43 2008 +0000
@@ -0,0 +1,165 @@
+--- ggz-client-libs-0.0.14.1.orig/man/ggz.modules.5.in	2008-06-01 12:59:52.991337471 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz.modules.5.in	2008-06-01 12:56:52.662907224 +0100
+@@ -96,10 +96,15 @@
+ .SH "FILES"
+ .LP 
+ \fI@ggzconfdir@/ggz.modules\fP
+-.SH "AUTHORS"
+-.LP 
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
+ .LP 
+-ggz-config(6), ggz(7)
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3), 
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz(6), ggz-config(6),
++ggz(7)
++.LP 
++GGZ Gaming Zone:
++   http://www.ggzgamingzone.org/
++.SH "AUTHORS"
++.LP
++   The GGZ Development Team <ggz\[email protected]>
++   Last edited by Michal Pryc, Sun Microsystems Inc., 2008.
+--- ggz-client-libs-0.0.14.1.orig/man/ggz-config.6.in	2008-06-01 12:59:52.992076447 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz-config.6.in	2008-06-01 12:56:52.664395310 +0100
+@@ -114,10 +114,15 @@
+ that could arise with an invalid \fIggz.modules\fP file.
+ .LP 
+ Probably others, too numerous to mention.
+-.SH "AUTHORS"
+-.LP 
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
+ .LP 
+-ggz.modules(5), ggz(7)
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3), 
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz(6), ggz-config(6), 
++ggz(7)
++.LP 
++GGZ Gaming Zone:
++   http://www.ggzgamingzone.org/
++.SH "AUTHORS"
++.LP
++   The GGZ Development Team <ggz\[email protected]>
++   Last edited by Michal Pryc, Sun Microsystems Inc., 2008.
+--- ggz-client-libs-0.0.14.1.orig/man/ggz.6	2008-06-01 12:59:52.992537184 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz.6	2008-06-01 12:56:52.662591328 +0100
+@@ -14,21 +14,20 @@
+ core client without worrying which ones are installed. The tool is useful
+ for launching GGZ core clients from other software, but it will certainly
+ also be used by experienced users who just want to connect to GGZ quickly.
+-.LP 
+-Currently, the KDE client \fBkggz\fR, the Gtk+ client \fBggz-gtk\fR and
+-the Java client \fBggz-java\fR are supported for graphical environments.
+-In text-console mode, \fBggz-txt\fR can serve as a fallback.
+ .SH "OPTIONS"
+ .LP 
+ Since the available program options varies between the core clients,
+ only the common \fIURL\fR parameter is supported. This is a connection
+ identifier of the form ggz://user@host:port and will in most cases
+ be abbreviated to user@host.
+-.LP 
+-.SH "AUTHORS"
+-.LP 
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
+ .LP 
+-kggz(6), ggz-gtk(6), ggz-java(6), ggz-txt(6), ggz(7)
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3), 
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz-config(6), ggz(7)
++.LP 
++GGZ Gaming Zone:
++   http://www.ggzgamingzone.org/
++.SH "AUTHORS"
++.LP
++   The GGZ Development Team <ggz\[email protected]>
++   Last edited by Michal Pryc, Sun Microsystems Inc., 2008.
+--- ggz-client-libs-0.0.14.1.orig/man/ggz.7	2008-06-01 12:59:52.991476324 +0100
++++ ggz-client-libs-0.0.14.1/man/ggz.7	2008-06-01 12:56:52.664549590 +0100
+@@ -7,8 +7,6 @@
+ The GGZ Gaming Zone is a standards-conforming online gaming infrastructure
+ which provides many applications and games to people who like to play
+ on the internet or in local networks.
+-GGZ, how the (recursive) acronym is called, is available for many computer
+-systems. This document focuses on the installations on Linux, BSD and Unix.
+ .SH "APPLICATIONS"
+ .LP
+ There isn't a single executable named ggz, instead a multitude of programs
+@@ -16,51 +14,27 @@
+ are used by developers and administrators.
+ Users will most likely want to connect to a GGZ server on the internet,
+ such as \fIggz://live.ggzgamingzone.org\fR, to play games against other people.
+-\fICore clients\fR are used to perform this task. Functional clients exist
+-in the form of \fBkggz\fR for the K Desktop Environment (KDE), \fBggz-gnome\fR
+-and \fBggz-gtk\fR for GNOME or XFCE users, and \fBggz-txt\fR for people who
+-prefer command-line applications. Of course, the clients are not bound to a
+-specific desktop, but the choices above will likely be influenced by the level
+-of integration.
+-A client under development is the SDL-based \fBvíbora\fR.
+-.LP
+-Special clients exist in the form of \fBggzap\fR, a quick-launcher for the
+-KDE panel, and \fBggz-wrapper\fR which is used for launching GGZ games from
+-instant messenger applications.
++\fICore clients\fR are used to perform this task.
+ .SH "GAMES"
+ .LP
+ Games are usually launched by the GGZ server, with corresponding game clients
+ running on the user's desktop. Plenty of games are available for GGZ, most
+ of them coming from the GGZ project itself but several independent game projects
+ do now provide GGZ support.
+-Game clients are implemented using multiple toolkits, some of which stem from
+-certain desktop environments. However, all games work equally well under all
+-desktops, it's just a matter of personal choice which of them are to be
+-installed - having all of them is just fine.
+ .LP
+ While some GGZ game clients are suited for online gaming only, others also run
+ locally like normal games happen to do. Those will be found in the desktop's
+ application menu.
+ .SH "FILES"
+-.LP
+-The following layout can vary from site to site, depending on the completeness
+-of a GGZ installation and the operating system distribution in use.
+-It adheres to the File Hierarchy Standard (FHS) as much as possible.
+ .TP
+ /usr/bin
+ GGZ applications, tools, and the games which provide single player mode.
+ .TP
+-/usr/lib/ggz(d)
+-GGZ game clients and servers.
++/usr/lib(d)
++GGZ game client and server libraries.
+ .TP
+ /usr/share/ggz(d)
+ Data files for game clients and servers.
+-.TP
+-/etc/ggz.modules
+-Game module registry for game clients.
+-.TP
+-/etc/ggzd
+-Configuration for the GGZ server, including rooms and game types.
+ .SH "CONFORMING TO"
+ .LP
+ \fIGGZ Design Document and Protocol Reference\fR, available at
+@@ -78,10 +52,14 @@
+ .LP
+ File Hierarchy Standard for unix-derived operating systems, at
+ \fIhttp://www.pathname.com/fhs/\fR
+-.SH "AUTHORS"
+-.LP
+-The GGZ Development Team
+-<ggz\[email protected]>
+ .SH "SEE ALSO"
++.LP 
++ggz_h(3), ggzcore_h(3), ggzmod_h(3), libggz(3), libggzcore(3), libggzmod(3), 
++attributes(5), ggz.modules(5), gnome-interfaces(5), ggz(6), ggz-config(6)
++.LP 
++GGZ Gaming Zone:
++   http://www.ggzgamingzone.org/
++.SH "AUTHORS"
+ .LP
+-kggz(6), ggz-gtk(6), ggz-txt(6), ggz-java(6)
++   The GGZ Development Team <ggz\[email protected]>
++   Last edited by Michal Pryc, Sun Microsystems Inc., 2008.