%define with_python3 1 %define with_gtk_doc 1 %define with_btrfs 1 %define with_crypto 1 %define with_dm 1 %define with_loop 1 %define with_lvm 1 %define with_lvm_dbus 1 %define with_mdraid 1 %define with_mpath 1 %define with_swap 1 %define with_part 1 %define with_fs 1 %define with_nvdimm 1 %define with_gi 1 %define with_escrow 1 %define with_tools 1 %define with_nvme 1 %define with_smart 1 %define with_smartmontools 1 # btrfs is not available on RHEL > 7 %if 0%{?rhel} > 7 || %{with_btrfs} == 0 %define with_btrfs 0 %define btrfs_copts --without-btrfs %endif %if %{with_btrfs} != 1 %define btrfs_copts --without-btrfs %endif %if %{with_crypto} != 1 %define crypto_copts --without-crypto %else %if %{with_escrow} != 1 %define crypto_copts --without-escrow %endif %endif %if %{with_dm} != 1 %define dm_copts --without-dm %else %endif %if %{with_loop} != 1 %define loop_copts --without-loop %endif %if %{with_lvm} != 1 %define lvm_copts --without-lvm %endif %if %{with_lvm_dbus} != 1 %define lvm_dbus_copts --without-lvm_dbus %endif %if %{with_mdraid} != 1 %define mdraid_copts --without-mdraid %endif %if %{with_mpath} != 1 %define mpath_copts --without-mpath %endif %if %{with_swap} != 1 %define swap_copts --without-swap %endif %if %{with_part} != 1 %define part_copts --without-part %endif %if %{with_fs} != 1 %define fs_copts --without-fs %endif %if %{with_nvdimm} != 1 %define nvdimm_copts --without-nvdimm %endif %if %{with_tools} != 1 %define tools_copts --without-tools %endif %if %{with_gi} != 1 %define gi_copts --disable-introspection %endif %if %{with_nvme} != 1 %define nvme_copts --without-nvme %endif %if %{with_smart} != 1 %define smart_copts --without-smart %endif %if %{with_smartmontools} != 1 %define smartmontools_copts --without-smartmontools %endif %define configure_opts %{?python3_copts} %{?lvm_dbus_copts} %{?btrfs_copts} %{?crypto_copts} %{?dm_copts} %{?loop_copts} %{?lvm_copts} %{?lvm_dbus_copts} %{?mdraid_copts} %{?mpath_copts} %{?swap_copts} %{?part_copts} %{?fs_copts} %{?nvdimm_copts} %{?tools_copts} %{?gi_copts} %{?nvme_copts} %{?smart_copts} %{?smartmontools_copts} Name: libblockdev Version: 3.1.1 Release: 1.20240809081159604422.pr1047.135.g4682bf43%{?dist} Summary: A library for low-level manipulation with block devices License: LGPL-2.1-or-later URL: https://github.com/storaged-project/libblockdev Source0: libblockdev-3.1.1.tar.gz BuildRequires: make BuildRequires: glib2-devel %if %{with_gi} BuildRequires: gobject-introspection-devel %endif %if %{with_python3} BuildRequires: python3-devel %endif %if %{with_gtk_doc} BuildRequires: gtk-doc %endif BuildRequires: glib2-doc BuildRequires: autoconf-archive # obsolete removed subpackages to allow upgrades Provides: libblockdev-kbd = %{version}-%{release} Obsoletes: libblockdev-kbd < %{version}-%{release} Provides: libblockdev-vdo = %{version}-%{release} Obsoletes: libblockdev-vdo < %{version}-%{release} Requires: %{name}-utils%{?_isa} = %{version}-%{release} %description The libblockdev is a C library with GObject introspection support that can be used for doing low-level operations with block devices like setting up LVM, BTRFS, LUKS or MD RAID. The library uses plugins (LVM, BTRFS,...) and serves as a thin wrapper around its plugins' functionality. All the plugins, however, can be used as standalone libraries. One of the core principles of libblockdev is that it is stateless from the storage configuration's perspective (e.g. it has no information about VGs when creating an LV). %package devel Summary: Development files for libblockdev Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel # obsolete removed devel subpackages to allow upgrades Provides: libblockdev-kbd-devel = %{version}-%{release} Obsoletes: libblockdev-kbd-devel < %{version}-%{release} Provides: libblockdev-vdo-devel = %{version}-%{release} Obsoletes: libblockdev-vdo-devel < %{version}-%{release} %description devel This package contains header files and pkg-config files needed for development with the libblockdev library. %if %{with_python3} %package -n python3-blockdev Summary: Python3 gobject-introspection bindings for libblockdev Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python3-gobject-base Requires: python3-bytesize %{?python_provide:%python_provide python3-blockdev} %description -n python3-blockdev This package contains enhancements to the gobject-introspection bindings for libblockdev in Python3. %endif %package utils BuildRequires: kmod-devel Summary: A library with utility functions for the libblockdev library %description utils The libblockdev-utils is a library providing utility functions used by the libblockdev library and its plugins. %package utils-devel Summary: Development files for libblockdev-utils Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: glib2-devel %description utils-devel This package contains header files and pkg-config files needed for development with the libblockdev-utils library. %if %{with_btrfs} %package btrfs BuildRequires: libbytesize-devel Summary: The BTRFS plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: btrfs-progs %description btrfs The libblockdev library plugin (and in the same time a standalone library) providing the BTRFS-related functionality. %package btrfs-devel Summary: Development files for the libblockdev-btrfs plugin/library Requires: %{name}-btrfs%{?_isa} = %{version}-%{release} Requires: glib2-devel Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} %description btrfs-devel This package contains header files and pkg-config files needed for development with the libblockdev-btrfs plugin/library. %endif %if %{with_crypto} %package crypto Requires: %{name}-utils%{?_isa} = %{version}-%{release} BuildRequires: cryptsetup-devel >= 2.3.0 BuildRequires: libblkid-devel BuildRequires: keyutils-libs-devel %if %{with_escrow} BuildRequires: volume_key-devel >= 0.3.9-7 BuildRequires: nss-devel %endif Summary: The crypto plugin for the libblockdev library %description crypto The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to encrypted devices (LUKS). %package crypto-devel Summary: Development files for the libblockdev-crypto plugin/library Requires: %{name}-crypto%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description crypto-devel This package contains header files and pkg-config files needed for development with the libblockdev-crypto plugin/library. %endif %if %{with_dm} %package dm BuildRequires: device-mapper-devel BuildRequires: systemd-devel Summary: The Device Mapper plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: device-mapper %description dm The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to Device Mapper. %package dm-devel Summary: Development files for the libblockdev-dm plugin/library Requires: %{name}-dm%{?_isa} = %{version}-%{release} Requires: glib2-devel Requires: device-mapper-devel Requires: systemd-devel Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} %description dm-devel This package contains header files and pkg-config files needed for development with the libblockdev-dm plugin/library. %endif %if %{with_fs} %package fs BuildRequires: libblkid-devel BuildRequires: libmount-devel BuildRequires: libuuid-devel BuildRequires: e2fsprogs-devel Summary: The FS plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} %description fs The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to operations with file systems. %package fs-devel Summary: Development files for the libblockdev-fs plugin/library Requires: %{name}-fs%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description fs-devel This package contains header files and pkg-config files needed for development with the libblockdev-fs plugin/library. %endif %if %{with_loop} %package loop Summary: The loop plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} %description loop The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to loop devices. %package loop-devel Summary: Development files for the libblockdev-loop plugin/library Requires: %{name}-loop%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description loop-devel This package contains header files and pkg-config files needed for development with the libblockdev-loop plugin/library. %endif %if %{with_lvm} %package lvm BuildRequires: device-mapper-devel BuildRequires: libyaml-devel Summary: The LVM plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: lvm2 %description lvm The libblockdev library plugin (and in the same time a standalone library) providing the LVM-related functionality. %package lvm-devel Summary: Development files for the libblockdev-lvm plugin/library Requires: %{name}-lvm%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description lvm-devel This package contains header files and pkg-config files needed for development with the libblockdev-lvm plugin/library. %endif %if %{with_lvm_dbus} %package lvm-dbus BuildRequires: device-mapper-devel BuildRequires: libyaml-devel Summary: The LVM plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: lvm2-dbusd >= 2.02.156 %description lvm-dbus The libblockdev library plugin (and in the same time a standalone library) providing the LVM-related functionality utilizing the LVM DBus API. %package lvm-dbus-devel Summary: Development files for the libblockdev-lvm-dbus plugin/library Requires: %{name}-lvm-dbus%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description lvm-dbus-devel This package contains header files and pkg-config files needed for development with the libblockdev-lvm-dbus plugin/library. %endif %if %{with_mdraid} %package mdraid BuildRequires: libbytesize-devel Summary: The MD RAID plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: mdadm %description mdraid The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to MD RAID. %package mdraid-devel Summary: Development files for the libblockdev-mdraid plugin/library Requires: %{name}-mdraid%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description mdraid-devel This package contains header files and pkg-config files needed for development with the libblockdev-mdraid plugin/library. %endif %if %{with_mpath} %package mpath BuildRequires: device-mapper-devel Summary: The multipath plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Recommends: device-mapper-multipath %description mpath The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to multipath devices. %package mpath-devel Summary: Development files for the libblockdev-mpath plugin/library Requires: %{name}-mpath%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description mpath-devel This package contains header files and pkg-config files needed for development with the libblockdev-mpath plugin/library. %endif %if %{with_nvdimm} %package nvdimm BuildRequires: ndctl-devel BuildRequires: libuuid-devel Summary: The NVDIMM plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: ndctl %description nvdimm The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to operations with NVDIMM devices. %package nvdimm-devel Summary: Development files for the libblockdev-nvdimm plugin/library Requires: %{name}-nvdimm%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description nvdimm-devel This package contains header files and pkg-config files needed for development with the libblockdev-nvdimm plugin/library. %endif %if %{with_nvme} %package nvme BuildRequires: libnvme-devel BuildRequires: libuuid-devel Summary: The NVMe plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} %description nvme The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to operations with NVMe devices. %package nvme-devel Summary: Development files for the libblockdev-nvme plugin/library Requires: %{name}-nvme%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description nvme-devel This package contains header files and pkg-config files needed for development with the libblockdev-nvme plugin/library. %endif %if %{with_part} %package part BuildRequires: libfdisk-devel Summary: The partitioning plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: util-linux %description part The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to partitioning. %package part-devel Summary: Development files for the libblockdev-part plugin/library Requires: %{name}-part%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description part-devel This package contains header files and pkg-config files needed for development with the libblockdev-part plugin/library. %endif %if %{with_smart} %package smart BuildRequires: libatasmart-devel >= 0.17 Summary: The smart plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} %description smart The libblockdev library plugin (and in the same time a standalone library) providing S.M.A.R.T. monitoring and testing functionality, based on libatasmart. %package smart-devel Summary: Development files for the libblockdev-smart plugin/library Requires: %{name}-smart%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description smart-devel This package contains header files and pkg-config files needed for development with the libblockdev-smart plugin/library. %endif %if %{with_smartmontools} %package smartmontools BuildRequires: json-glib-devel Summary: The smartmontools plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: smartmontools >= 7.0 %description smartmontools The libblockdev library plugin (and in the same time a standalone library) providing S.M.A.R.T. monitoring and testing functionality, based on smartmontools. %package smartmontools-devel Summary: Development files for the libblockdev-smart plugin/library Requires: %{name}-smartmontools%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description smartmontools-devel This package contains header files and pkg-config files needed for development with the libblockdev-smart plugin/library. %endif %if %{with_swap} %package swap BuildRequires: libblkid-devel Summary: The swap plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: util-linux %description swap The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to swap devices. %package swap-devel Summary: Development files for the libblockdev-swap plugin/library Requires: %{name}-swap%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description swap-devel This package contains header files and pkg-config files needed for development with the libblockdev-swap plugin/library. %endif %if %{with_tools} %package tools Summary: Various nice tools based on libblockdev Requires: %{name} = %{version}-%{release} Requires: %{name}-lvm = %{version}-%{release} BuildRequires: libbytesize-devel BuildRequires: parted-devel %if %{with_lvm_dbus} == 1 Recommends: %{name}-lvm-dbus %endif %description tools Various nice storage-related tools based on libblockdev. %endif %ifarch s390 s390x %package s390 Summary: The s390 plugin for the libblockdev library Requires: %{name}-utils%{?_isa} = %{version}-%{release} Requires: s390utils %description s390 The libblockdev library plugin (and in the same time a standalone library) providing the functionality related to s390 devices. %package s390-devel Summary: Development files for the libblockdev-s390 plugin/library Requires: %{name}-s390%{?_isa} = %{version}-%{release} Requires: %{name}-utils-devel%{?_isa} = %{version}-%{release} Requires: glib2-devel %description s390-devel This package contains header files and pkg-config files needed for development with the libblockdev-s390 plugin/library. %endif %package plugins-all Summary: Meta-package that pulls all the libblockdev plugins as dependencies Requires: %{name}%{?_isa} = %{version}-%{release} %if %{with_btrfs} Requires: %{name}-btrfs%{?_isa} = %{version}-%{release} %endif %if %{with_crypto} Requires: %{name}-crypto%{?_isa} = %{version}-%{release} %endif %if %{with_dm} Requires: %{name}-dm%{?_isa} = %{version}-%{release} %endif %if %{with_fs} Requires: %{name}-fs%{?_isa} = %{version}-%{release} %endif %if %{with_loop} Requires: %{name}-loop%{?_isa} = %{version}-%{release} %endif %if %{with_lvm} Requires: %{name}-lvm%{?_isa} = %{version}-%{release} %endif %if %{with_mdraid} Requires: %{name}-mdraid%{?_isa} = %{version}-%{release} %endif %if %{with_mpath} Requires: %{name}-mpath%{?_isa} = %{version}-%{release} %endif %if %{with_nvdimm} Requires: %{name}-nvdimm%{?_isa} = %{version}-%{release} %endif %if %{with_nvme} Requires: %{name}-nvme%{?_isa} = %{version}-%{release} %endif %if %{with_part} Requires: %{name}-part%{?_isa} = %{version}-%{release} %endif %if %{with_smart} Requires: %{name}-smart%{?_isa} = %{version}-%{release} %endif %if %{with_smartmontools} Requires: %{name}-smartmontools%{?_isa} = %{version}-%{release} %endif %if %{with_swap} Requires: %{name}-swap%{?_isa} = %{version}-%{release} %endif %ifarch s390 s390x Requires: %{name}-s390%{?_isa} = %{version}-%{release} %endif %description plugins-all A meta-package that pulls all the libblockdev plugins as dependencies. %prep %autosetup -n libblockdev-3.1.1 -p1 %build autoreconf -ivf %configure %{?configure_opts} %{__make} %{?_smp_mflags} %install %{make_install} find %{buildroot} -type f -name "*.la" | xargs %{__rm} %ldconfig_scriptlets %ldconfig_scriptlets utils %if %{with_btrfs} %ldconfig_scriptlets btrfs %endif %if %{with_crypto} %ldconfig_scriptlets crypto %endif %if %{with_dm} %ldconfig_scriptlets dm %endif %if %{with_fs} %ldconfig_scriptlets fs %endif %if %{with_loop} %ldconfig_scriptlets loop %endif %if %{with_lvm} %ldconfig_scriptlets lvm %endif %if %{with_lvm_dbus} %ldconfig_scriptlets lvm-dbus %endif %if %{with_mdraid} %ldconfig_scriptlets mdraid %endif %if %{with_mpath} %ldconfig_scriptlets mpath %endif %if %{with_nvdimm} %ldconfig_scriptlets nvdimm %endif %if %{with_nvme} %ldconfig_scriptlets nvme %endif %if %{with_part} %ldconfig_scriptlets part %endif %if %{with_smart} %ldconfig_scriptlets smart %endif %if %{with_smartmontools} %ldconfig_scriptlets smartmontools %endif %if %{with_swap} %ldconfig_scriptlets swap %endif %ifarch s390 s390x %ldconfig_scriptlets s390 %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %{_libdir}/libblockdev.so.* %if %{with_gi} %{_libdir}/girepository*/BlockDev*.typelib %endif %dir %{_sysconfdir}/libblockdev %dir %{_sysconfdir}/libblockdev/3/conf.d %config %{_sysconfdir}/libblockdev/3/conf.d/00-default.cfg %files devel %{_libdir}/libblockdev.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/blockdev.h %{_includedir}/blockdev/plugins.h %{_libdir}/pkgconfig/blockdev.pc %if %{with_gtk_doc} %{_datadir}/gtk-doc/html/libblockdev %endif %if %{with_gi} %{_datadir}/gir*/BlockDev*.gir %endif %if %{with_python3} %files -n python3-blockdev %{python3_sitearch}/gi/overrides/BlockDev* %{python3_sitearch}/gi/overrides/__pycache__/BlockDev* %endif %files utils %{_libdir}/libbd_utils.so.* %files utils-devel %{_libdir}/libbd_utils.so %{_libdir}/pkgconfig/blockdev-utils.pc %dir %{_includedir}/blockdev %{_includedir}/blockdev/utils.h %{_includedir}/blockdev/sizes.h %{_includedir}/blockdev/exec.h %{_includedir}/blockdev/extra_arg.h %{_includedir}/blockdev/dev_utils.h %{_includedir}/blockdev/module.h %{_includedir}/blockdev/dbus.h %{_includedir}/blockdev/logging.h %if %{with_btrfs} %files btrfs %{_libdir}/libbd_btrfs.so.* %files btrfs-devel %{_libdir}/libbd_btrfs.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/btrfs.h %endif %if %{with_crypto} %files crypto %{_libdir}/libbd_crypto.so.* %files crypto-devel %{_libdir}/libbd_crypto.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/crypto.h %endif %if %{with_dm} %files dm %{_libdir}/libbd_dm.so.* %files dm-devel %{_libdir}/libbd_dm.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/dm.h %endif %if %{with_fs} %files fs %{_libdir}/libbd_fs.so.* %files fs-devel %{_libdir}/libbd_fs.so %dir %{_includedir}/blockdev %dir %{_includedir}/blockdev/fs %{_includedir}/blockdev/fs.h %{_includedir}/blockdev/fs/*.h %endif %if %{with_loop} %files loop %{_libdir}/libbd_loop.so.* %files loop-devel %{_libdir}/libbd_loop.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/loop.h %endif %if %{with_lvm} %files lvm %{_libdir}/libbd_lvm.so.* %files lvm-devel %{_libdir}/libbd_lvm.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/lvm.h %endif %if %{with_lvm_dbus} %files lvm-dbus %{_libdir}/libbd_lvm-dbus.so.* %config %{_sysconfdir}/libblockdev/3/conf.d/10-lvm-dbus.cfg %files lvm-dbus-devel %{_libdir}/libbd_lvm-dbus.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/lvm.h %endif %if %{with_mdraid} %files mdraid %{_libdir}/libbd_mdraid.so.* %files mdraid-devel %{_libdir}/libbd_mdraid.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/mdraid.h %endif %if %{with_mpath} %files mpath %{_libdir}/libbd_mpath.so.* %files mpath-devel %{_libdir}/libbd_mpath.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/mpath.h %endif %if %{with_nvdimm} %files nvdimm %{_libdir}/libbd_nvdimm.so.* %files nvdimm-devel %{_libdir}/libbd_nvdimm.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/nvdimm.h %endif %if %{with_nvme} %files nvme %{_libdir}/libbd_nvme.so.* %files nvme-devel %{_libdir}/libbd_nvme.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/nvme.h %endif %if %{with_part} %files part %{_libdir}/libbd_part.so.* %files part-devel %{_libdir}/libbd_part.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/part.h %endif %if %{with_smart} %files smart %{_libdir}/libbd_smart.so.* %files smart-devel %{_libdir}/libbd_smart.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/smart.h %endif %if %{with_smartmontools} %files smartmontools %{_libdir}/libbd_smartmontools.so.* %files smartmontools-devel %{_libdir}/libbd_smartmontools.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/smart.h %endif %if %{with_swap} %files swap %{_libdir}/libbd_swap.so.* %files swap-devel %{_libdir}/libbd_swap.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/swap.h %endif %if %{with_tools} %files tools %{_bindir}/lvm-cache-stats %{_bindir}/vfat-resize %endif %ifarch s390 s390x %files s390 %{_libdir}/libbd_s390.so.* %files s390-devel %{_libdir}/libbd_s390.so %dir %{_includedir}/blockdev %{_includedir}/blockdev/s390.h %endif %files plugins-all %changelog * Fri Aug 09 2024 Packit - 3.1.1-1.20240809081159604422.pr1047.135.g4682bf43 - tests: Add a simple test case for LUKS HW-OPAL support (Vojtech Trefny) - tests: No longer need to skip exfat UUID tests on Fedora (Vojtech Trefny) - crypto: Add support for creating new LUKS HW-OPAL devices (Vojtech Trefny) - crypto: Add information about HW encryption to BDCryptoLUKSInfo (Vojtech Trefny) - crypto: Add a function to wipe a LUKS HW-OPAL device (Vojtech Trefny) - crypto: Add a function to check for OPAL support for a device (Vojtech Trefny) - fs: Fix docstring for bd_fs_ext?_get_min_size functions (Vojtech Trefny) - part: Add human readable partition type to BDPartSpec (Vojtech Trefny) - crypto: Show error when trying using an invalid DM name (Vojtech Trefny) - nvme: Fix potential memory leak (Tomas Bzatek) - tests: Temporarily skip LVM VDO tests on RHEL/CentOS 10 (Vojtech Trefny) - misc: Add vdo to test dependencies on Fedora (Vojtech Trefny) - lvm: Get VDO stats from device mapper instead of /sys/kvdo (Vojtech Trefny) - lvm: Check for dm-vdo instead of kvdo module for VDO support (Vojtech Trefny) - infra: bump github/codeql-action from 2 to 3 (dependabot[bot]) - infra: bump actions/upload-artifact from 3 to 4 (dependabot[bot]) - infra: Add dependabot to automatically update GH actions (Vojtech Trefny) - part: Fix copy-paste bug in bd_part_spec_copy (Vojtech Trefny) - docs: Fix link to Python bindings documentation (Vojtech Trefny) - tests: Add more libatasmart skdump samples (Tomas Bzatek) - tests: Fix smartmontools plugin parsing of /dev/random (Tomas Bzatek) - tests: Adapt smart plugin tests for the added extra arguments (Tomas Bzatek) - smart: Add BDExtraArg arguments (Tomas Bzatek) - tests: Add bd_utils_exec_and_capture_output_no_progress() tests (Tomas Bzatek) - utils/exec: Add bd_utils_exec_and_capture_output_no_progress() (Tomas Bzatek) - tests: Skip exFAT UUID tests also on Fedora 39 (Vojtech Trefny) - ci: Run UDisks reverse dependency tests on pull requests (Vojtech Trefny) - utils/exec: Refactor extra args append out (Tomas Bzatek) - misc: Add kernel-modules-extra to test dependencies (Vojtech Trefny) - ci: Add a simple tmt test and run it via packit (Vojtech Trefny) - ci: Run Blivet reverse dependency tests on pull requests (Vojtech Trefny) - Add cache size ratio to the output of lvm-cache-stats (Vratislav Podzimek) - misc: Fix enabling source repositories on latest Ubuntu (Vojtech Trefny) - ci: Use Ubuntu 24.04 in GitHub actions (Vojtech Trefny) - fs: Fix ignoring errors from libext2fs (Vojtech Trefny) - fs: Ignore shift-count-overflow warning in FS plugin (Vojtech Trefny) - fs: Ignore unused-parameter warning in the FS plugin (Vojtech Trefny) - tests: Skip ExFAT UUID tests with recent exfatprogs (Vojtech Trefny) - tests: Split libatasmart and smartmontool tests (Tomas Bzatek) - smart: Rework libatasmart temperature reporting (Tomas Bzatek) - tests: Add SiliconPower SSD skdump reporting incorrect temp (Tomas Bzatek) - build: Install lvm.h when only lvm_dbus enabled (Tomas Bzatek) - smart: Use smartmontools drivedb.h for libatasmart validation (Tomas Bzatek) - smart: Implement bd_smart_ata_get_info_from_data() (Tomas Bzatek) - smart: Introduce new libatasmart plugin (Tomas Bzatek) - smart: Refactor and split into libbd_smartmontools (Tomas Bzatek) - smart: Introduce well-known attribute names, validation and pretty values (Tomas Bzatek) - smart: Remove the ATA low-power mode detection (Tomas Bzatek) - tests: Add SCSI SMART tests (Tomas Bzatek) - smart: Add SCSI/SAS status retrieval (Tomas Bzatek) - tests: Add tests for bd_smart_device_self_test() (Tomas Bzatek) - tests: Add tests for bd_smart_set_enabled() (Tomas Bzatek) - tests: Add SMART tests over supplied JSON dumps (Tomas Bzatek) - tests: Add basic SMART tests (Tomas Bzatek) - smart: Add bd_smart_device_self_test() (Tomas Bzatek) - smart: Add bd_smart_set_enabled() (Tomas Bzatek) - New SMART plugin (Tomas Bzatek) - utils: Check also for aliases in bd_utils_have_kernel_module (Vojtech Trefny) - Fix pylint possibly-used-before-assignment warning in BlockDev.py (Vojtech Trefny) - build: Fix linking with LLD (Michal Rostecki) - misc: Remove CentOS 8 Stream from Vagrantfile and test dependencies (Vojtech Trefny) - misc: Vagrantfile update (Vojtech Trefny) - tests: Skip filesystem tests if kernel module is not available (Vojtech Trefny) - ci: Fix bumping release for Packit builds (Vojtech Trefny) - ci: Get version for packit from the SPEC file (Vojtech Trefny) - tests: Fix running tests without ntfsprogs (Vojtech Trefny) - ci: Set custom release number for Packit (Vojtech Trefny) - Bump version to 3.1.1 (Vojtech Trefny) - utils: Clarify usage of version in bd_utils_check_util_version (Vojtech Trefny) - crypto: Fix double free in bd_crypto_luks_remove_key (Vojtech Trefny) - fixed md_create issue #1013 (guazhang) - lvm-dbus: Fix leaking error in bd_lvm_init (Vojtech Trefny) - lvm-dbus: Fix potential segfault in bd_lvm_init (Vojtech Trefny) - lvm-dbus: Fix passing size for pvresize over DBus (Vojtech Trefny) - nvme: Add bd_nvme_is_tech_avail to the API file (Vojtech Trefny) - tests: Add NVMe controller type checks (Tomas Bzatek) - tests: Add NVMe persistent discovery controller tests (Tomas Bzatek) - btrfs: make btrfs subvolume listing consistent (Jelle van der Waa) - crypto: Add support for conversion between different LUKS formats (Stepan Yakimovich) - tests: Fix removing custom LVM devices file (Vojtech Trefny) - tests: Ignore LVM devices file for non-LVM tests (Vojtech Trefny) - tests: Manually remove removed PVs from LVM devices file (Vojtech Trefny) - tests: introduce setup_test_device helper function (Jelle van der Waa) - tests: split multi device tests into a new testcase class (Jelle van der Waa) - dm_logging: Annotate redirect_dm_log() printf format (Tomas Bzatek) - Fix some more occurrences of missing port to G_GNUC_UNUSED (Tomas Bzatek) - Port to G_GNUC_INTERNAL for controlling symbols visibility (Tomas Bzatek) - Use glib2 G_GNUC_UNUSED in place of UNUSED locally defined (Giulio Benetti) - Makefile: Fix bumpver to work with micro versions (Vojtech Trefny) - Makefile: Do not include release in the tag (Vojtech Trefny) * Tue Mar 26 2024 Vojtech Trefny - 3.1.1-1 - lvm-dbus: Fix passing size for pvresize over DBus (vtrefny) - nvme: Add bd_nvme_is_tech_avail to the API file (vtrefny) - tests: Add NVMe controller type checks (tbzatek) - tests: Add NVMe persistent discovery controller tests (tbzatek) - tests: Fix removing custom LVM devices file (vtrefny) - tests: Ignore LVM devices file for non-LVM tests (vtrefny) - tests: Manually remove removed PVs from LVM devices file (vtrefny) - dm_logging: Annotate redirect_dm_log() printf format (tbzatek) - Fix some more occurrences of missing port to G_GNUC_UNUSED (tbzatek) - Port to G_GNUC_INTERNAL for controlling symbols visibility (tbzatek) - Use glib2 G_GNUC_UNUSED in place of UNUSED locally defined (giulio.benetti) - Makefile: Fix bumpver to work with micro versions (vtrefny) * Fri Jan 19 2024 Vojtech Trefny - 3.1.0-1 - tests: Skip some checks for btrfs errors with btrfs-progs 6.6.3 (vtrefny) - Fix missing progress initialization in bd_crypto_luks_add_key (vtrefny) - fs: Report reason for open() and ioctl() failures (tbzatek) - utils: Add expected printf string annotation (tbzatek) - lvm-dbus: Avoid using already-freed memory (tbzatek) - lvm-dbus: Fix leaking error (tbzatek) - python: Add a deepcopy function to our structs (vtrefny) - tests: Remove unreliable nvme attribute checks (tbzatek) - tests: Use BDPluginSpec constructor in LVM DBus plugin tests (vtrefny) - tests: Avoid setting up intermediary loop device for the nvme target (tbzatek) - tests: Default to /tmp for create_sparse_tempfile() (tbzatek) - part: Fix potential double free when getting parttype (vtrefny) - Mark NVDIMM plugin as deprecated since 3.1 (vtrefny) - tests: Remove some obsolete rules to skip tests (vtrefny) - fs: Add support for getting filesystem min size for NTFS and Ext (vtrefny) - fs: Fix allowed UUID for generic mkfs with VFAT (vtrefny) - fs: Add a generic function to check for fs info availability (vtrefny) - fs: Add a function to check label format for F2FS (vtrefny) - swap: Add support for checking label and UUID format (vtrefny) - ci: Remove the custom version command for Packit (vtrefny) - ci: Manually prepare spec file for Packit (vtrefny) - overrides: Remove unused 'sys' import (vtrefny) - Add BDPluginSpec constructor and use it in plugin_specs_from_names (vtrefny) - Sync spec with downstream (vtrefny) - ci: Add an action to compile libblockdev with different compilers (vtrefny) * Fri Oct 13 2023 Vojtech Trefny - 3.0.4-1 - tests: Fix "invalid escape sequence '\#'" warning from Python 3.12 (vtrefny) - tests: Fail early when recompilation fails in library_test (vtrefny) - lvm-dbus: Replace g_critical calls with bd_utils_log_format (vtrefny) - Use log function when calling a plugin function that is not loaded (vtrefny) - logging: Default to DEBUG log level if compiled with --enable-debug (vtrefny) - nvme: Rework memory allocation for device ioctls (tbzatek) - packit: Add configuration for downstream builds (vtrefny) - fs: correct btrfs set label description (jvanderwaa) - fs: Disable progress for ntfsresize (vtrefny) - part: Do not open disk read-write for read only operations (vtrefny) - ci: Bump actions/checkout from v3 to v4 (vtrefny) - plugins: btrfs: use g_autofree where possible for g_free (jvanderwaa) - plugins: use g_autofree for free'ing g_char's (jvanderwaa) - spec: Move obsoleted devel subpackages to libblockdev-devel (vtrefny) - spec: Obsolete vdo plugin packages (vtrefny) * Wed Sep 06 2023 Vojtech Trefny - 3.0.3-2 - Obsolete vdo plugin packages (#2237477) * Thu Aug 31 2023 Vojtech Trefny - 3.0.3-1 - crypto: Correctly convert passphrases from Python to C (vtrefny) - tests: Minor NVMe HostNQN fixes (tbzatek) - nvme: Generate HostID when missing (tbzatek) - Always use "--fs ignore" with lvresize (mvollmer) - nvme: Use interim buffer for nvme_get_log_sanitize() (tbzatek) - fs: Fix memory leak (vtrefny) - fs: Fix leaking directories with temporary mounts (vtrefny) - tests: Specificy required versions when importing GLib and BlockDev introspection (biebl) - tests: Replace deprecated unittest assert calls (vtrefny) * Thu Jul 20 2023 Vojtech Trefny - 3.0.2-1 - fs: Avoid excess logging in extract_e2fsck_progress (vtrefny) - loop: Report BD_LOOP_ERROR_DEVICE on empty loop devices (tbzatek) - lib: Silence the missing DEFAULT_CONF_DIR_PATH (tbzatek) - fs: Document that generic functions can mount filesystems (vtrefny) - fs: Use read-only mount where possible for generic FS functions (vtrefny) - docs: Fix test quotation (marecki) - fs: Fix unused error in extract_e2fsck_progress (vtrefny) - Use ntfsinfo instead of ntfscluster for faster bd_fs_ntfs_get_info (amubtdx) - Restrict list of exported symbols via -export-symbols-regex (biebl) - Fix formatting in NEWS.rst (vtrefny) * Tue Jul 04 2023 Python Maint - 3.0.1-2 - Rebuilt for Python 3.12 * Tue Jul 04 2023 Vojtech Trefny - 3.0.1-1 - fs: Simplify struct BDFSInfo (tbzatek) - boilerplate_generator: Annotate stub func args as G_GNUC_UNUSED (tbzatek) - crypto: Remove stray struct redefinition (tbzatek) - loop: Remove unused variable (tbzatek) - build: Exit before AC_OUTPUT on error (tbzatek) - loop: define LOOP_SET_BLOCK_SIZE is not defined (giulio.benetti) - Make the conf.d directory versioned (vtrefny) - configure: Fix MAJOR_VER macro (vtrefny) - spec: Add dependency on libblockdev-utils to the s390 plugin (vtrefny) - nvme: Mark private symbols as hidden (tbzatek) - dist: Sync spec with downstream (vtrefny) - misc: Update steps and Dockerfile for Python documentation (vtrefny) - fs: Add missing copy and free functions to the header file (vtrefny) - lvm: Add bd_lvm_segdata_copy/free to the header file (vtrefny) - loop: Remove bd_loop_get_autoclear definition (vtrefny) - lvm: Fix declaration for bd_lvm_vdolvpoolname (vtrefny) - lvm: Make _vglock_start_stop static (vtrefny) - vdo_stats: Remove unused libparted include (vtrefny) * Thu Jun 29 2023 Python Maint - 3.0-2 - Rebuilt for Python 3.12 * Fri Jun 23 2023 Vojtech Trefny - 3.0-1 - Libblockdev 3.0 release