source: general/genlib/glib2.xml@ 20a35ab

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 20a35ab was 08ff6c8, checked in by Pierre Labastie <pierre.labastie@…>, 3 years ago

Do not use "root rebuild" as role

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).

  • Property mode set to 100644
File size: 16.9 KB
RevLine 
[52d29f7]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[52d29f7]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[6489da7]7 <!ENTITY glib2-download-http "&gnome-download-http;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
8 <!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
[a7903332]9 <!ENTITY glib2-md5sum "07ba0e946bf6dcad36388675d2f2876f">
10 <!ENTITY glib2-size "4.8 MB">
11 <!ENTITY glib2-buildsize "104 MB (add 6 MB for tests)">
[d7d7e0e5]12 <!ENTITY glib2-time "0.6 SBU (add 1.0 SBU for tests; both using parallelism=4)">
[52d29f7]13]>
14
[7c461b3]15<sect1 id="glib2" xreflabel="GLib-&glib2-version;">
[7c18102]16 <?dbhtml filename="glib2.html"?>
[4c3474fe]17
[7c18102]18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
[4c3474fe]21
[7c18102]22 <title>GLib-&glib2-version;</title>
[4c3474fe]23
[7c18102]24 <indexterm zone="glib2">
25 <primary sortas="a-GLib2">GLib2</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to GLib</title>
[4c3474fe]30
[b84342d6]31 <para>
[2c38e951]32 The <application>GLib</application> package contains low-level
[0d7900a]33 libraries useful for providing data structure handling for C, portability
[b84342d6]34 wrappers and interfaces for such runtime functionality as an
35 event loop, threads, dynamic loading and an object system.
36 </para>
[4c3474fe]37
[a7903332]38 &lfs110a_checked;
[08f1ff7]39
[7c18102]40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
[b84342d6]43 <para>
44 Download (HTTP): <ulink url="&glib2-download-http;"/>
45 </para>
[7c18102]46 </listitem>
47 <listitem>
[b84342d6]48 <para>
49 Download (FTP): <ulink url="&glib2-download-ftp;"/>
50 </para>
[7c18102]51 </listitem>
52 <listitem>
[b84342d6]53 <para>
54 Download MD5 sum: &glib2-md5sum;
55 </para>
[7c18102]56 </listitem>
57 <listitem>
[b84342d6]58 <para>
59 Download size: &glib2-size;
60 </para>
[7c18102]61 </listitem>
62 <listitem>
[b84342d6]63 <para>
64 Estimated disk space required: &glib2-buildsize;
65 </para>
[7c18102]66 </listitem>
67 <listitem>
[b84342d6]68 <para>
69 Estimated build time: &glib2-time;
70 </para>
[7c18102]71 </listitem>
72 </itemizedlist>
[4c3474fe]73
[a9c0e8d]74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Optional patch:
79 <ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
[4c3474fe]83
[a9c0e8d]84 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
[0a4eeb6]85
[1b9e36e]86 <bridgehead renderas="sect4">Recommended</bridgehead>
[b8a081c]87 <para role="recommended">
[7da16bf]88 <xref linkend="libxslt"/> and
[d3e019dc]89 <xref linkend="pcre"/> (built with Unicode properties)
[b8a081c]90 </para>
[1b9e36e]91
[7c18102]92 <bridgehead renderas="sect4">Optional</bridgehead>
[b8a081c]93 <para role="optional">
[57a7172]94 <xref linkend="dbus"/> and
95 <ulink url="https://bindfs.org/">bindfs</ulink>
96 (both may be used in some tests),
[cd0c5a70]97 <xref linkend="gdb"/> (for bindings),
[57a7172]98 <xref linkend="DocBook"/>,
[f1fbb028]99 <xref linkend="docbook-xsl"/>,
[511f7c8f]100 <xref linkend="gtk-doc"/> (to build API documentation),
[f1fbb028]101 <xref linkend="glib-networking"/> (for some tests, but this is a circular
[511f7c8f]102 dependency), and
103 <xref linkend="sysprof"/>
[b8a081c]104 </para>
[b31b493]105
[75103a06]106 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
[86ceb63]107 <para role="recommended">
[572553b]108 <xref role="runtime" linkend="gobject-introspection"/>
109 (should be installed before gtk+, atk, etc.)
[86ceb63]110 </para>
[b84342d6]111 <para role="optional">
[70b674f2]112 Quoted directly from the <filename>INSTALL</filename> file:
[b84342d6]113 <quote>Some of the mimetype-related functionality in GIO requires the
114 <command>update-mime-database</command> and
[0d7900a]115 <command>update-desktop-database</command> utilities</quote>,
[b84342d6]116 which are part of
[572553b]117 <xref role="runtime" linkend="shared-mime-info"/> and
118 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
[57a7172]119 These two utilities are also needed for some tests.
[b84342d6]120 </para>
[75103a06]121
[1039de3]122 <para condition="html" role="usernotes">User Notes:
[7ded7e3]123 <ulink url="&blfs-wiki;/glib2"/>
124 </para>
[7c18102]125 </sect2>
[4c3474fe]126
[7c18102]127 <sect2 role="installation">
128 <title>Installation of GLib</title>
129
[d56e7df]130 <para>
131 If desired, apply the optional patch. In many cases, applications that
132 use this library, either directly or indirectly via other libraries such
133 as <xref linkend="gtk3"/>, output numerous warnings when run from the
134 command line. This patch enables the use of an environment variable,
135 <envar>GLIB_LOG_LEVEL</envar>, that supresses unwanted messages. The
136 value of the variable is a digit that corresponds to:
137 </para>
[a9c0e8d]138
139 <simplelist>
140 <member>1 Alert</member>
141 <member>2 Critical</member>
142 <member>3 Error</member>
143 <member>4 Warning</member>
144 <member>5 Notice</member>
145 </simplelist>
146
[d56e7df]147 <para>
148 For instance <userinput>export GLIB_LOG_LEVEL=4</userinput> will skip
149 output of Warning and Notice messages (and Info/Debug messages if they
150 are turned on). If <envar>GLIB_LOG_LEVEL</envar> is not defined, normal
151 message output will not be affected.
152 </para>
[a9c0e8d]153
154<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
155
[8b9cf4c]156 <warning>
157 <para>
158 If a previous version of glib is installed, move the headers out of the
159 way so that later packages do not encounter conflicts:
160 </para>
161
[1daf906e]162<screen role="root"><userinput remap="pre">if [ -e /usr/include/glib-2.0 ]; then
163 rm -rf /usr/include/glib-2.0.old &amp;&amp;
164 mv -vf /usr/include/glib-2.0{,.old}
165fi</userinput></screen>
[8b9cf4c]166
167 </warning>
[ddd5a70]168
[b84342d6]169 <para>
170 Install <application>GLib</application> by running the following
171 commands:
172 </para>
[b31b493]173
[2cc9305]174<screen><userinput>mkdir build &amp;&amp;
175cd build &amp;&amp;
[0a4eeb6]176
[20f070d8]177meson --prefix=/usr \
178 --buildtype=release \
179 -Dman=true \
180 .. &amp;&amp;
[0a4eeb6]181ninja</userinput></screen>
[3a802b2]182
[6489da7]183 <note><para>
184 If <xref linkend="libxslt"/> is installed, the above command may
185 indicate several (about 33) errors that start with "Error: no ID for
[14ff5ee0]186 constraint linkend:" when generating the man pages. These are harmless.
[6489da7]187 </para></note>
188
[b84342d6]189 <para>
190 The <application>GLib</application> test suite requires
[2c38e951]191 <application>desktop-file-utils</application> for some tests. However,
[b84342d6]192 <application>desktop-file-utils</application> requires
193 <application>GLib</application> in order to compile; therefore, you must
194 first install <application>GLib</application> and then run the test
195 suite.
196 </para>
[4c3474fe]197
[b84342d6]198 <para>
199 Now, as the <systemitem class="username">root</systemitem> user:
200 </para>
[4c3474fe]201
[aee85523]202<screen role="root"><userinput>ninja install &amp;&amp;
203
204mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
[4509c956]205cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
[7da16bf]206
[b84342d6]207 <para>
[d1a5310]208 You should now install <xref linkend="desktop-file-utils"/> and
209 <xref linkend="shared-mime-info"/> and proceed to
[b84342d6]210 run the test suite.
211 </para>
[c0e1d87]212
[b84342d6]213 <para>
[2c38e951]214 To test the results, after having installed the package, issue:
[a7903332]215 <command>ninja test</command>. One test named
216 <literal>gio / file</literal> is known to fail if the test is ran as
217 the <systemitem class="username">root</systemitem> user.
[f11d372a]218 <!-- glib issue #1954: -->
[2e4d847e]219 <!-- One test named gdbus-server-auth sometimes fails.-->
[4979e5c]220 <!-- SysV has the symlink now, so gdatetime no longer fails.-->
[7da16bf]221 <!-- Needs /etc/localtime to be a symbolic link. In addition
222 the link must be to some place like /usr/share/zoneinfo/...
223
224 This can be overcome if the line below in glib/tests/gdatetime.c
225 is removed or commented out.
226 g_assert_true (*g_time_zone_get_identifier (tz) != '/');
[3ab0b56]227
[2e4d847e]228 NOTE: systemd implements this as a hard requirement. -->
[d1a5310]229 <!-- with 2.60.4 on systemd, all tests pass. -->
[2e4d847e]230 <!-- with 2.64.1 on sysV, all tests pass. -->
[b84342d6]231 </para>
[c0e1d87]232
[1b8bba3]233 <para>
234 Finally, if this is a reinstall from glib2-2.64.x or earlier, remove
235 (as the <systemitem class="username">root</systemitem> user) an
236 obsolete header file that interferes with some packages:
237 </para>
238
[08ff6c8]239<screen role="nodump"><userinput>rm -f /usr/include/glib-2.0/glib/gurifuncs.h</userinput></screen>
[1b8bba3]240
[7c18102]241 </sect2>
[4c3474fe]242
[7c18102]243 <sect2 role="commands">
244 <title>Command Explanations</title>
[864b24de]245
[20f070d8]246 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
247 href="../../xincludes/meson-buildtype-release.xml"/>
248
[90ae149]249 <para>
[7da16bf]250 <parameter>-Dman=true</parameter>: This switch causes the
251 build to create and install the package man pages.
[b84342d6]252 </para>
[7147513]253
[7da16bf]254 <para>
[1a27983]255 <option>-Dgtk_doc=true</option>: This switch causes the
[7da16bf]256 build to create and install the API documentation.
257 </para>
[eb954a8]258
[7c18102]259 </sect2>
[4c3474fe]260
[7c18102]261 <sect2 role="content">
262 <title>Contents</title>
263
264 <segmentedlist>
265 <segtitle>Installed Programs</segtitle>
266 <segtitle>Installed Libraries</segtitle>
267 <segtitle>Installed Directories</segtitle>
[4c3474fe]268
[7c18102]269 <seglistitem>
[0913f48]270 <seg>
[0a4eeb6]271 gapplication, gdbus, gdbus-codegen,
[8212d8a]272 gio, gio-querymodules,
[0913f48]273 glib-compile-resources, glib-compile-schemas,
[0a4eeb6]274 glib-genmarshal, glib-gettextize,
275 glib-mkenums, gobject-query,
276 gresource, gsettings,
277 gtester, and gtester-report
[0913f48]278 </seg>
279 <seg>
[0a4eeb6]280 libgio-2.0.so,
281 libglib-2.0.so,
282 libgmodule-2.0.so,
283 libgobject-2.0.so, and
284 libgthread-2.0.so
[0913f48]285 </seg>
286 <seg>
[d3e019dc]287 /usr/include/gio-unix-2.0,
[0a4eeb6]288 /usr/include/glib-2.0,
[eb954a8]289 /usr/lib/glib-2.0,
[14726fe]290 /usr/share/glib-2.0,
291 /usr/share/doc/glib-&glib2-version;, and
[eb954a8]292 /usr/share/gtk-doc/html/{gio,glib,gobject}
[0913f48]293 </seg>
[7c18102]294 </seglistitem>
295 </segmentedlist>
[4c3474fe]296
[7c18102]297 <variablelist>
298 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
299 <?dbfo list-presentation="list"?>
300 <?dbhtml list-presentation="table"?>
[4c3474fe]301
[837e96ed]302 <varlistentry id="gapplication">
303 <term><command>gapplication</command></term>
304 <listitem>
305 <para>
[c5ebc8ac]306 can be used to start applications and to send
[4c24eb0a]307 messages to already-running instances of other applications
[837e96ed]308 </para>
309 <indexterm zone="glib2 gapplication">
310 <primary sortas="b-gapplication">application</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
[b31b493]314 <varlistentry id="gdbus">
315 <term><command>gdbus</command></term>
316 <listitem>
[b84342d6]317 <para>
[d3e019dc]318 is a simple tool used for working with
[4c24eb0a]319 <application>D-Bus</application> objects
[b84342d6]320 </para>
[b31b493]321 <indexterm zone="glib2 gdbus">
322 <primary sortas="b-gdbus">gdbus</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="gdbus-codegen">
328 <term><command>gdbus-codegen</command></term>
329 <listitem>
[b84342d6]330 <para>
[0d7900a]331 is used to generate code and/or documentation for one or
[4c24eb0a]332 more <application>D-Bus</application> interfaces
[b84342d6]333 </para>
[b31b493]334 <indexterm zone="glib2 gdbus-codegen">
335 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
[0797528]340 <varlistentry id="gio">
341 <term><command>gio</command></term>
342 <listitem>
343 <para>
344 is a utility that makes many <application>GIO</application>
[4c24eb0a]345 features available from the command line
[0797528]346 </para>
347 <indexterm zone="glib2 gio">
348 <primary sortas="b-gio">gio</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
[b31b493]353 <varlistentry id="gio-querymodules">
354 <term><command>gio-querymodules</command></term>
355 <listitem>
[b84342d6]356 <para>
[c5ebc8ac]357 is used to create a <filename>giomodule.cache</filename> file in
358 the listed directories. This file lists the implemented extension
[4c24eb0a]359 points for each module that has been found
[b84342d6]360 </para>
[b31b493]361 <indexterm zone="glib2 gio-querymodules">
362 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="glib-compile-resources">
368 <term><command>glib-compile-resources</command></term>
369 <listitem>
[b84342d6]370 <para>
[0797528]371 is used to read the resource description from a file and
[0d7900a]372 the files that it references to create a binary resource
[4c24eb0a]373 bundle that is suitable for use with the GResource API
[b84342d6]374 </para>
[b31b493]375 <indexterm zone="glib2 glib-compile-resources">
376 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 <varlistentry id="glib-compile-schemas">
382 <term><command>glib-compile-schemas</command></term>
383 <listitem>
[b84342d6]384 <para>
[0d7900a]385 is used to compile all the GSettings XML schema files
[3ab0b56]386 in a directory into a binary file with the name
[4c24eb0a]387 <filename>gschemas.compiled</filename> that can be used by GSettings
[b84342d6]388 </para>
[b31b493]389 <indexterm zone="glib2 glib-compile-schemas">
390 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
[7c18102]395 <varlistentry id="glib-genmarshal">
396 <term><command>glib-genmarshal</command></term>
397 <listitem>
[b84342d6]398 <para>
[4c24eb0a]399 is a C code marshaller generation utility for GLib closures
[b84342d6]400 </para>
[7c18102]401 <indexterm zone="glib2 glib-genmarshal">
402 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
[4c3474fe]406
[7c18102]407 <varlistentry id="glib-gettextize">
408 <term><command>glib-gettextize</command></term>
409 <listitem>
[b84342d6]410 <para>
411 is a variant of the <application>gettext</application>
[4c24eb0a]412 internationalization utility
[b84342d6]413 </para>
[7c18102]414 <indexterm zone="glib2 glib-gettextize">
415 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
[4c3474fe]419
[7c18102]420 <varlistentry id="glib-mkenums">
421 <term><command>glib-mkenums</command></term>
422 <listitem>
[b84342d6]423 <para>
[4c24eb0a]424 is a C language enum description generation utility
[b84342d6]425 </para>
[7c18102]426 <indexterm zone="glib2 glib-mkenums">
427 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
[4c3474fe]431
[7c18102]432 <varlistentry id="gobject-query">
433 <term><command>gobject-query</command></term>
434 <listitem>
[b84342d6]435 <para>
[4c24eb0a]436 is a small utility that draws a tree of types
[b84342d6]437 </para>
[7c18102]438 <indexterm zone="glib2 gobject-query">
439 <primary sortas="b-gobject-query">gobject-query</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
[4c3474fe]443
[b31b493]444 <varlistentry id="gresource">
445 <term><command>gresource</command></term>
446 <listitem>
[b84342d6]447 <para>
[4c24eb0a]448 offers a simple command line interface to GResource
[b84342d6]449 </para>
[b31b493]450 <indexterm zone="glib2 gresource">
451 <primary sortas="b-gresource">gresource</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
456 <varlistentry id="gsettings">
457 <term><command>gsettings</command></term>
458 <listitem>
[b84342d6]459 <para>
[4c24eb0a]460 offers a simple command line interface to GSettings
[b84342d6]461 </para>
[b31b493]462 <indexterm zone="glib2 gsettings">
463 <primary sortas="b-gsettings">gsettings</primary>
464 </indexterm>
465 </listitem>
466 </varlistentry>
467
[e103708b]468 <varlistentry id="gtester">
469 <term><command>gtester</command></term>
470 <listitem>
[b84342d6]471 <para>
[4c24eb0a]472 is a test running utility
[b84342d6]473 </para>
[e103708b]474 <indexterm zone="glib2 gtester">
475 <primary sortas="b-gtester">gtester</primary>
476 </indexterm>
477 </listitem>
478 </varlistentry>
479
480 <varlistentry id="gtester-report">
481 <term><command>gtester-report</command></term>
482 <listitem>
[b84342d6]483 <para>
[4c24eb0a]484 is a test report formatting utility
[b84342d6]485 </para>
[e103708b]486 <indexterm zone="glib2 gtester-report">
487 <primary sortas="b-gtester-report">gtester-report</primary>
488 </indexterm>
489 </listitem>
490 </varlistentry>
491
[7c18102]492 <varlistentry id="GLib-libraries">
493 <term>GLib libraries</term>
494 <listitem>
[b84342d6]495 <para>
[2c38e951]496 contain low-level core libraries for the
[4c24eb0a]497 <application>GIMP</application> Toolkit
[b84342d6]498 </para>
[7c18102]499 <indexterm zone="glib2 GLib-libraries">
500 <primary sortas="c-GLib-libraries">Glib libraries</primary>
501 </indexterm>
502 </listitem>
503 </varlistentry>
[4c3474fe]504
[7c18102]505 </variablelist>
506
507 </sect2>
[d4340990]508
509</sect1>
Note: See TracBrowser for help on using the repository browser.