source: general/genlib/glib2.xml@ 94c702f

12.0 12.1 12.2 gimp3 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128 xry111/xf86-video-removal
Last change on this file since 94c702f was b5b6ba3b, checked in by Xi Ruoyao <xry111@…>, 16 months ago

glib2: Mention a test failure with latest coreutils

  • Property mode set to 100644
File size: 16.2 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 "455b94549f2056957fa370a1f14c1662">
10 <!ENTITY glib2-size "5.0 MB">
11 <!ENTITY glib2-buildsize "126 MB (add 9 MB for tests)">
12 <!ENTITY glib2-time "0.5 SBU (add 0.3 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 &lfs113_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"/> (for some tests),
92 <xref linkend="fuse3"/> and
93 <ulink url="https://bindfs.org/">bindfs</ulink>
94 (both needed for one test),
95 <xref linkend="gdb"/> (for bindings),
96 <xref linkend="DocBook"/>,
97 <xref linkend="docbook-xsl"/>,
98 <xref linkend="gtk-doc"/> (to build API documentation),
99 <xref linkend="glib-networking"/> (for some tests, but this is a circular
100 dependency), and
101 <xref linkend="sysprof"/>
102 </para>
103
104 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
105 <para role="recommended">
106 <xref role="runtime" linkend="gobject-introspection"/>
107 (should be installed before gtk+, atk, etc.)
108 </para>
109 <para role="optional">
110 Quoted directly from the <filename>INSTALL</filename> file:
111 <quote>Some of the mimetype-related functionality in GIO requires the
112 <command>update-mime-database</command> and
113 <command>update-desktop-database</command> utilities</quote>,
114 which are part of
115 <xref role="runtime" linkend="shared-mime-info"/> and
116 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
117 These two utilities are also needed for some tests.
118 </para>
119
120 <para condition="html" role="usernotes">User Notes:
121 <ulink url="&blfs-wiki;/glib2"/>
122 </para>
123 </sect2>
124
125 <sect2 role="installation">
126 <title>Installation of GLib</title>
127
128 <para>
129 If desired, apply the optional patch. In many cases, applications that
130 use this library, either directly or indirectly via other libraries such
131 as <xref linkend="gtk3"/>, output numerous warnings when run from the
132 command line. This patch enables the use of an environment variable,
133 <envar>GLIB_LOG_LEVEL</envar>, that suppresses unwanted messages. The
134 value of the variable is a digit that corresponds to:
135 </para>
136
137 <simplelist>
138 <member>1 Alert</member>
139 <member>2 Critical</member>
140 <member>3 Error</member>
141 <member>4 Warning</member>
142 <member>5 Notice</member>
143 </simplelist>
144
145 <para>
146 For instance <userinput>export GLIB_LOG_LEVEL=4</userinput> will skip
147 output of Warning and Notice messages (and Info/Debug messages if they
148 are turned on). If <envar>GLIB_LOG_LEVEL</envar> is not defined, normal
149 message output will not be affected.
150 </para>
151
152<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
153
154 <warning>
155 <para>
156 If a previous version of glib is installed, move the headers out of the
157 way so that later packages do not encounter conflicts:
158 </para>
159
160<screen role="root"><userinput remap="pre">if [ -e /usr/include/glib-2.0 ]; then
161 rm -rf /usr/include/glib-2.0.old &amp;&amp;
162 mv -vf /usr/include/glib-2.0{,.old}
163fi</userinput></screen>
164
165 </warning>
166
167 <para>
168 Install <application>GLib</application> by running the following
169 commands:
170 </para>
171
172<screen><userinput>mkdir build &amp;&amp;
173cd build &amp;&amp;
174
175meson setup .. \
176 --prefix=/usr \
177 --buildtype=release \
178 -Dman=true &amp;&amp;
179ninja</userinput></screen>
180
181 <note><para>
182 If <xref linkend="libxslt"/> is installed, the above command may
183 indicate several (about 33) errors that start with "Error: no ID for
184 constraint linkend:" when generating the man pages. These are harmless.
185 </para></note>
186
187 <para>
188 The <application>GLib</application> test suite requires
189 <application>desktop-file-utils</application> for some tests. However,
190 <application>desktop-file-utils</application> requires
191 <application>GLib</application> in order to compile; therefore, you must
192 first install <application>GLib</application> and then run the test
193 suite.
194 </para>
195
196 <para>
197 Now, as the <systemitem class="username">root</systemitem> user:
198 </para>
199
200<screen role="root"><userinput>ninja install &amp;&amp;
201
202mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
203cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
204
205 <para>
206 You should now install <xref linkend="desktop-file-utils"/> and
207 <xref linkend="shared-mime-info"/> and proceed to
208 run the test suite.
209 </para>
210
211 <warning>
212 <para>
213 Do not run the test suite as &root; or some tests will fail
214 unexpectedly and leave some non-FHS-compliant directories in the
215 <filename class='directory'>/usr</filename> hierarchy.
216 </para>
217 </warning>
218
219 <para>
220 To test the results, after having installed the package, issue:
221 <command>LC_ALL=C ninja test</command> as a non-&root; user.
222 <!-- https://gitlab.gnome.org/GNOME/glib/-/issues/2965
223 Fixed for 2.78, but NOT any 2.76.x patch releases. -->
224 One test named <literal>glib:gio / file</literal> is known to fail.
225 </para>
226 </sect2>
227
228 <sect2 role="commands">
229 <title>Command Explanations</title>
230
231 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
232 href="../../xincludes/meson-buildtype-release.xml"/>
233
234 <para>
235 <parameter>-Dman=true</parameter>: This switch causes the
236 build to create and install the package man pages.
237 </para>
238
239 <para>
240 <option>-Dgtk_doc=true</option>: This switch causes the
241 build to create and install the API documentation.
242 </para>
243
244 </sect2>
245
246 <sect2 role="content">
247 <title>Contents</title>
248
249 <segmentedlist>
250 <segtitle>Installed Programs</segtitle>
251 <segtitle>Installed Libraries</segtitle>
252 <segtitle>Installed Directories</segtitle>
253
254 <seglistitem>
255 <seg>
256 gapplication, gdbus, gdbus-codegen,
257 gio, gio-querymodules,
258 glib-compile-resources, glib-compile-schemas,
259 glib-genmarshal, glib-gettextize,
260 glib-mkenums, gobject-query,
261 gresource, gsettings,
262 gtester, and gtester-report
263 </seg>
264 <seg>
265 libgio-2.0.so,
266 libglib-2.0.so,
267 libgmodule-2.0.so,
268 libgobject-2.0.so, and
269 libgthread-2.0.so
270 </seg>
271 <seg>
272 /usr/include/gio-unix-2.0,
273 /usr/include/glib-2.0,
274 /usr/lib/gio,
275 /usr/lib/glib-2.0,
276 /usr/share/glib-2.0,
277 /usr/share/doc/glib-&glib2-version;, and
278 /usr/share/gtk-doc/html/{gio,glib,gobject} (optional)
279 </seg>
280 </seglistitem>
281 </segmentedlist>
282
283 <variablelist>
284 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
285 <?dbfo list-presentation="list"?>
286 <?dbhtml list-presentation="table"?>
287
288 <varlistentry id="gapplication">
289 <term><command>gapplication</command></term>
290 <listitem>
291 <para>
292 can be used to start applications and to send
293 messages to already-running instances of other applications
294 </para>
295 <indexterm zone="glib2 gapplication">
296 <primary sortas="b-gapplication">application</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300 <varlistentry id="gdbus">
301 <term><command>gdbus</command></term>
302 <listitem>
303 <para>
304 is a simple tool used for working with
305 <application>D-Bus</application> objects
306 </para>
307 <indexterm zone="glib2 gdbus">
308 <primary sortas="b-gdbus">gdbus</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="gdbus-codegen">
314 <term><command>gdbus-codegen</command></term>
315 <listitem>
316 <para>
317 is used to generate code and/or documentation for one or
318 more <application>D-Bus</application> interfaces
319 </para>
320 <indexterm zone="glib2 gdbus-codegen">
321 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="gio">
327 <term><command>gio</command></term>
328 <listitem>
329 <para>
330 is a utility that makes many <application>GIO</application>
331 features available from the command line
332 </para>
333 <indexterm zone="glib2 gio">
334 <primary sortas="b-gio">gio</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="gio-querymodules">
340 <term><command>gio-querymodules</command></term>
341 <listitem>
342 <para>
343 is used to create a <filename>giomodule.cache</filename> file in
344 the listed directories. This file lists the implemented extension
345 points for each module that has been found
346 </para>
347 <indexterm zone="glib2 gio-querymodules">
348 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="glib-compile-resources">
354 <term><command>glib-compile-resources</command></term>
355 <listitem>
356 <para>
357 is used to read the resource description from a file and
358 the files that it references to create a binary resource
359 bundle that is suitable for use with the GResource API
360 </para>
361 <indexterm zone="glib2 glib-compile-resources">
362 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="glib-compile-schemas">
368 <term><command>glib-compile-schemas</command></term>
369 <listitem>
370 <para>
371 is used to compile all the GSettings XML schema files
372 in a directory into a binary file with the name
373 <filename>gschemas.compiled</filename> that can be used by GSettings
374 </para>
375 <indexterm zone="glib2 glib-compile-schemas">
376 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 <varlistentry id="glib-genmarshal">
382 <term><command>glib-genmarshal</command></term>
383 <listitem>
384 <para>
385 is a C code marshaller generation utility for GLib closures
386 </para>
387 <indexterm zone="glib2 glib-genmarshal">
388 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="glib-gettextize">
394 <term><command>glib-gettextize</command></term>
395 <listitem>
396 <para>
397 is a variant of the <application>gettext</application>
398 internationalization utility
399 </para>
400 <indexterm zone="glib2 glib-gettextize">
401 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
402 </indexterm>
403 </listitem>
404 </varlistentry>
405
406 <varlistentry id="glib-mkenums">
407 <term><command>glib-mkenums</command></term>
408 <listitem>
409 <para>
410 is a C language enum description generation utility
411 </para>
412 <indexterm zone="glib2 glib-mkenums">
413 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="gobject-query">
419 <term><command>gobject-query</command></term>
420 <listitem>
421 <para>
422 is a small utility that draws a tree of types
423 </para>
424 <indexterm zone="glib2 gobject-query">
425 <primary sortas="b-gobject-query">gobject-query</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="gresource">
431 <term><command>gresource</command></term>
432 <listitem>
433 <para>
434 offers a simple command line interface to GResource
435 </para>
436 <indexterm zone="glib2 gresource">
437 <primary sortas="b-gresource">gresource</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
441
442 <varlistentry id="gsettings">
443 <term><command>gsettings</command></term>
444 <listitem>
445 <para>
446 offers a simple command line interface to GSettings
447 </para>
448 <indexterm zone="glib2 gsettings">
449 <primary sortas="b-gsettings">gsettings</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="gtester">
455 <term><command>gtester</command></term>
456 <listitem>
457 <para>
458 is a test running utility
459 </para>
460 <indexterm zone="glib2 gtester">
461 <primary sortas="b-gtester">gtester</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="gtester-report">
467 <term><command>gtester-report</command></term>
468 <listitem>
469 <para>
470 is a test report formatting utility
471 </para>
472 <indexterm zone="glib2 gtester-report">
473 <primary sortas="b-gtester-report">gtester-report</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
478 <varlistentry id="GLib-libraries">
479 <term>GLib libraries</term>
480 <listitem>
481 <para>
482 contain low-level core libraries for the
483 <application>GIMP</application> Toolkit
484 </para>
485 <indexterm zone="glib2 GLib-libraries">
486 <primary sortas="c-GLib-libraries">Glib libraries</primary>
487 </indexterm>
488 </listitem>
489 </varlistentry>
490
491 </variablelist>
492
493 </sect2>
494
495</sect1>
Note: See TracBrowser for help on using the repository browser.