source: general/genlib/glib2.xml@ 6b5d676

10.1 11.0 ken/refactor-virt lazarus qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 6b5d676 was 6b5d676, checked in by Pierre Labastie <pieere@…>, 12 months ago

Try to prevent errors from jhalfs due to non existing files or already
existing files when (re)moving old/incompatible files

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24217 af4574ff-66df-0310-9fd7-8a98e5e911e0

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