mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-04 07:17:15 +08:00
08ff6c8ac3
There is no way to detect it in any xsl stylesheet ATM. Furthermore it applies only to glib prior 2.64, not any rebuild. Change to "nodump" (does not change book rendering).
510 lines
17 KiB
XML
510 lines
17 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY glib2-download-http "&gnome-download-http;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
|
|
<!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
|
|
<!ENTITY glib2-md5sum "07ba0e946bf6dcad36388675d2f2876f">
|
|
<!ENTITY glib2-size "4.8 MB">
|
|
<!ENTITY glib2-buildsize "104 MB (add 6 MB for tests)">
|
|
<!ENTITY glib2-time "0.6 SBU (add 1.0 SBU for tests; both using parallelism=4)">
|
|
]>
|
|
|
|
<sect1 id="glib2" xreflabel="GLib-&glib2-version;">
|
|
<?dbhtml filename="glib2.html"?>
|
|
|
|
<sect1info>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>GLib-&glib2-version;</title>
|
|
|
|
<indexterm zone="glib2">
|
|
<primary sortas="a-GLib2">GLib2</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to GLib</title>
|
|
|
|
<para>
|
|
The <application>GLib</application> package contains low-level
|
|
libraries useful for providing data structure handling for C, portability
|
|
wrappers and interfaces for such runtime functionality as an
|
|
event loop, threads, dynamic loading and an object system.
|
|
</para>
|
|
|
|
&lfs110a_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&glib2-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&glib2-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &glib2-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &glib2-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &glib2-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &glib2-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Optional patch:
|
|
<ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">GLib Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="libxslt"/> and
|
|
<xref linkend="pcre"/> (built with Unicode properties)
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="dbus"/> and
|
|
<ulink url="https://bindfs.org/">bindfs</ulink>
|
|
(both may be used in some tests),
|
|
<xref linkend="gdb"/> (for bindings),
|
|
<xref linkend="DocBook"/>,
|
|
<xref linkend="docbook-xsl"/>,
|
|
<xref linkend="gtk-doc"/> (to build API documentation),
|
|
<xref linkend="glib-networking"/> (for some tests, but this is a circular
|
|
dependency), and
|
|
<xref linkend="sysprof"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
|
|
<para role="recommended">
|
|
<xref role="runtime" linkend="gobject-introspection"/>
|
|
(should be installed before gtk+, atk, etc.)
|
|
</para>
|
|
<para role="optional">
|
|
Quoted directly from the <filename>INSTALL</filename> file:
|
|
<quote>Some of the mimetype-related functionality in GIO requires the
|
|
<command>update-mime-database</command> and
|
|
<command>update-desktop-database</command> utilities</quote>,
|
|
which are part of
|
|
<xref role="runtime" linkend="shared-mime-info"/> and
|
|
<xref role="runtime" linkend="desktop-file-utils"/>, respectively.
|
|
These two utilities are also needed for some tests.
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/glib2"/>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of GLib</title>
|
|
|
|
<para>
|
|
If desired, apply the optional patch. In many cases, applications that
|
|
use this library, either directly or indirectly via other libraries such
|
|
as <xref linkend="gtk3"/>, output numerous warnings when run from the
|
|
command line. This patch enables the use of an environment variable,
|
|
<envar>GLIB_LOG_LEVEL</envar>, that supresses unwanted messages. The
|
|
value of the variable is a digit that corresponds to:
|
|
</para>
|
|
|
|
<simplelist>
|
|
<member>1 Alert</member>
|
|
<member>2 Critical</member>
|
|
<member>3 Error</member>
|
|
<member>4 Warning</member>
|
|
<member>5 Notice</member>
|
|
</simplelist>
|
|
|
|
<para>
|
|
For instance <userinput>export GLIB_LOG_LEVEL=4</userinput> will skip
|
|
output of Warning and Notice messages (and Info/Debug messages if they
|
|
are turned on). If <envar>GLIB_LOG_LEVEL</envar> is not defined, normal
|
|
message output will not be affected.
|
|
</para>
|
|
|
|
<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
|
|
|
|
<warning>
|
|
<para>
|
|
If a previous version of glib is installed, move the headers out of the
|
|
way so that later packages do not encounter conflicts:
|
|
</para>
|
|
|
|
<screen role="root"><userinput remap="pre">if [ -e /usr/include/glib-2.0 ]; then
|
|
rm -rf /usr/include/glib-2.0.old &&
|
|
mv -vf /usr/include/glib-2.0{,.old}
|
|
fi</userinput></screen>
|
|
|
|
</warning>
|
|
|
|
<para>
|
|
Install <application>GLib</application> by running the following
|
|
commands:
|
|
</para>
|
|
|
|
<screen><userinput>mkdir build &&
|
|
cd build &&
|
|
|
|
meson --prefix=/usr \
|
|
--buildtype=release \
|
|
-Dman=true \
|
|
.. &&
|
|
ninja</userinput></screen>
|
|
|
|
<note><para>
|
|
If <xref linkend="libxslt"/> is installed, the above command may
|
|
indicate several (about 33) errors that start with "Error: no ID for
|
|
constraint linkend:" when generating the man pages. These are harmless.
|
|
</para></note>
|
|
|
|
<para>
|
|
The <application>GLib</application> test suite requires
|
|
<application>desktop-file-utils</application> for some tests. However,
|
|
<application>desktop-file-utils</application> requires
|
|
<application>GLib</application> in order to compile; therefore, you must
|
|
first install <application>GLib</application> and then run the test
|
|
suite.
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>ninja install &&
|
|
|
|
mkdir -p /usr/share/doc/glib-&glib2-version; &&
|
|
cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
|
|
|
|
<para>
|
|
You should now install <xref linkend="desktop-file-utils"/> and
|
|
<xref linkend="shared-mime-info"/> and proceed to
|
|
run the test suite.
|
|
</para>
|
|
|
|
<para>
|
|
To test the results, after having installed the package, issue:
|
|
<command>ninja test</command>. One test named
|
|
<literal>gio / file</literal> is known to fail if the test is ran as
|
|
the <systemitem class="username">root</systemitem> user.
|
|
<!-- glib issue #1954: -->
|
|
<!-- One test named gdbus-server-auth sometimes fails.-->
|
|
<!-- SysV has the symlink now, so gdatetime no longer fails.-->
|
|
<!-- Needs /etc/localtime to be a symbolic link. In addition
|
|
the link must be to some place like /usr/share/zoneinfo/...
|
|
|
|
This can be overcome if the line below in glib/tests/gdatetime.c
|
|
is removed or commented out.
|
|
g_assert_true (*g_time_zone_get_identifier (tz) != '/');
|
|
|
|
NOTE: systemd implements this as a hard requirement. -->
|
|
<!-- with 2.60.4 on systemd, all tests pass. -->
|
|
<!-- with 2.64.1 on sysV, all tests pass. -->
|
|
</para>
|
|
|
|
<para>
|
|
Finally, if this is a reinstall from glib2-2.64.x or earlier, remove
|
|
(as the <systemitem class="username">root</systemitem> user) an
|
|
obsolete header file that interferes with some packages:
|
|
</para>
|
|
|
|
<screen role="nodump"><userinput>rm -f /usr/include/glib-2.0/glib/gurifuncs.h</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/meson-buildtype-release.xml"/>
|
|
|
|
<para>
|
|
<parameter>-Dman=true</parameter>: This switch causes the
|
|
build to create and install the package man pages.
|
|
</para>
|
|
|
|
<para>
|
|
<option>-Dgtk_doc=true</option>: This switch causes the
|
|
build to create and install the API documentation.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
gapplication, gdbus, gdbus-codegen,
|
|
gio, gio-querymodules,
|
|
glib-compile-resources, glib-compile-schemas,
|
|
glib-genmarshal, glib-gettextize,
|
|
glib-mkenums, gobject-query,
|
|
gresource, gsettings,
|
|
gtester, and gtester-report
|
|
</seg>
|
|
<seg>
|
|
libgio-2.0.so,
|
|
libglib-2.0.so,
|
|
libgmodule-2.0.so,
|
|
libgobject-2.0.so, and
|
|
libgthread-2.0.so
|
|
</seg>
|
|
<seg>
|
|
/usr/include/gio-unix-2.0,
|
|
/usr/include/glib-2.0,
|
|
/usr/lib/glib-2.0,
|
|
/usr/share/glib-2.0,
|
|
/usr/share/doc/glib-&glib2-version;, and
|
|
/usr/share/gtk-doc/html/{gio,glib,gobject}
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="gapplication">
|
|
<term><command>gapplication</command></term>
|
|
<listitem>
|
|
<para>
|
|
can be used to start applications and to send
|
|
messages to already-running instances of other applications
|
|
</para>
|
|
<indexterm zone="glib2 gapplication">
|
|
<primary sortas="b-gapplication">application</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry id="gdbus">
|
|
<term><command>gdbus</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a simple tool used for working with
|
|
<application>D-Bus</application> objects
|
|
</para>
|
|
<indexterm zone="glib2 gdbus">
|
|
<primary sortas="b-gdbus">gdbus</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gdbus-codegen">
|
|
<term><command>gdbus-codegen</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to generate code and/or documentation for one or
|
|
more <application>D-Bus</application> interfaces
|
|
</para>
|
|
<indexterm zone="glib2 gdbus-codegen">
|
|
<primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gio">
|
|
<term><command>gio</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a utility that makes many <application>GIO</application>
|
|
features available from the command line
|
|
</para>
|
|
<indexterm zone="glib2 gio">
|
|
<primary sortas="b-gio">gio</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gio-querymodules">
|
|
<term><command>gio-querymodules</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to create a <filename>giomodule.cache</filename> file in
|
|
the listed directories. This file lists the implemented extension
|
|
points for each module that has been found
|
|
</para>
|
|
<indexterm zone="glib2 gio-querymodules">
|
|
<primary sortas="b-gio-querymodules">gio-querymodules</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="glib-compile-resources">
|
|
<term><command>glib-compile-resources</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to read the resource description from a file and
|
|
the files that it references to create a binary resource
|
|
bundle that is suitable for use with the GResource API
|
|
</para>
|
|
<indexterm zone="glib2 glib-compile-resources">
|
|
<primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="glib-compile-schemas">
|
|
<term><command>glib-compile-schemas</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to compile all the GSettings XML schema files
|
|
in a directory into a binary file with the name
|
|
<filename>gschemas.compiled</filename> that can be used by GSettings
|
|
</para>
|
|
<indexterm zone="glib2 glib-compile-schemas">
|
|
<primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="glib-genmarshal">
|
|
<term><command>glib-genmarshal</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a C code marshaller generation utility for GLib closures
|
|
</para>
|
|
<indexterm zone="glib2 glib-genmarshal">
|
|
<primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="glib-gettextize">
|
|
<term><command>glib-gettextize</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a variant of the <application>gettext</application>
|
|
internationalization utility
|
|
</para>
|
|
<indexterm zone="glib2 glib-gettextize">
|
|
<primary sortas="b-glib-gettextize">glib-gettextize</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="glib-mkenums">
|
|
<term><command>glib-mkenums</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a C language enum description generation utility
|
|
</para>
|
|
<indexterm zone="glib2 glib-mkenums">
|
|
<primary sortas="b-glib-mkenums">glib-mkenums</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gobject-query">
|
|
<term><command>gobject-query</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a small utility that draws a tree of types
|
|
</para>
|
|
<indexterm zone="glib2 gobject-query">
|
|
<primary sortas="b-gobject-query">gobject-query</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gresource">
|
|
<term><command>gresource</command></term>
|
|
<listitem>
|
|
<para>
|
|
offers a simple command line interface to GResource
|
|
</para>
|
|
<indexterm zone="glib2 gresource">
|
|
<primary sortas="b-gresource">gresource</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gsettings">
|
|
<term><command>gsettings</command></term>
|
|
<listitem>
|
|
<para>
|
|
offers a simple command line interface to GSettings
|
|
</para>
|
|
<indexterm zone="glib2 gsettings">
|
|
<primary sortas="b-gsettings">gsettings</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gtester">
|
|
<term><command>gtester</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a test running utility
|
|
</para>
|
|
<indexterm zone="glib2 gtester">
|
|
<primary sortas="b-gtester">gtester</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gtester-report">
|
|
<term><command>gtester-report</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a test report formatting utility
|
|
</para>
|
|
<indexterm zone="glib2 gtester-report">
|
|
<primary sortas="b-gtester-report">gtester-report</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="GLib-libraries">
|
|
<term>GLib libraries</term>
|
|
<listitem>
|
|
<para>
|
|
contain low-level core libraries for the
|
|
<application>GIMP</application> Toolkit
|
|
</para>
|
|
<indexterm zone="glib2 GLib-libraries">
|
|
<primary sortas="c-GLib-libraries">Glib libraries</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|