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

trunk
Last change on this file since 20f070d8 was 20f070d8, checked in by Xi Ruoyao <xry111@…>, 8 weeks ago

first batch of meson --buildtype=release

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