libblockdev is a C library supporting GObject Introspection for manipulation of block devices. It has a plugin-based architecture where each technology (like LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly with multiple implementations (e.g. using LVM CLI or the new LVM DBus API).
This package is known to build and work properly using an LFS 12.4 platform.
Download (HTTP): https://github.com/storaged-project/libblockdev/releases/download/3.4.0/libblockdev-3.4.0.tar.gz
Download SHA256 Sum: 65ef9a37babd44b85b8ff9b273f90f9f7d5f8ff7b0c76a8edb69240325fd83f4
Download MD5 sum: b796b839c6971917718caedbdc165487
Download size: 6,195.9 KB
Estimated disk space required: 13,113.1 KB
Estimated build time: less than 0.1 SBU
GLib-2.86.2 (GObject Introspection required for GNOME)
cryptsetup-2.8.1, keyutils-1.6.3, libatasmart-0.19, libbytesize-2.11, libnvme-1.16.1, and LVM2-2.03.36
"btrfs-progs", "gtk-doc", JSON-GLib-1.10.8, "mdadm", "parted", "smartmontools", volume_key, ndctl, and targetcli (for tests)
Prepare libblockdev by running the following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-python3 \
--without-escrow \
--without-gtk-doc \
--without-lvm \
--without-lvm_dbus \
--without-nvdimm \
--without-tools \
--without-smartmontoolsmake
The test suite requires targetcli, which is not a part of BLFS.
Now Install the package, as the root user:
make install
--without-escrow: This switch allows building
libblockdev without volume_key installed.
--without-lvm
--without-lvm_dbus
--without-tools: The combination of these
switches allows building libblockdev without
"parted" installed. Remove it if you've installed
"parted" and wish to build the
lvm-cache-stats or vfat-resize
utilities, or wish libblockdev to support
logical volumes.
--without-smartmontools:
This switch allows building libblockdev
without "json-glib" or "smartmontools"
installed. Remove it if you have both packages installed.
--without-btrfs --without-mdraid --without-tools:
The combination of these switches allows building
libblockdev without
"libbytesize" installed. The
--without-mdraid option will break
"udisks2", so don't use it unless you really know what
you are doing.
--without-crypto: This switch allows building
libblockdev without
"cryptsetup" or "keyutils" installed.
This switch will break UDisks-2.11.0, so don't use it
unless you really know what you are doing.
--without-dm --without-lvm --without-lvm_dbus
--without-mpath: The combination of these switches allows
building libblockdev without
"lvm2" installed. The --without-dm
and --without-mpath options are not in the instructions
provided by the book because "lvm2" is required for
"cryptsetup" and "cryptsetup" is a recommended dependency of "libblockdev" anyway.
--without-nvme: This switch allows building
libblockdev without "libnvme" installed.
This switch will break UDisks-2.11.0, so don't use it unless you really know what
you are doing.