source: gnome/platform/tracker3-miners.xml

trunk
Last change on this file was 20be11f, checked in by Xi Ruoyao <xry111@…>, 2 weeks ago

tracker3-miners: Enable Landlock, and document security implications about disabling seccomp or Landlock

  • Property mode set to 100644
File size: 13.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 tracker3-miners-download-http "&gnome-download-http;/tracker-miners/3.7/tracker-miners-&tracker3-miners-version;.tar.xz">
8 <!ENTITY tracker3-miners-download-ftp " ">
9 <!ENTITY tracker3-miners-md5sum "fc47e13aebbcbe002cfd07980d0cde46">
10 <!ENTITY tracker3-miners-size "7.2 MB">
11 <!ENTITY tracker3-miners-buildsize "38 MB (with tests)">
12 <!ENTITY tracker3-miners-time "0.3 SBU (with parallelism=4; add as much as 1.0 SBU for tests, dependent on disk speed)">
13]>
14
15<sect1 id="tracker3-miners" xreflabel="tracker-miners-&tracker3-miners-version;">
16 <?dbhtml filename="tracker3-miners.html"?>
17
18
19 <title>Tracker-miners-&tracker3-miners-version;</title>
20
21 <indexterm zone="tracker3-miners">
22 <primary sortas="a-tracker3-miners">tracker3-miners</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Tracker-miners</title>
27
28 <para>
29 The <application>Tracker-miners</application> package contains a set of
30 data extractors for Tracker.
31 </para>
32
33 &lfs121_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&tracker3-miners-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&tracker3-miners-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &tracker3-miners-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &tracker3-miners-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &tracker3-miners-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &tracker3-miners-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69<!--
70 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
71 <itemizedlist spacing="compact">
72 <listitem>
73 <para>
74 Required patch:
75 <ulink url="&patch-root;/tracker-miners-&tracker3-miners-version;-upstream_fixes-1.patch"/>
76 </para>
77 </listitem>
78 </itemizedlist>
79-->
80
81 <bridgehead renderas="sect3">Tracker-miners Dependencies</bridgehead>
82
83 <bridgehead renderas="sect4">Required</bridgehead>
84 <para role="required">
85 <xref linkend="gst10-plugins-base"/>,
86 <xref linkend="tracker3"/>,
87 <xref linkend="exempi"/>, and
88 <xref linkend="gexiv2"/>
89 </para>
90
91 <bridgehead renderas="sect4">Recommended</bridgehead>
92 <para role="recommended">
93 <xref linkend="giflib"/>,
94 <xref role='runtime' linkend="gst10-plugins-good"/> (runtime),
95 <xref role='runtime' linkend="gst10-libav"/> (runtime),
96 <xref linkend="icu"/>,
97 <xref linkend="libexif"/>,
98 <xref linkend="libgrss"/>,
99 <xref linkend="libgxps"/>,
100 <xref linkend="libseccomp"/>,
101 <xref linkend="poppler"/>, and
102 <xref linkend="upower"/>
103 </para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
107 <xref linkend="asciidoc"/>,
108 <xref linkend="cmake"/>,
109 <xref linkend="dconf"/>,
110 <xref linkend="ffmpeg"/>,
111 <xref linkend="libgsf"/>,
112 <xref linkend="NetworkManager"/>,
113 <xref linkend="taglib"/>,
114 <xref linkend="totem-pl-parser"/>,
115 <ulink url="https://github.com/lipnitsk/libcue">libcue</ulink>,
116 <ulink url="https://libiptcdata.sourceforge.net/">libitpcdata</ulink>,
117 <ulink url="https://libosinfo.org">libosinfo</ulink>, and
118 <ulink url="https://gitlab.gnome.org/GNOME/gupnp">gupnp</ulink>
119 </para>
120
121 </sect2>
122
123 <sect2 role="kernel" id="tracker3-miners-kernel">
124 <title>Kernel Configuration</title>
125
126 <para>
127 Enable the following options in the kernel configuration, then recompile
128 the kernel and reboot if necessary:
129 </para>
130
131 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
132 href="tracker3-miners-kernel.xml"/>
133
134 <indexterm zone="tracker3-miners tracker3-miners-kernel">
135 <primary sortas="d-traker-miners">tracker-miners</primary>
136 </indexterm>
137 </sect2>
138
139 <sect2 role="installation">
140 <title>Installation of Tracker-miners</title>
141
142 <note>
143 <para>
144 If you plan to run the tests, some timeouts are too short when
145 using spinning disks. There are two places where timeouts are
146 used: first, individual tests inside a group of tests have a
147 default timeout of 10s. This can be changed by setting the environment
148 variable <envar>TRACKER_TESTS_AWAIT_TIMEOUT</envar> to the desired
149 value when running the tests (see below). Second, a global timeout
150 for a group of tests is fixed at configuration time. The default value
151 in the <filename class="directory">functional-tests</filename>
152 directory (other directories have only short lived tests) may be
153 increased with the following command (replace 200 with a value
154 suitable for your machine):
155 </para>
156
157<screen remap="test"><userinput>sed -i s/120/<replaceable>200</replaceable>/ tests/functional-tests/meson.build</userinput></screen>
158 </note>
159
160<!-- Applied in 3.6.2
161 <para>
162 First, fix some problems with the recent tightening of the seccomp
163 sandbox:
164 </para>
165
166<screen><userinput remap="pre">patch -Np1 -i ../tracker-miners-&tracker3-miners-version;-upstream_fixes-1.patch</userinput></screen>
167-->
168
169 <para>
170 Install <application>Tracker-miners</application> by running the following
171 commands:
172 </para>
173
174
175<screen revision="systemd"><userinput>mkdir build &amp;&amp;
176cd build &amp;&amp;
177
178meson setup --prefix=/usr \
179 --buildtype=release \
180 -Dman=false \
181 .. &amp;&amp;
182ninja</userinput></screen>
183
184<screen revision="sysv"><userinput>mkdir build &amp;&amp;
185cd build &amp;&amp;
186
187meson setup --prefix=/usr \
188 --buildtype=release \
189 -Dsystemd_user_services=false \
190 -Dman=false \
191 .. &amp;&amp;
192ninja</userinput></screen>
193
194 <para>
195 <!-- Some tests fail in 3.6.1 due to seccomp sandbox changes.
196 See https://github.blog/2023-10-09-coordinated-disclosure-1-click-rce-on-gnome-cve-2023-43641/ -->
197 To test the results, issue (adjust the individual test timeout to a
198 value suitable for your machine, see the note above):
199 </para>
200
201<screen remap="test"><userinput>dbus-run-session env TRACKER_TESTS_AWAIT_TIMEOUT=<replaceable>20</replaceable> ninja test &amp;&amp;
202rm -rf ~/tracker-tests</userinput></screen>
203
204 <note>
205 <para>
206 The tests create files in the user directory (up to 24 MB), so
207 they have to be removed afterwards.
208 </para>
209 </note>
210
211 <para>
212 Now, as the <systemitem class="username">root</systemitem> user:
213 </para>
214
215<screen role="root"><userinput>ninja install</userinput></screen>
216 </sect2>
217
218 <sect2 role="commands">
219 <title>Command Explanations</title>
220
221 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
222 href="../../xincludes/meson-buildtype-release.xml"/>
223
224 <para>
225 <parameter>-Dman=false</parameter>: This switch prevents the build process
226 from generating man pages. Omit this switch if you have
227 <xref linkend="asciidoc" role="nodep"/> installed and wish to generate and
228 install the man pages.
229 </para>
230
231 <para revision="sysv">
232 <parameter>-Dsystemd_user_services=false</parameter>: This switch prevents
233 the build process from installing systemd units since they are useless
234 on SysV systems.
235 </para>
236
237 <para>
238 <option>-Dseccomp=false</option>: This option disables the seccomp system
239 call filter. On some architectures, such as i686 and ARM, the functions
240 that tracker-miners uses are not guarded properly, and tracker-miners
241 will get killed with a SIGSYS as a result. Note that disabling
242 seccomp might cause the system compromised more severely in case a
243 security vulnerability in tracker-miners or its dependencies is
244 exploited.
245 </para>
246
247 <para>
248 <option>-Dlandlock=disabled</option>: This switch disables the
249 Landlock file access sandbox. Use it if you don't want to build the
250 kernel with Landlock support. Note that disabling Landlock might
251 cause the system compromised more severely in case a security
252 vulnerability in tracker-miners or its dependencies is exploited.
253 </para>
254
255 <para>
256 <option>-Dminer_rss=false</option>: Use this option if you have not
257 installed the recommended dependency libgrss.
258 </para>
259
260 <para>
261 <option>-Dbattery_detection=none</option>: Use this option if you have
262 not installed the recommended dependency upower. Do not use this
263 option if your system has a battery (laptop battery or UPS), or
264 tracker miners may waste the battery power and lifespan when the A/C
265 power is unavailable.
266 </para>
267
268 </sect2>
269
270 <sect2 role="content">
271 <title>Contents</title>
272
273 <segmentedlist>
274 <segtitle>Installed Programs</segtitle>
275 <segtitle>Installed Libraries</segtitle>
276 <segtitle>Installed Directories</segtitle>
277
278 <seglistitem>
279 <seg>
280 tracker3-daemon,
281 tracker3-extract,
282 tracker3-index,
283 tracker3-info,
284 tracker3-reset,
285 tracker3-search,
286 tracker3-status, and
287 tracker3-tag
288 </seg>
289 <seg>
290 Several modules under /usr/lib/tracker-miners-3.0
291 </seg>
292 <seg>
293 /usr/lib/tracker-miners-3.0,
294 /usr/libexec/tracker3, and
295 /usr/share/tracker3-miners
296 </seg>
297 </seglistitem>
298 </segmentedlist>
299
300 <variablelist>
301 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
302 <?dbfo list-presnetation="list"?>
303 <?dbhtml list-presentation="table"?>
304
305 <varlistentry id="tracker3-daemon">
306 <term><command>tracker3-daemon</command></term>
307 <listitem>
308 <para>
309 starts, stops, restarts, and lists daemons responsible for indexing
310 content
311 </para>
312 <indexterm zone="tracker3-miners tracker3-daemon">
313 <primary sortas="b-tracker3-daemon">tracker3-daemon</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="tracker3-extract">
319 <term><command>tracker3-extract</command></term>
320 <listitem>
321 <para>
322 extracts metadata from a file
323 </para>
324 <indexterm zone="tracker3-miners tracker3-extract">
325 <primary sortas="b-tracker3-extract">tracker3-extract</primary>
326 </indexterm>
327 </listitem>
328 </varlistentry>
329
330 <varlistentry id="tracker3-index">
331 <term><command>tracker3-index</command></term>
332 <listitem>
333 <para>
334 indexes content using the Tracker filesystem miner
335 </para>
336 <indexterm zone="tracker3-miners tracker3-index">
337 <primary sortas="b-tracker3-index">tracker3-index</primary>
338 </indexterm>
339 </listitem>
340 </varlistentry>
341
342 <varlistentry id="tracker3-info">
343 <term><command>tracker3-info</command></term>
344 <listitem>
345 <para>
346 retrieves all information available for a certain file
347 </para>
348 <indexterm zone="tracker3-miners tracker3-info">
349 <primary sortas="b-tracker3-info">tracker3-info</primary>
350 </indexterm>
351 </listitem>
352 </varlistentry>
353
354 <varlistentry id="tracker3-reset">
355 <term><command>tracker3-reset</command></term>
356 <listitem>
357 <para>
358 resets the Tracker index and configuration
359 </para>
360 <indexterm zone="tracker3-miners tracker3-reset">
361 <primary sortas="b-tracker3-reset">tracker3-reset</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="tracker3-search">
367 <term><command>tracker3-search</command></term>
368 <listitem>
369 <para>
370 searches for content by type or across all types
371 </para>
372 <indexterm zone="tracker3-miners tracker3-search">
373 <primary sortas="b-tracker3-search">tracker3-search</primary>
374 </indexterm>
375 </listitem>
376 </varlistentry>
377
378 <varlistentry id="tracker3-status">
379 <term><command>tracker3-status</command></term>
380 <listitem>
381 <para>
382 provides status and statistics on data that has been indexed
383 </para>
384 <indexterm zone="tracker3-miners tracker3-status">
385 <primary sortas="b-tracker3-status">tracker3-status</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="tracker3-tag">
391 <term><command>tracker3-tag</command></term>
392 <listitem>
393 <para>
394 adds, removes, and lists tags
395 </para>
396 <indexterm zone="tracker3-miners tracker3-tag">
397 <primary sortas="b-tracker3-tag">tracker3-tag</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401 </variablelist>
402 </sect2>
403
404</sect1>
Note: See TracBrowser for help on using the repository browser.