source: general/genlib/glib2.xml@ 2754eaf

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 2754eaf was 08e1b767, checked in by Xi Ruoyao <xry111@…>, 3 years ago

Tag for UEFI and dependencies ("required" and "recommended")

  • Property mode set to 100644
File size: 17.1 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 "a3968c7510447f055fd2204ba947f80f">
10 <!ENTITY glib2-size "4.7 MB">
11 <!ENTITY glib2-buildsize "194 MB (add 5 MB for tests)">
12 <!ENTITY glib2-time "0.6 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 <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 &lfs110_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 Fix an issue building this package with Glibc-2.34 or later:
171 </para>
172
173<screen><userinput>sed 's/close_range (.[^)]*/&amp;, 0/' -i glib/gspawn.c</userinput></screen>
174
175 <para>
176 Install <application>GLib</application> by running the following
177 commands:
178 </para>
179
180<screen><userinput>mkdir build &amp;&amp;
181cd build &amp;&amp;
182
183meson --prefix=/usr \
184 --buildtype=release \
185 -Dman=true \
186 -Dselinux=disabled \
187 .. &amp;&amp;
188ninja</userinput></screen>
189
190 <note><para>
191 If <xref linkend="libxslt"/> is installed, the above command may
192 indicate several (about 33) errors that start with "Error: no ID for
193 constraint linkend:" when generating the man pages. These are harmless.
194 </para></note>
195
196 <para>
197 The <application>GLib</application> test suite requires
198 <application>desktop-file-utils</application> for some tests. However,
199 <application>desktop-file-utils</application> requires
200 <application>GLib</application> in order to compile; therefore, you must
201 first install <application>GLib</application> and then run the test
202 suite.
203 </para>
204
205 <para>
206 Now, as the <systemitem class="username">root</systemitem> user:
207 </para>
208
209<screen role="root"><userinput>ninja install &amp;&amp;
210
211mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
212cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
213
214 <para>
215 You should now install <xref linkend="desktop-file-utils"/> and
216 <xref linkend="shared-mime-info"/> and proceed to
217 run the test suite.
218 </para>
219
220 <para>
221 To test the results, after having installed the package, issue:
222 <command>ninja test</command>.
223 <!-- glib issue #1954: -->
224 <!-- One test named gdbus-server-auth sometimes fails.-->
225 <!-- SysV has the symlink now, so gdatetime no longer fails.-->
226 <!-- Needs /etc/localtime to be a symbolic link. In addition
227 the link must be to some place like /usr/share/zoneinfo/...
228
229 This can be overcome if the line below in glib/tests/gdatetime.c
230 is removed or commented out.
231 g_assert_true (*g_time_zone_get_identifier (tz) != '/');
232
233 NOTE: systemd implements this as a hard requirement. -->
234 <!-- with 2.60.4 on systemd, all tests pass. -->
235 <!-- with 2.64.1 on sysV, all tests pass. -->
236 </para>
237
238 <para>
239 Finally, if this is a reinstall from glib2-2.64.x or earlier, remove
240 (as the <systemitem class="username">root</systemitem> user) an
241 obsolete header file that interferes with some packages:
242 </para>
243
244<screen role="root rebuild"><userinput>rm -f /usr/include/glib-2.0/glib/gurifuncs.h</userinput></screen>
245
246 </sect2>
247
248 <sect2 role="commands">
249 <title>Command Explanations</title>
250
251 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
252 href="../../xincludes/meson-buildtype-release.xml"/>
253
254 <para>
255 <parameter>-Dman=true</parameter>: This switch causes the
256 build to create and install the package man pages.
257 </para>
258
259 <para>
260 <parameter>-Dselinux=disabled</parameter>: This switch disables
261 support for selinux which is not supported in BLFS.
262 </para>
263
264 <para>
265 <option>-Dgtk_doc=true</option>: This switch causes the
266 build to create and install the API documentation.
267 </para>
268
269 </sect2>
270
271 <sect2 role="content">
272 <title>Contents</title>
273
274 <segmentedlist>
275 <segtitle>Installed Programs</segtitle>
276 <segtitle>Installed Libraries</segtitle>
277 <segtitle>Installed Directories</segtitle>
278
279 <seglistitem>
280 <seg>
281 gapplication, gdbus, gdbus-codegen,
282 gio, gio-querymodules,
283 glib-compile-resources, glib-compile-schemas,
284 glib-genmarshal, glib-gettextize,
285 glib-mkenums, gobject-query,
286 gresource, gsettings,
287 gtester, and gtester-report
288 </seg>
289 <seg>
290 libgio-2.0.so,
291 libglib-2.0.so,
292 libgmodule-2.0.so,
293 libgobject-2.0.so, and
294 libgthread-2.0.so
295 </seg>
296 <seg>
297 /usr/include/gio-unix-2.0,
298 /usr/include/glib-2.0,
299 /usr/lib/glib-2.0,
300 /usr/share/glib-2.0,
301 /usr/share/doc/glib-&glib2-version;, and
302 /usr/share/gtk-doc/html/{gio,glib,gobject}
303 </seg>
304 </seglistitem>
305 </segmentedlist>
306
307 <variablelist>
308 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
309 <?dbfo list-presentation="list"?>
310 <?dbhtml list-presentation="table"?>
311
312 <varlistentry id="gapplication">
313 <term><command>gapplication</command></term>
314 <listitem>
315 <para>
316 can be used to start applications and to send
317 messages to already-running instances of other applications
318 </para>
319 <indexterm zone="glib2 gapplication">
320 <primary sortas="b-gapplication">application</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324 <varlistentry id="gdbus">
325 <term><command>gdbus</command></term>
326 <listitem>
327 <para>
328 is a simple tool used for working with
329 <application>D-Bus</application> objects
330 </para>
331 <indexterm zone="glib2 gdbus">
332 <primary sortas="b-gdbus">gdbus</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="gdbus-codegen">
338 <term><command>gdbus-codegen</command></term>
339 <listitem>
340 <para>
341 is used to generate code and/or documentation for one or
342 more <application>D-Bus</application> interfaces
343 </para>
344 <indexterm zone="glib2 gdbus-codegen">
345 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
346 </indexterm>
347 </listitem>
348 </varlistentry>
349
350 <varlistentry id="gio">
351 <term><command>gio</command></term>
352 <listitem>
353 <para>
354 is a utility that makes many <application>GIO</application>
355 features available from the command line
356 </para>
357 <indexterm zone="glib2 gio">
358 <primary sortas="b-gio">gio</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="gio-querymodules">
364 <term><command>gio-querymodules</command></term>
365 <listitem>
366 <para>
367 is used to create a <filename>giomodule.cache</filename> file in
368 the listed directories. This file lists the implemented extension
369 points for each module that has been found
370 </para>
371 <indexterm zone="glib2 gio-querymodules">
372 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="glib-compile-resources">
378 <term><command>glib-compile-resources</command></term>
379 <listitem>
380 <para>
381 is used to read the resource description from a file and
382 the files that it references to create a binary resource
383 bundle that is suitable for use with the GResource API
384 </para>
385 <indexterm zone="glib2 glib-compile-resources">
386 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="glib-compile-schemas">
392 <term><command>glib-compile-schemas</command></term>
393 <listitem>
394 <para>
395 is used to compile all the GSettings XML schema files
396 in a directory into a binary file with the name
397 <filename>gschemas.compiled</filename> that can be used by GSettings
398 </para>
399 <indexterm zone="glib2 glib-compile-schemas">
400 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry id="glib-genmarshal">
406 <term><command>glib-genmarshal</command></term>
407 <listitem>
408 <para>
409 is a C code marshaller generation utility for GLib closures
410 </para>
411 <indexterm zone="glib2 glib-genmarshal">
412 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <varlistentry id="glib-gettextize">
418 <term><command>glib-gettextize</command></term>
419 <listitem>
420 <para>
421 is a variant of the <application>gettext</application>
422 internationalization utility
423 </para>
424 <indexterm zone="glib2 glib-gettextize">
425 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="glib-mkenums">
431 <term><command>glib-mkenums</command></term>
432 <listitem>
433 <para>
434 is a C language enum description generation utility
435 </para>
436 <indexterm zone="glib2 glib-mkenums">
437 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
441
442 <varlistentry id="gobject-query">
443 <term><command>gobject-query</command></term>
444 <listitem>
445 <para>
446 is a small utility that draws a tree of types
447 </para>
448 <indexterm zone="glib2 gobject-query">
449 <primary sortas="b-gobject-query">gobject-query</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="gresource">
455 <term><command>gresource</command></term>
456 <listitem>
457 <para>
458 offers a simple command line interface to GResource
459 </para>
460 <indexterm zone="glib2 gresource">
461 <primary sortas="b-gresource">gresource</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="gsettings">
467 <term><command>gsettings</command></term>
468 <listitem>
469 <para>
470 offers a simple command line interface to GSettings
471 </para>
472 <indexterm zone="glib2 gsettings">
473 <primary sortas="b-gsettings">gsettings</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
478 <varlistentry id="gtester">
479 <term><command>gtester</command></term>
480 <listitem>
481 <para>
482 is a test running utility
483 </para>
484 <indexterm zone="glib2 gtester">
485 <primary sortas="b-gtester">gtester</primary>
486 </indexterm>
487 </listitem>
488 </varlistentry>
489
490 <varlistentry id="gtester-report">
491 <term><command>gtester-report</command></term>
492 <listitem>
493 <para>
494 is a test report formatting utility
495 </para>
496 <indexterm zone="glib2 gtester-report">
497 <primary sortas="b-gtester-report">gtester-report</primary>
498 </indexterm>
499 </listitem>
500 </varlistentry>
501
502 <varlistentry id="GLib-libraries">
503 <term>GLib libraries</term>
504 <listitem>
505 <para>
506 contain low-level core libraries for the
507 <application>GIMP</application> Toolkit
508 </para>
509 <indexterm zone="glib2 GLib-libraries">
510 <primary sortas="c-GLib-libraries">Glib libraries</primary>
511 </indexterm>
512 </listitem>
513 </varlistentry>
514
515 </variablelist>
516
517 </sect2>
518
519</sect1>
Note: See TracBrowser for help on using the repository browser.