source: general/genlib/libblockdev.xml@ bead691

trunk
Last change on this file since bead691 was 418e7853, checked in by Douglas R. Reno <renodr@…>, 9 days ago

libblockdev: Add new dependencies for the SMART plugin

Looking at
https://github.com/storaged-project/libblockdev/blob/3.2.0/NEWS.rst,
we'll notice that a new plugin was added for SMART support on hard
drives and SSDs. The default plugin is based on libatasmart, so let's
add that to the Recommended dependencies list. The experimental plugin
is based on smartmontools and uses the 'smartctl' executable at runtime,
so we'll add that (and the json-glib dependency that it requires).

  • Property mode set to 100644
File size: 8.7 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 libblockdev-download-http
8 "https://github.com/storaged-project/libblockdev/releases/download/&libblockdev-version;/libblockdev-&libblockdev-version;.tar.gz">
9 <!ENTITY libblockdev-download-ftp " ">
10 <!ENTITY libblockdev-md5sum "60a52413f14303147c79a6f368aced92">
11 <!ENTITY libblockdev-size "1.1 MB">
12 <!ENTITY libblockdev-buildsize "16 MB">
13 <!ENTITY libblockdev-time "0.1 SBU">
14]>
15
16<sect1 id="libblockdev" xreflabel="libblockdev-&libblockdev-version;">
17 <?dbhtml filename="libblockdev.html"?>
18
19
20 <title>libblockdev-&libblockdev-version;</title>
21
22 <indexterm zone="libblockdev">
23 <primary sortas="a-libblockdev">libblockdev</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to libblockdev</title>
28
29 <para>
30 libblockdev is a C library supporting GObject Introspection for
31 manipulation of block devices. It has a plugin-based architecture where
32 each technology (like LVM, Btrfs, MD RAID, Swap,...) is implemented in a
33 separate plugin, possibly with multiple implementations (e.g. using LVM
34 CLI or the new LVM DBus API).
35 </para>
36
37 &lfs122_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&libblockdev-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&libblockdev-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &libblockdev-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &libblockdev-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &libblockdev-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &libblockdev-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">libblockdev Dependencies</bridgehead>
74
75 <bridgehead renderas="sect4">Required</bridgehead>
76 <para role="required">
77 <xref linkend="glib2"/> (GObject Introspection required for GNOME)
78 </para>
79
80 <bridgehead renderas="sect4">Recommended</bridgehead>
81 <para role="recommended">
82 <xref linkend="cryptsetup"/>,
83 <xref linkend="keyutils"/>,
84 <xref linkend="libatasmart"/>,
85 <xref linkend="libbytesize"/>,
86 <xref linkend="libnvme"/>, and
87 <xref linkend="lvm2"/>
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="btrfs-progs"/>,
93 <xref linkend="gtk-doc"/>,
94 <xref linkend="json-glib"/>,
95 <xref linkend="mdadm"/>,
96 <xref linkend="parted"/>,
97 <xref linkend="smartmontools"/>,
98 <ulink url="https://github.com/felixonmars/volume_key">volume_key</ulink>,
99 <ulink url="https://github.com/pmem/ndctl">ndctl</ulink>, and
100 <ulink url="https://github.com/Datera/targetcli">targetcli</ulink>
101 (for tests)
102 </para>
103
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of libblockdev</title>
108<!--
109 <para>
110 First, work around a problem when using e2fsprogs-1.47.1 or later:
111 </para>
112
113<screen><userinput>find -name Makefile.in -exec sed -i "s/-Werror//" {} \;</userinput></screen>
114-->
115 <para>
116 Install <application>libblockdev</application> by running
117 the following commands:
118 </para>
119
120<screen><userinput>./configure --prefix=/usr \
121 --sysconfdir=/etc \
122 --with-python3 \
123 --without-escrow \
124 --without-gtk-doc \
125 --without-lvm \
126 --without-lvm_dbus \
127 --without-nvdimm \
128 --without-tools &amp;&amp;
129make</userinput></screen>
130
131 <para>
132 The test suite requires <application>targetcli</application>, which
133 is not a part of BLFS.
134 </para>
135
136 <para>
137 Now, as the <systemitem class="username">root</systemitem> user:
138 </para>
139
140<screen role="root"><userinput>make install</userinput></screen>
141
142 </sect2>
143
144 <sect2 role="commands">
145 <title>Command Explanations</title>
146
147 <para>
148 <parameter>--without-escrow</parameter>: This switch allows building
149 <application>libblockdev</application> without volume_key installed.
150 </para>
151
152 <para>
153 <parameter>--without-lvm</parameter>
154 <parameter>--without-lvm_dbus</parameter>
155 <parameter>--without-tools</parameter>: The combination of these
156 switches allows
157 building <application>libblockdev</application> without
158 <xref linkend="parted"/> installed. Remove it if you've installed
159 <xref linkend="parted"/> and wish to build the
160 <command>lvm-cache-stats</command> or <command>vfat-resize</command>
161 utilities, or wish <application>libblockdev</application> to support
162 logical volumes.
163 </para>
164
165 <para>
166 <option>--without-btrfs --without-mdraid --without-tools</option>:
167 The combination of these switches allows building
168 <application>libblockdev</application> without
169 <xref linkend="libbytesize"/> installed. The
170 <option>--without-mdraid</option> option will break
171 <xref linkend="udisks2"/>, so don't use it unless you really know what
172 you are doing.
173 </para>
174
175 <para>
176 <option>--without-crypto</option>: This switch allows building
177 <application>libblockdev</application> without
178 <xref linkend="cryptsetup"/> or <xref linkend="keyutils"/> installed.
179 This switch will break <xref linkend="udisks2"/>, so don't use it
180 unless you really know what you are doing.
181 </para>
182
183 <para>
184 <option>--without-dm --without-lvm --without-lvm_dbus
185 --without-mpath</option>: The combination of these switches allows
186 building <application>libblockdev</application> without
187 <xref linkend="lvm2"/> installed. The <option>--without-dm</option>
188 and <option>--without-mpath</option> options are not in the instructions
189 provided by the book because <xref linkend="lvm2"/> is required for
190 <xref linkend="cryptsetup"/> and <xref linkend="cryptsetup"/> is a
191 recommended dependency of <application>libblockdev</application> anyway.
192 </para>
193
194 <para>
195 <option>--without-nvme</option>: This switch allows building
196 <application>libblockdev</application> without
197 <xref linkend="libnvme"/> installed. This switch will break
198 <xref linkend="udisks2"/>, so don't use it unless you really know what
199 you are doing.
200 </para>
201
202 </sect2>
203
204 <sect2 role="content">
205 <title>Contents</title>
206
207 <segmentedlist>
208 <segtitle>Installed Programs</segtitle>
209 <segtitle>Installed Libraries</segtitle>
210 <segtitle>Installed Directories</segtitle>
211
212 <seglistitem>
213 <seg>
214 lvm-cache-stats and vfat-resize (both optional)
215 </seg>
216 <seg>
217 libbd_btrfs.so,
218 libbd_crypto.so,
219 libbd_dm.so,
220 libbd_fs.so,
221 libbd_loop.so,
222 libbd_lvm.so (optional),
223 libbd_lvm-dbus.so (optional),
224 libbd_mdraid.so,
225 libbd_mpath.so,
226 libbd_nvme.so,
227 libbd_part.so,
228 libbd_swap.so,
229 libbd_utils.so, and
230 libblockdev.so
231 </seg>
232 <seg>
233 /etc/libblockdev,
234 /usr/include/blockdev, and
235 /usr/share/gtk-doc/html/libblockdev (optional)
236 </seg>
237 </seglistitem>
238 </segmentedlist>
239
240 <variablelist>
241 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
242 <?dbfo list-presentation="list"?>
243 <?dbhtml list-presentation="table"?>
244
245 <varlistentry id="lvm-cache-stats">
246 <term><command>lvm-cache-stats</command></term>
247 <listitem>
248 <para>
249 prints statistics on caches on LVM Logical Volumes
250 </para>
251 <indexterm zone="libblockdev lvm-cache-stats">
252 <primary sortas="b-lvm-cache-stats">lvm-cache-stats</primary>
253 </indexterm>
254 </listitem>
255 </varlistentry>
256
257 <varlistentry id="vfat-resize">
258 <term><command>vfat-resize</command></term>
259 <listitem>
260 <para>
261 resizes <systemitem class="filesystem">vfat</systemitem>
262 file systems
263 </para>
264 <indexterm zone="libblockdev vfat-resize">
265 <primary sortas="b-vfat-resize">vfat-resize</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269 </variablelist>
270
271 </sect2>
272
273</sect1>
Note: See TracBrowser for help on using the repository browser.