source: general/genlib/glib2.xml@ 62a5037e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.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 62a5037e was 62a5037e, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Update to xterm-353.
Update to mesa-19.3.4.
Update to wayland-1.18.0.
Tag most of xorg (not all drivers) and xorg dependencies.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22699 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/2.62/glib-&glib2-version;.tar.xz">
8 <!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/2.62/glib-&glib2-version;.tar.xz">
9 <!ENTITY glib2-md5sum "d52234ecba128932bed90bbc3553bfe5">
10 <!ENTITY glib2-size "4.5 MB">
11 <!ENTITY glib2-buildsize "167 MB (add 3 MB for tests)">
12 <!ENTITY glib2-time "0.5 SBU (add 0.6 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 &lfs91_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 Required patch:
80 <ulink url="&patch-root;/glib-&glib2-version;-cve_2020_6750_fix-1.patch"/>
81 </para>
82 </listitem>
83 <listitem>
84 <para>
85 Optional patch:
86 <ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
87 </para>
88 </listitem>
89 </itemizedlist>
90
91 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
92
93 <bridgehead renderas="sect4">Recommended</bridgehead>
94 <para role="recommended">
95 <xref linkend="libxslt"/> and
96 <xref linkend="pcre"/> (built with Unicode properties)
97 </para>
98
99 <bridgehead renderas="sect4">Optional</bridgehead>
100 <para role="optional">
101 <xref linkend="dbus"/> and
102 <ulink url="https://bindfs.org/">bindfs</ulink>
103 (both may be used in some tests),
104 <xref linkend="gdb"/> (for bindings),
105 <xref linkend="DocBook"/>,
106 <xref linkend="docbook-xsl"/>, and
107 <xref linkend="gtk-doc"/>
108 (to build API documentation)
109 </para>
110
111 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
112 <para role="recommended">
113 <xref role="runtime" linkend="gobject-introspection"/>
114 (should be installed before gtk+, atk, etc.)
115 </para>
116 <para role="optional">
117 Quoted directly from the <filename>INSTALL</filename> file:
118 <quote>Some of the mimetype-related functionality in GIO requires the
119 <command>update-mime-database</command> and
120 <command>update-desktop-database</command> utilities</quote>,
121 which are part of
122 <xref role="runtime" linkend="shared-mime-info"/> and
123 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
124 These two utilities are also needed for some tests.
125 </para>
126
127 <para condition="html" role="usernotes">User Notes:
128 <ulink url="&blfs-wiki;/glib2"/>
129 </para>
130 </sect2>
131
132 <sect2 role="installation">
133 <title>Installation of GLib</title>
134
135 <para>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 GLIB_LOG_LEVEL, that supresses unwanted messages. The value of the
140 variable is a digit that corresponds to:</para>
141
142 <simplelist>
143 <member>1 Alert</member>
144 <member>2 Critical</member>
145 <member>3 Error</member>
146 <member>4 Warning</member>
147 <member>5 Notice</member>
148 </simplelist>
149
150 <para>For instance GLIB_LOG_LEVEL=4 will skip output of Warning and
151 Notice messages (and Info/Debug messages if they are turned on).
152 If GLIB_LOG_LEVEL is not defined, normal message output will not
153 be affected.</para>
154
155<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
156
157 <warning>
158 <para>
159
160 If upgrading from a previous version of GLib that was built using
161 autotools, and the <application>libtool</application> archives (.la
162 files) were installed, you will need to adjust all installed libtool
163 archives,
164 <filename>/usr/lib/libg{io,lib,module,object,thread}-2.0.la</filename>,
165 to replace references to the libtool archives for this package with the
166 appropriate linker library flag (-l),
167 <command>-lg{io,lib,module,object,thread}</command>. 600+ files must be
168 modified on a complete gnome desktop.
169
170 </para>
171
172 <para>
173 Alternatively, you can just remove the unneeded .la files
174 with the script at <xref linkend="la-files"/>.
175 </para>
176 </warning>
177
178 <para>
179 Apply a security patch to fix a proxy bypass vulnerability:
180 </para>
181
182<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-cve_2020_6750_fix-1.patch</userinput></screen>
183
184 <para>
185 Install <application>GLib</application> by running the following
186 commands:
187 </para>
188
189<screen><userinput>mkdir build &amp;&amp;
190cd build &amp;&amp;
191
192meson --prefix=/usr \
193 -Dman=true \
194 -Dselinux=disabled \
195 .. &amp;&amp;
196ninja</userinput></screen>
197
198 <para>
199 The <application>GLib</application> test suite requires
200 <application>desktop-file-utils</application> for some tests. However,
201 <application>desktop-file-utils</application> requires
202 <application>GLib</application> in order to compile; therefore, you must
203 first install <application>GLib</application> and then run the test
204 suite.
205 </para>
206
207 <para>
208 Now, as the <systemitem class="username">root</systemitem> user:
209 </para>
210
211 <note><para>
212 If <xref linkend="libxslt"/> is installed, the following command may
213 indicate several (about 33) errors that start with "Error: no ID for
214 constraint linkend:" when installing the man pages. These are harmless.
215 </para></note>
216
217<screen role="root"><userinput>ninja install &amp;&amp;
218
219mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
220cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
221
222 <para>
223 You should now install <xref linkend="desktop-file-utils"/> and
224 <xref linkend="shared-mime-info"/> and proceed to
225 run the test suite.
226 </para>
227
228 <para>
229 To test the results, after having installed the package, issue:
230 <command>ninja test</command>.
231 <!-- SysV has the symlink now, so gdatetime no longer fails.-->
232 <!-- Needs /etc/localtime to be a symbolic link. In addition
233 the link must be to some place like /usr/share/zoneinfo/...
234
235 This can be overcome if the line below in glib/tests/gdatetime.c
236 is removed or commented out.
237 g_assert_true (*g_time_zone_get_identifier (tz) != '/');
238
239 NOTE: systemd implements this as a hard requirement.
240 -->
241 <!-- with 2.60.4 on systemd, all tests pass. -->
242 </para>
243
244 </sect2>
245
246 <sect2 role="commands">
247 <title>Command Explanations</title>
248
249 <para>
250 <parameter>-Dman=true</parameter>: This switch causes the
251 build to create and install the package man pages.
252 </para>
253
254 <para>
255 <parameter>-Dselinux=disabled</parameter>: This switch disables
256 support for selinux which is not supported in BLFS.
257 </para>
258
259 <para>
260 <option>-Ddoc=true</option>: This switch causes the
261 build to create and install the API documentation.
262 </para>
263
264 </sect2>
265
266 <sect2 role="content">
267 <title>Contents</title>
268
269 <segmentedlist>
270 <segtitle>Installed Programs</segtitle>
271 <segtitle>Installed Libraries</segtitle>
272 <segtitle>Installed Directories</segtitle>
273
274 <seglistitem>
275 <seg>
276 gapplication, gdbus, gdbus-codegen,
277 gio, gio-launch-desktop, gio-querymodules,
278 glib-compile-resources, glib-compile-schemas,
279 glib-genmarshal, glib-gettextize,
280 glib-mkenums, gobject-query,
281 gresource, gsettings,
282 gtester, and gtester-report
283 </seg>
284 <seg>
285 libgio-2.0.so,
286 libglib-2.0.so,
287 libgmodule-2.0.so,
288 libgobject-2.0.so, and
289 libgthread-2.0.so
290 </seg>
291 <seg>
292 /usr/include/gio-unix-2.0,
293 /usr/include/glib-2.0,
294 /usr/lib/glib-2.0,
295 /usr/share/glib-2.0, 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.