Sync from SUSE:SLFO:Main libblockdev revision 915bb65c1f3212fc390b28c5955df073

This commit is contained in:
Adrian Schröter 2024-05-03 14:36:08 +02:00
commit d38940a624
5 changed files with 968 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
libblockdev-2.28.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
Index: src/plugins/kbd.c
--- a/src/plugins/kbd.c
+++ b/src/plugins/kbd.c
@@ -17,07 +17,07 @@
* Author: Vratislav Podzimek <vpodzime@redhat.com>
*/
-#include <libkmod.h>
+#include <kmod/libkmod.h>
#include <string.h>
#include <syslog.h>
#include <glob.h>
--

267
libblockdev.changes Normal file
View File

@ -0,0 +1,267 @@
-------------------------------------------------------------------
Fri Oct 7 12:08:15 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 2.28:
* lvm: Fix bd_lvm_get_supported_pe_sizes in Python on 32bit
* tests: Create bigger devices for XFS tests
* tests: Use ext instead of xfs in MountTestCase.test_mount_ro_device
* mpath: Memory leak fix
* spec: Require the same version utils from plugins
* mdraid: Try harder to get container UUID in bd_md_detail
* Add a test case for DDF arrays/containers
* mdraid: Do not ignore errors from bd_md_canonicalize_uuid in bd_md_examine
* mdraid: Try harder to get container UUID in bd_md_examine
* mdraid: Fix copy-paste error when checking return value
* tests: Wait for raid and mirrored LVs to be synced before removing
* tests: Make smaller images for test_lvcreate_type
* dm: Fix comparing DM RAID member devices UUID
* mdraid: Fix use after free
* ci: Add .lgtm.yaml config for LGTM
* ci: Add GitHub actions for running rpmbuilds and csmock
* mpath: Fix potential NULL pointer dereference
-------------------------------------------------------------------
Wed Jul 27 18:01:59 UTC 2022 - Sarah Kriesch <sarah.kriesch@opensuse.org>
- Update to version 2.27:
+ Fix for s390x: Remove double fclose in bd_s390_dasd_online
+ fs: Return BD_FS_ERROR_UNKNOWN_FS on mounting unknown
filesystem
+ overrides: Fix translating exceptions in ErrorProxy
+ vdo_stats: Default to 100 % savings for invalid savings values
+ lvm-dbus: Add support for changing compression and
deduplication
+ lvm:
- Fix reading statistics for VDO pools with VDO 8
- Do not set global config to and empty string
- Do not include duplicate entries in bd_lvm_lvs output
- Use correct integer type in for comparison
+ crypto: Remove useless comparison in progress report in
luks_format
-------------------------------------------------------------------
Thu Jan 27 17:26:35 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Stop packaging deprecated libbd_vdo2 and libbd_vdo-devel, via
passing without-vdo to configure. Also add Obsoletes for both
packages aswell as the 2 alternative package names they provided.
Standalone vdo modules are deprecated in udisks2 since version
2.9.0, and we have stopped building them there, and udisks2 was
the only known consumer of libblockdevs vdo support, stop
building them here also.
-------------------------------------------------------------------
Tue Jan 18 13:06:33 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Remove unnecessary dependency of libbd_part2 on multipath-tools
(bsc#1194771)
-------------------------------------------------------------------
Thu Nov 18 23:58:04 UTC 2021 - Luciano Santos <luc14n0@linuxmail.org>
- Fix lack of dependency on libblockdev-lvm needed by libblockdev
package. The lvm-cache-stats binary needs the logical volume
plugin to work (boo#1183948).
-------------------------------------------------------------------
Sun Nov 14 16:20:46 UTC 2021 - Luciano Santos <luc14n0@linuxmail.org>
- Update to version 2.26:
+ Fixes:
- Deprecated glib function call;
- Build with LLVM/clang;
- Many memory leaks;
- Many tests.
- Fix dbus.h being wrongly packaged in libbd_lvm-dbus-devl instead
of libbd_utils-devel (boo#1189787).
-------------------------------------------------------------------
Fri Mar 26 08:34:04 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Add -Wno-deprecated-declarations to cflags: dealing with
deprecations is upstreams business and should not hinder
downstream packages from building.
-------------------------------------------------------------------
Wed Jan 20 08:14:59 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 2.25:
* exec: Fix polling for stdout and stderr
* exec: Use non-blocking read and process the buffer manually
* exec: Clarify the BDUtilsProgExtract callback documentation
* tests: Add bufferbloat exec tests
* tests: Add null-byte exec tests
* lvm: Fix bd_lvm_vdopooldata_* symbols
* exec: Fix setting locale for util calls
* fs: Do not report error when errors were fixed by e2fsck
* README: Use CI status image for 2.x-branch on 2.x
* fs: Fix compile error in ext_repair caused by cherry pick from
master
* Mark all GIR file constants as guint64
* lvm: Set thin metadata limits to match limits LVM uses in
lvcreate
* lvm: Do not use thin_metadata_size to recommend thin metadata
size
* lvm: Use the UNUSED macro instead of __attribute__((unused))
* Fix max size limit for LVM thinpool metadata
* loop: Retry LOOP_SET_STATUS64 on EAGAIN
-------------------------------------------------------------------
Thu Aug 20 22:11:53 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- udpate to 2.24:
* VDO plugin has been deprecated in this release (functionality
replaced by LVM VDO)
* support for creating and managing LVM VDO volumes added
* support for unlocking of BitLocker-compatible format BITLK
added
* new functions for (un)freezing filesystems added
* test suite can now be run against installed version of
libblockdev
-------------------------------------------------------------------
Tue Feb 4 09:35:28 UTC 2020 - Thomas Blume <thomas.blume@suse.com>
- fix files directive for s390 in specfile
-------------------------------------------------------------------
Thu Sep 17 10:48:00 UTC 2019 - Heming Zhao <heming.zhao@suse.com>
- lvm2-clvm doesn't exist in lvm2-2.03, so change SPEC file
libbd_lvm-dbus requires from lvm2-clvm to lvm2
-------------------------------------------------------------------
Thu Jun 13 18:10:22 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.22:
+ New minor release of the libblockdev library with multiple
fixes.
+ nvdimm: New function for getting list of supported sector sizes
for namespaces fixes.
+ Multiple memory leaks fixed.
- Changes from version 2.21:
+ crypto: Default key size for LUKS was changed to 512bit.
+ tools:
- New simple cli tools that use libblockdev.
- First tool is lvm-cache-stats for displaying stats for LVM
cache devices.
- Use configure option --without-tools to disable building
these.
- Package new cli tool in main package, should possibly be moved
into own sub-package in the future.
-------------------------------------------------------------------
Wed Feb 13 17:52:44 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Explain VDO. Fix grammar mishaps.
-------------------------------------------------------------------
Thu Jan 24 22:51:52 UTC 2019 - bjorn.lie@gmail.com
- Add pkgconfig(yaml-0.1) BuildRequires and pass with-vdo instead
of without-vdo to configure, build vdo support.
- Following the above, add new sub-packages libbd_vdo2 and
libbd_vdo-devel, aswell as handle the new library in post(un).
-------------------------------------------------------------------
Fri Jan 11 20:28:13 UTC 2019 - bjorn.lie@gmail.com
- Add pkgconfig(dbus-1) BuildRequires: Add missing BuildRequires,
libblockdev needs dbus headerfiles during build, but configure
does not check for it.
-------------------------------------------------------------------
Mon Nov 19 15:23:30 UTC 2018 - luc14n0@linuxmail.org
- Update to version 2.20:
+ Fixes:
- Fix parsing extra arguments for LVM methods calls in the LVM
DBus plugin;
- Multiple fixes for running tests on Debian testing.
+ Development: Vagrantfile template was added for easy
development machine setup.
- Changes from version 2.19:
+ Features:
- vdo: new functions to get statistical data for existing VDO
volumes (bd_vdo_get_stats);
- crypto: support for passing extra arguments for key
derivation function when creating LUKS2 format.
-------------------------------------------------------------------
Thu Jun 28 03:22:34 UTC 2018 - luc14n0@linuxmail.org
- Update to version 2.18:
+ New plugin: vdo, support for creating and managing VDO volumes.
-------------------------------------------------------------------
Fri May 4 02:53:53 UTC 2018 - luc14n0@linuxmail.org
- Update to version 2.17:
+ New plugin: nvdimm, support for NVDIMM namespaces management;
+ LUKS2 support for creating LUKS2 format including authenticated
disk encryption. Multiple new functions for working with LUKS
devices (suspend/resume, header backup, metadata size...);
+ Extended support for opening TrueCrypt/VeraCrypt volumes.
- Drop pkgconfig(nss) and libvolume_key-devel BuildRequires now
that they are optional and pass without-escrow to configure:
libvolume_key's code is ancient and nearly dead upstream.
-------------------------------------------------------------------
Wed Mar 28 03:13:10 UTC 2018 - luc14n0@linuxmail.org
- Resplit plugins to avoid pulling clusterlvm support by default
into the dependency chain (bsc#1086447).
-------------------------------------------------------------------
Mon Mar 5 23:28:39 UTC 2018 - luc14n0@linuxmail.org
- Move all plugins into the shared library subpackage and their
respective development files into the devel one.
- Add '-only' to LGPL License tag to comply with SPDX 3.0.
-------------------------------------------------------------------
Wed Feb 21 23:40:34 UTC 2018 - luc14n0@linuxmail.org
- Update to version 2.16:
* Features:
- LUKS 2 support for luks_open/close and
luks_add/remove/change_key.
- Progress report support for ext filesystem checks.
- Changes from version 2.15:
* Features:
- The file system plugin is now split into multiple source
files making it easier to add support for more file systems
and technologies.
* Fixes:
- How GPT patition flags are set;
- Check the btrfs module availability as part of checking the
btrfs plugin's dependencies;
- Memory leaks in bd_fs_vfat_get_info();
- The file system plugin's dependency checking mechanisms.
- Add libblockdev-fix-libkmod-include.patch as openSUSE doesn't use
/usr/include/ but /usr/include/kmod to place libkmod.h.
- Conditionalize the use of Python 2's bindings and turn it off
defaulting Python 3.
- Drop s390's plugin due to the lack of a file still not present
in s390-tools package.
- Drop BuildRoot tag since RPM already handles this itself.
-------------------------------------------------------------------
Thu Jan 18 23:26:58 UTC 2018 - jengelh@inai.de
- Remove excess Provides, BuildRequires and %ifs.
- Fix %description line mismatch for s390x parts.
-------------------------------------------------------------------
Tue Nov 28 22:38:39 UTC 2017 - luc14n0@linuxmail.org
- Initial package, version 2.14:
* Features:
- Added function to get DM device subsystem.
- Support for the NTFS file system.
- pkg-config definitions improvements.
* Fixes:
- Fix BSSize memory leaks.
- Fixes for issues discovered by coverity.
- Support for the 'Legacy boot' GPT flag.

661
libblockdev.spec Normal file
View File

@ -0,0 +1,661 @@
#
# spec file for package libblockdev
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define bcachetools_version 1.0.8
%define somajor 2
%define libname %{name}%{somajor}
%bcond_with python2
Name: libblockdev
Version: 2.28
Release: 0
Summary: A library for low-level manipulation with block devices
License: LGPL-2.1-only
Group: Development/Libraries/C and C++
URL: https://github.com/storaged-project/libblockdev
Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}-1/libblockdev-%{version}.tar.gz
# PATCH-FIX-OPENSUSE libblockdev-fix-libkmod-include.patch luc14n0@linuxmail.org -- openSUSE's libkmod.h file location is not under the expected /usr/include directory but /usr/include/kmod.
Patch0: libblockdev-fix-libkmod-include.patch
BuildRequires: dmraid-devel
BuildRequires: gobject-introspection-devel >= 1.3.0
BuildRequires: gtk-doc
BuildRequires: pkgconfig
%{?with_python2:BuildRequires: python-devel}
BuildRequires: python3-devel
# There is a s390x plugin that, until vtoc.h is provided, can't be added.
#BuildRequires: s390-tools-devel
BuildRequires: pkgconfig(blkid) >= 2.23.0
BuildRequires: pkgconfig(bytesize) >= 0.1
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(devmapper) >= 1.02.93
BuildRequires: pkgconfig(gio-2.0) >= 2.42.2
BuildRequires: pkgconfig(glib-2.0) >= 2.42.2
BuildRequires: pkgconfig(gobject-2.0) >= 2.42.2
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.7
BuildRequires: pkgconfig(libkmod) >= 19
BuildRequires: pkgconfig(libparted) >= 3.1
BuildRequires: pkgconfig(libudev) >= 216
BuildRequires: pkgconfig(mount) >= 2.23.0
BuildRequires: pkgconfig(yaml-0.1)
Requires: %{libname} >= %{version}
### lvm-cache-stats binary needs LVM's plugin to work (boo#1183948) ###
Requires: libblockdev-lvm >= %{version}
%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 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 -n %{libname}
Summary: A library for low-level manipulation with block devices
Group: System/Libraries
Obsoletes: libbd_vdo2 <= 2.26
Obsoletes: libblockdev-vdo <= 2.26
%description -n %{libname}
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 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 -n typelib-1_0-BlockDev-2_0
Summary: Introspection bindings for the LibBlockDev library
Group: System/Libraries
%description -n typelib-1_0-BlockDev-2_0
This package provides the GObject Introspection bindings for LibBlockDev, which
provides low-level manipulation of block devices.
%package devel
Summary: Development files for the LibBlockDev library
Group: Development/Libraries/C and C++
Requires: %{libname} >= %{version}
Requires: glib2-devel
Obsoletes: libbd_vdo-devel <= 2.26
Obsoletes: libblockdev-vdo-devel <= 2.26
%description devel
This package provides header files, pkg-config modules and API documentation needed for
development with the LibBlockDev library.
%package -n python2-%{name}
Summary: Python2 gobject-introspection bindings for the LibBlockDev library
Group: Development/Libraries/Python
Requires: %{libname} >= %{version}
Requires: python2-gobject
%description -n python2-%{name}
This package contains enhancements to the gobject-introspection bindings for
LibBlockDev in Python2.
%package -n python3-%{name}
Summary: Python3 gobject-introspection bindings for the LibBlockDev library
Group: Development/Libraries/Python
Requires: %{libname} >= %{version}
Requires: python3-gobject
%description -n python3-%{name}
This package contains enhancements to the gobject-introspection bindings for
LibBlockDev in Python3.
%package -n libbd_btrfs%{somajor}
Summary: The BTRFS plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{version}
Provides: libblockdev-btrfs = %{version}
%description -n libbd_btrfs%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides BTRFS-related functionality.
%package -n libbd_btrfs-devel
Summary: Development files for the libbd_btrfs plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_btrfs%{somajor} >= %{version}
Requires: libbd_utils-devel
Provides: libblockdev-btrfs-devel = %{version}
%description -n libbd_btrfs-devel
This package contains header files and pkg-config files needed for development
with the libbd_btrfs plugin/library.
%package -n libbd_crypto%{somajor}
Summary: The crypto plugin for the LibBlockDev library
Group: System/Libraries
Provides: libblockdev-crypto = %{version}
%description -n libbd_crypto%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to LUKS-style encrypted devices.
%package -n libbd_crypto-devel
Summary: Development files for the libbd_crypto plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_crypto%{somajor} >= %{version}
Provides: libblockdev-crypto-devel = %{version}
%description -n libbd_crypto-devel
This package contains header files and pkg-config files needed for development
with the libbd_crypto plugin/library..
%package -n libbd_dm%{somajor}
Summary: The Device Mapper plugin for the LibBlockDev library
Group: System/Libraries
Requires: device-mapper
Requires: dmraid
Requires: libbd_utils%{somajor} >= %{version}
Provides: libblockdev-dm = %{version}
%description -n libbd_dm%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to Device Mapper.
%package -n libbd_dm-devel
Summary: Development files for the libbd_dm plugin/library
Group: Development/Libraries/C and C++
Requires: device-mapper-devel
Requires: dmraid-devel
Requires: glib2-devel
Requires: libbd_dm%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: systemd-devel
Provides: libblockdev-dm-devel = %{version}
%description -n libbd_dm-devel
This package contains header files and pkg-config files needed for development
with the libbd_dm plugin/library..
%package -n libbd_fs%{somajor}
Summary: The FS plugin for the LibBlockDev library
Group: System/Libraries
Requires: device-mapper
Requires: libbd_utils%{somajor} >= %{version}
Provides: libblockdev-fs = %{version}
%description -n libbd_fs%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to operations with file systems.
%package -n libbd_fs-devel
Summary: Development files for the libbd_fs plugin/library
Group: Development/Libraries/C and C++
Requires: dosfstools
Requires: glib2-devel
Requires: libbd_fs%{somajor} >= %{version}
Requires: libbd_utils-devel
Requires: xfsprogs
Provides: libblockdev-fs-devel = %{version}
%description -n libbd_fs-devel
This package contains header files and pkg-config files needed for development
with the libbd_fs plugin/library..
%package -n libbd_kbd%{somajor}
Summary: The KBD plugin for the LibBlockDev library
Group: System/Libraries
Requires: bcache-tools >= %{bcachetools_version}
Requires: libbd_utils%{somajor} >= %{version}
Provides: libblockdev-kbd = %{version}
%description -n libbd_kbd%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to kernel block devices, namely zRAM and
Bcache.
%package -n libbd_kbd-devel
Summary: Development files for the libbd_kbd plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_kbd%{somajor} >= %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-kbd-devel = %{version}
%description -n libbd_kbd-devel
This package contains header files and pkg-config files needed for development
with the libbd_kbd plugin/library..
%package -n libbd_loop%{somajor}
Summary: The loop plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{version}
Provides: libblockdev-loop = %{version}
%description -n libbd_loop%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to loop devices.
%package -n libbd_loop-devel
Summary: Development files for the libblockdev-loop plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_loop%{somajor} = %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-loop-devel = %{version}
%description -n libbd_loop-devel
This package contains header files and pkg-config files needed for development
with the libbd_loop plugin/library.
%package -n libbd_lvm%{somajor}
Summary: The LVM plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{version}
Requires: lvm2
# For thin_metadata_size.
Requires: thin-provisioning-tools
Provides: libblockdev-lvm = %{version}
%description -n libbd_lvm%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides LVM-related functionality.
%package -n libbd_lvm-devel
Summary: Development files for the libblockdev-lvm plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_lvm%{somajor} = %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-lvm-devel = %{version}
%description -n libbd_lvm-devel
This package contains header files and pkg-config files needed for development
with the libbd_lvm plugin/library.
%package -n libbd_lvm-dbus%{somajor}
Summary: The LVM plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{version}
Requires: lvm2
# For thin_metadata_size.
Requires: thin-provisioning-tools
Provides: libblockdev-lvm-dbus = %{version}
%description -n libbd_lvm-dbus%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides LVM-related functionality utilizing the LVM DBus API.
%package -n libbd_lvm-dbus-devel
Summary: Development files for the libblockdev-lvm-dbus plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_lvm-dbus%{somajor} = %{version}
Requires: libbd_lvm-devel >= %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-lvm-dbus-devel = %{version}
%description -n libbd_lvm-dbus-devel
This package contains header files and pkg-config files needed for development
with the libbd_lvm-dbus plugin/library.
%package -n libbd_mdraid%{somajor}
Summary: The MD RAID plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{version}
Requires: mdadm
Provides: libblockdev-mdraid = %{version}
%description -n libbd_mdraid%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to MD RAID.
%package -n libbd_mdraid-devel
Summary: Development files for the libblockdev-mdraid plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_mdraid%{somajor} = %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-mdraid-devel = %{version}
%description -n libbd_mdraid-devel
This package contains header files and pkg-config files needed for development
with the libbd_mdraid plugin/library.
%package -n libbd_mpath%{somajor}
Summary: The multipath plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{version}
Requires: multipath-tools
Provides: libblockdev-mpath = %{version}
%description -n libbd_mpath%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to multipath devices.
%package -n libbd_mpath-devel
Summary: Development files for the libblockdev-mpath plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_mpath%{somajor} = %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-mpath-devel = %{version}
%description -n libbd_mpath-devel
This package contains header files and pkg-config files needed for development
with the libbd_mpath plugin/library.
%package -n libbd_part%{somajor}
Summary: The partitioning plugin for the LibBlockDev library
Group: System/Libraries
Requires: gptfdisk
Requires: libbd_utils%{somajor} >= %{version}
Requires: util-linux
Provides: libblockdev-part = %{version}
%description -n libbd_part%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to partitioning.
%package -n libbd_part-devel
Summary: Development files for the libblockdev-part plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_part%{somajor} = %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-part-devel = %{version}
%description -n libbd_part-devel
This package contains header files and pkg-config files needed for development
with the libbd_part plugin/library.
%package -n libbd_swap%{somajor}
Summary: The swap plugin for the LibBlockDev library
Group: System/Libraries
Requires: libbd_utils%{somajor} >= %{version}
Requires: util-linux
Provides: libblockdev-swap = %{version}
%description -n libbd_swap%{somajor}
This LibBlockDev library plugin (and, at the same time, a standalone library)
provides functionality related to swap devices.
%package -n libbd_swap-devel
Summary: Development files for the libblockdev-swap plugin/library
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_swap%{somajor} = %{version}
Requires: libbd_utils-devel >= %{version}
Provides: libblockdev-swap-devel = %{version}
%description -n libbd_swap-devel
This package contains header files and pkg-config files needed for development
with the libbd_swap plugin/library.
%package -n libbd_utils%{somajor}
Summary: Utility functions library for the LibBlockDev library
Group: System/Libraries
%description -n libbd_utils%{somajor}
libbd_utils is a library providing utility functions used by the
LibBlockDev library and its plugins.
%package -n libbd_utils-devel
Summary: Development files for libbd_utils
Group: Development/Libraries/C and C++
Requires: glib2-devel
Requires: libbd_utils%{somajor} >= %{version}
%description -n libbd_utils-devel
This package contains header files and pkg-config files needed for development
with the libbd_utils library.
%prep
%autosetup -p1
%build
export CFLAGS="%{optflags} -Wno-deprecated-declarations"
%configure \
--disable-static \
--enable-introspection \
--with-bcache \
--with-btrfs \
--with-crypto \
--with-dm \
--with-dmraid \
--with-fs \
--with-gtk-doc \
--with-kbd \
--with-loop \
--with-lvm \
--with-lvm_dbus \
--with-mdraid \
--with-mpath \
--with-part \
--with-swap \
--without-vdo \
--without-escrow \
--without-nvdimm \
%{nil}
%make_build
%install
%make_install
find %{buildroot} -name "*.la" -print -type f -delete
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%post -n libbd_btrfs%{somajor} -p /sbin/ldconfig
%postun -n libbd_btrfs%{somajor} -p /sbin/ldconfig
%post -n libbd_crypto%{somajor} -p /sbin/ldconfig
%postun -n libbd_crypto%{somajor} -p /sbin/ldconfig
%post -n libbd_dm%{somajor} -p /sbin/ldconfig
%postun -n libbd_dm%{somajor} -p /sbin/ldconfig
%post -n libbd_fs%{somajor} -p /sbin/ldconfig
%postun -n libbd_fs%{somajor} -p /sbin/ldconfig
%post -n libbd_kbd%{somajor} -p /sbin/ldconfig
%postun -n libbd_kbd%{somajor} -p /sbin/ldconfig
%post -n libbd_loop%{somajor} -p /sbin/ldconfig
%postun -n libbd_loop%{somajor} -p /sbin/ldconfig
%post -n libbd_lvm%{somajor} -p /sbin/ldconfig
%postun -n libbd_lvm%{somajor} -p /sbin/ldconfig
%post -n libbd_lvm-dbus%{somajor} -p /sbin/ldconfig
%postun -n libbd_lvm-dbus%{somajor} -p /sbin/ldconfig
%post -n libbd_mdraid%{somajor} -p /sbin/ldconfig
%postun -n libbd_mdraid%{somajor} -p /sbin/ldconfig
%post -n libbd_mpath%{somajor} -p /sbin/ldconfig
%postun -n libbd_mpath%{somajor} -p /sbin/ldconfig
%post -n libbd_part%{somajor} -p /sbin/ldconfig
%postun -n libbd_part%{somajor} -p /sbin/ldconfig
%post -n libbd_swap%{somajor} -p /sbin/ldconfig
%postun -n libbd_swap%{somajor} -p /sbin/ldconfig
%post -n libbd_utils%{somajor} -p /sbin/ldconfig
%postun -n libbd_utils%{somajor} -p /sbin/ldconfig
%files
%dir %{_sysconfdir}/libblockdev
%dir %{_sysconfdir}/libblockdev/conf.d
%config %{_sysconfdir}/libblockdev/conf.d/00-default.cfg
%{_bindir}/lvm-cache-stats
%files -n %{libname}
%license LICENSE
%{_libdir}/libblockdev.so.%{somajor}*
%ifarch s390x
%{_libdir}/libbd_s390.so*
%endif
%files -n typelib-1_0-BlockDev-2_0
%{_libdir}/girepository-1.0/BlockDev-2.0.typelib
%files devel
%doc features.rst specs.rst
%doc %{_datadir}/gtk-doc/html/libblockdev
%{_libdir}/libblockdev.so
%{_libdir}/pkgconfig/blockdev.pc
%{_datadir}/gir-1.0/BlockDev-2.0.gir
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/blockdev.h
%{_includedir}/blockdev/plugins.h
%ifarch s390x
%{_includedir}/blockdev/s390.h
%endif
%if %{with python2}
%files -n python2-%{name}
%dir %{python2_sitearch}/gi
%dir %{python2_sitearch}/gi/overrides
%{python2_sitearch}/gi/overrides/BlockDev.py
%endif
%files -n python3-%{name}
%dir %{python3_sitearch}/gi
%dir %{python3_sitearch}/gi/overrides
%{python3_sitearch}/gi/overrides/BlockDev.py
%files -n libbd_btrfs%{somajor}
%{_libdir}/libbd_btrfs.so.%{somajor}*
%files -n libbd_btrfs-devel
%{_libdir}/libbd_btrfs.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/btrfs.h
%files -n libbd_crypto%{somajor}
%{_libdir}/libbd_crypto.so.%{somajor}*
%files -n libbd_crypto-devel
%{_libdir}/libbd_crypto.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/crypto.h
%files -n libbd_dm%{somajor}
%{_libdir}/libbd_dm.so.%{somajor}*
%files -n libbd_dm-devel
%{_libdir}/libbd_dm.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/dm.h
%files -n libbd_fs%{somajor}
%{_libdir}/libbd_fs.so.%{somajor}*
%files -n libbd_fs-devel
%{_libdir}/libbd_fs.so
%dir %{_includedir}/blockdev
%dir %{_includedir}/blockdev/fs
%{_includedir}/blockdev/fs.h
%{_includedir}/blockdev/fs/ext.h
%{_includedir}/blockdev/fs/generic.h
%{_includedir}/blockdev/fs/mount.h
%{_includedir}/blockdev/fs/ntfs.h
%{_includedir}/blockdev/fs/vfat.h
%{_includedir}/blockdev/fs/xfs.h
%files -n libbd_kbd%{somajor}
%{_libdir}/libbd_kbd.so.%{somajor}*
%files -n libbd_kbd-devel
%{_libdir}/libbd_kbd.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/kbd.h
%files -n libbd_loop%{somajor}
%{_libdir}/libbd_loop.so.%{somajor}*
%files -n libbd_loop-devel
%{_libdir}/libbd_loop.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/loop.h
%files -n libbd_lvm%{somajor}
%{_libdir}/libbd_lvm.so.%{somajor}*
%files -n libbd_lvm-devel
%{_libdir}/libbd_lvm.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/lvm.h
%files -n libbd_lvm-dbus%{somajor}
%{_libdir}/libbd_lvm-dbus.so.%{somajor}*
%config %{_sysconfdir}/libblockdev/conf.d/10-lvm-dbus.cfg
%files -n libbd_lvm-dbus-devel
%{_libdir}/libbd_lvm-dbus.so
%files -n libbd_mdraid%{somajor}
%{_libdir}/libbd_mdraid.so.%{somajor}*
%files -n libbd_mdraid-devel
%{_libdir}/libbd_mdraid.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/mdraid.h
%files -n libbd_mpath%{somajor}
%{_libdir}/libbd_mpath.so.%{somajor}*
%files -n libbd_mpath-devel
%{_libdir}/libbd_mpath.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/mpath.h
%files -n libbd_part%{somajor}
%{_libdir}/libbd_part.so.%{somajor}*
%files -n libbd_part-devel
%{_libdir}/libbd_part.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/part.h
%files -n libbd_swap%{somajor}
%{_libdir}/libbd_swap.so.%{somajor}*
%files -n libbd_swap-devel
%{_libdir}/libbd_swap.so
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/swap.h
%files -n libbd_utils%{somajor}
%{_libdir}/libbd_part_err.so.%{somajor}*
%{_libdir}/libbd_utils.so.%{somajor}*
%files -n libbd_utils-devel
%{_libdir}/libbd_utils.so
%{_libdir}/libbd_part_err.so
%{_libdir}/pkgconfig/blockdev-utils.pc
%dir %{_includedir}/blockdev
%{_includedir}/blockdev/dbus.h
%{_includedir}/blockdev/dev_utils.h
%{_includedir}/blockdev/exec.h
%{_includedir}/blockdev/extra_arg.h
%{_includedir}/blockdev/module.h
%{_includedir}/blockdev/sizes.h
%{_includedir}/blockdev/utils.h
%changelog