source: general/genlib/glib2.xml@ 3f2db3a6

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 xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 3f2db3a6 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

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