Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libstorage-ng for openSUSE:Factory checked in at 2021-11-20 22:47:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Sat Nov 20 22:47:52 2021 rev:136 rq:932246 version:4.4.57 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2021-11-13 22:48:46.685261564 +0100 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.1895/libstorage-ng.changes 2021-11-20 22:48:09.835835651 +0100 @@ -1,0 +2,9 @@ +Thu Nov 18 12:14:27 UTC 2021 - aschn...@suse.com + +- merge gh#openSUSE/libstorage-ng#843 +- added convenience function get_blk_devices() for Multipath and + DmRaid +- added macro LIBSTORAGE_NG_VERSION_AT_LEAST +- 4.4.57 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.4.56.tar.xz New: ---- libstorage-ng-4.4.57.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.ltyX6a/_old 2021-11-20 22:48:10.303834100 +0100 +++ /var/tmp/diff_new_pack.ltyX6a/_new 2021-11-20 22:48:10.303834100 +0100 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.4.56 +Version: 4.4.57 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.4.56.tar.xz -> libstorage-ng-4.4.57.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/LIBVERSION new/libstorage-ng-4.4.57/LIBVERSION --- old/libstorage-ng-4.4.56/LIBVERSION 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/LIBVERSION 2021-11-18 13:14:27.000000000 +0100 @@ -1 +1 @@ -1.66.0 +1.67.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/VERSION new/libstorage-ng-4.4.57/VERSION --- old/libstorage-ng-4.4.56/VERSION 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/VERSION 2021-11-18 13:14:27.000000000 +0100 @@ -1 +1 @@ -4.4.56 +4.4.57 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/CompoundAction/Formatter/Md.cc new/libstorage-ng-4.4.57/storage/CompoundAction/Formatter/Md.cc --- old/libstorage-ng-4.4.56/storage/CompoundAction/Formatter/Md.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/CompoundAction/Formatter/Md.cc 2021-11-18 13:14:27.000000000 +0100 @@ -100,7 +100,7 @@ Text CompoundAction::Formatter::Md::blk_devices_text() const { - return join(md->get_devices(), JoinMode::COMMA, 20); + return join(md->get_blk_devices(), JoinMode::COMMA, 20); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/DmRaid.cc new/libstorage-ng-4.4.57/storage/Devices/DmRaid.cc --- old/libstorage-ng-4.4.56/storage/Devices/DmRaid.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/DmRaid.cc 2021-11-18 13:14:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 SUSE LLC + * Copyright (c) [2017-2021] SUSE LLC * * All Rights Reserved. * @@ -107,6 +107,20 @@ } + vector<BlkDevice*> + DmRaid::get_blk_devices() + { + return get_impl().get_blk_devices(); + } + + + vector<const BlkDevice*> + DmRaid::get_blk_devices() const + { + return get_impl().get_blk_devices(); + } + + bool DmRaid::is_rotational() const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/DmRaid.h new/libstorage-ng-4.4.57/storage/Devices/DmRaid.h --- old/libstorage-ng-4.4.56/storage/Devices/DmRaid.h 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/DmRaid.h 2021-11-18 13:14:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2017-2020] SUSE LLC + * Copyright (c) [2017-2021] SUSE LLC * * All Rights Reserved. * @@ -71,6 +71,16 @@ static std::vector<const DmRaid*> get_all(const Devicegraph* devicegraph); /** + * Return blk devices used for the DmRaid. + */ + std::vector<BlkDevice*> get_blk_devices(); + + /** + * @copydoc get_blk_devices() + */ + std::vector<const BlkDevice*> get_blk_devices() const; + + /** * Return whether the DM RAID is of rotational or * non-rotational type. See the kernel documentation * block/queue-sysfs.rst for more information. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/DmRaidImpl.cc new/libstorage-ng-4.4.57/storage/Devices/DmRaidImpl.cc --- old/libstorage-ng-4.4.56/storage/Devices/DmRaidImpl.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/DmRaidImpl.cc 2021-11-18 13:14:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2017-2019] SUSE LLC + * Copyright (c) [2017-2021] SUSE LLC * * All Rights Reserved. * @@ -187,6 +187,26 @@ } + vector<BlkDevice*> + DmRaid::Impl::get_blk_devices() + { + Devicegraph::Impl& devicegraph = get_devicegraph()->get_impl(); + Devicegraph::Impl::vertex_descriptor vertex = get_vertex(); + + return devicegraph.filter_devices_of_type<BlkDevice>(devicegraph.parents(vertex)); + } + + + vector<const BlkDevice*> + DmRaid::Impl::get_blk_devices() const + { + const Devicegraph::Impl& devicegraph = get_devicegraph()->get_impl(); + Devicegraph::Impl::vertex_descriptor vertex = get_vertex(); + + return devicegraph.filter_devices_of_type<const BlkDevice>(devicegraph.parents(vertex)); + } + + ResizeInfo DmRaid::Impl::detect_resize_info(const BlkDevice* blk_device) const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/DmRaidImpl.h new/libstorage-ng-4.4.57/storage/Devices/DmRaidImpl.h --- old/libstorage-ng-4.4.56/storage/Devices/DmRaidImpl.h 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/DmRaidImpl.h 2021-11-18 13:14:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2017-2019] SUSE LLC + * Copyright (c) [2017-2021] SUSE LLC * * All Rights Reserved. * @@ -71,6 +71,9 @@ static bool is_valid_name(const string& name); + vector<BlkDevice*> get_blk_devices(); + vector<const BlkDevice*> get_blk_devices() const; + bool is_rotational() const { return rotational; } void set_rotational(bool rotational) { Impl::rotational = rotational; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/Md.cc new/libstorage-ng-4.4.57/storage/Devices/Md.cc --- old/libstorage-ng-4.4.56/storage/Devices/Md.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/Md.cc 2021-11-18 13:14:27.000000000 +0100 @@ -111,14 +111,28 @@ vector<BlkDevice*> Md::get_devices() { - return get_impl().get_devices(); + return get_impl().get_blk_devices(); } vector<const BlkDevice*> Md::get_devices() const { - return get_impl().get_devices(); + return get_impl().get_blk_devices(); + } + + + vector<BlkDevice*> + Md::get_blk_devices() + { + return get_impl().get_blk_devices(); + } + + + vector<const BlkDevice*> + Md::get_blk_devices() const + { + return get_impl().get_blk_devices(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/Md.h new/libstorage-ng-4.4.57/storage/Devices/Md.h --- old/libstorage-ng-4.4.56/storage/Devices/Md.h 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/Md.h 2021-11-18 13:14:27.000000000 +0100 @@ -107,16 +107,19 @@ */ void remove_device(BlkDevice* blk_device); + std::vector<BlkDevice*> get_devices() ST_DEPRECATED; + std::vector<const BlkDevice*> get_devices() const ST_DEPRECATED; + /** - * Return devices used for the MD RAID. For Mds of type + * Return blk devices used for the MD RAID. For Mds of type * MdMember this does not include the MdContainer. */ - std::vector<BlkDevice*> get_devices(); + std::vector<BlkDevice*> get_blk_devices(); /** - * @copydoc get_devices() + * @copydoc get_blk_devices() */ - std::vector<const BlkDevice*> get_devices() const; + std::vector<const BlkDevice*> get_blk_devices() const; /** * Returns true if the name of the MD is numeric. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/MdImpl.cc new/libstorage-ng-4.4.57/storage/Devices/MdImpl.cc --- old/libstorage-ng-4.4.56/storage/Devices/MdImpl.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/MdImpl.cc 2021-11-18 13:14:27.000000000 +0100 @@ -229,7 +229,7 @@ } unsigned long long tmp = 1 * KiB; - for (const BlkDevice* blk_device : get_devices()) + for (const BlkDevice* blk_device : get_blk_devices()) { tmp = boost::integer::lcm(tmp, (unsigned long long) blk_device->get_region().get_block_size()); @@ -703,7 +703,7 @@ vector<BlkDevice*> - Md::Impl::get_devices() + Md::Impl::get_blk_devices() { Devicegraph::Impl& devicegraph = get_devicegraph()->get_impl(); Devicegraph::Impl::vertex_descriptor vertex = get_vertex(); @@ -713,7 +713,7 @@ vector<const BlkDevice*> - Md::Impl::get_devices() const + Md::Impl::get_blk_devices() const { const Devicegraph::Impl& devicegraph = get_devicegraph()->get_impl(); Devicegraph::Impl::vertex_descriptor vertex = get_vertex(); @@ -892,9 +892,9 @@ unsigned int Md::Impl::number_of_devices() const { - vector<const BlkDevice*> devices = get_devices(); + vector<const BlkDevice*> blk_devices = get_blk_devices(); - return std::count_if(devices.begin(), devices.end(), [](const BlkDevice* blk_device) { + return std::count_if(blk_devices.begin(), blk_devices.end(), [](const BlkDevice* blk_device) { const MdUser* md_user = blk_device->get_impl().get_single_out_holder_of_type<const MdUser>(); return !md_user->is_spare() && !md_user->is_journal(); }); @@ -920,7 +920,7 @@ if (exists_in_system()) return; - vector<const BlkDevice*> devices = as_const(*this).get_devices(); + vector<const BlkDevice*> blk_devices = as_const(*this).get_blk_devices(); long real_chunk_size = chunk_size; @@ -937,11 +937,11 @@ unsigned int block_size = 0; - for (const BlkDevice* blk_device : devices) + for (const BlkDevice* blk_device : blk_devices) { unsigned long long size = blk_device->get_size(); - block_size = std::max( block_size, blk_device->get_region().get_block_size() ); + block_size = std::max(block_size, blk_device->get_region().get_block_size()); const MdUser* md_user = blk_device->get_impl().get_single_out_holder_of_type<const MdUser>(); bool spare = md_user->is_spare(); @@ -1056,7 +1056,7 @@ _("Creating MD %1$s %2$s (%3$s) from %4$s")); return sformat(text, get_md_level_name(md_level), get_displayname(), - get_size_text(), join(get_devices(), JoinMode::COMMA, 20)); + get_size_text(), join(get_blk_devices(), JoinMode::COMMA, 20)); } @@ -1072,7 +1072,7 @@ multimap<unsigned int, string> spares; vector<string> journals; - for (const BlkDevice* blk_device : get_devices()) + for (const BlkDevice* blk_device : get_blk_devices()) { const MdUser* md_user = blk_device->get_impl().get_single_out_holder_of_type<const MdUser>(); @@ -1122,7 +1122,7 @@ if (!journals.empty()) cmd_line += " --write-journal=" + quote(journals.front()); - wait_for_devices(std::as_const(*this).get_devices()); + wait_for_devices(std::as_const(*this).get_blk_devices()); SystemCmd cmd(cmd_line, SystemCmd::DoThrow); @@ -1168,7 +1168,7 @@ { string cmd_line = MDADM_BIN " --zero-superblock "; - for (const BlkDevice* blk_device : get_devices()) + for (const BlkDevice* blk_device : get_blk_devices()) cmd_line += " " + quote(blk_device->get_name()); SystemCmd cmd(cmd_line, SystemCmd::DoThrow); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/MdImpl.h new/libstorage-ng-4.4.57/storage/Devices/MdImpl.h --- old/libstorage-ng-4.4.56/storage/Devices/MdImpl.h 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/MdImpl.h 2021-11-18 13:14:27.000000000 +0100 @@ -73,8 +73,8 @@ MdUser* add_device(BlkDevice* blk_device); void remove_device(BlkDevice* blk_device); - virtual vector<BlkDevice*> get_devices(); - virtual vector<const BlkDevice*> get_devices() const; + virtual vector<BlkDevice*> get_blk_devices(); + virtual vector<const BlkDevice*> get_blk_devices() const; virtual void parent_has_new_region(const Device* parent) override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/MdMember.cc new/libstorage-ng-4.4.57/storage/Devices/MdMember.cc --- old/libstorage-ng-4.4.56/storage/Devices/MdMember.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/MdMember.cc 2021-11-18 13:14:27.000000000 +0100 @@ -81,7 +81,7 @@ return get_impl().get_md_container(); } - + const MdContainer* MdMember::get_md_container() const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/MdMemberImpl.cc new/libstorage-ng-4.4.57/storage/Devices/MdMemberImpl.cc --- old/libstorage-ng-4.4.56/storage/Devices/MdMemberImpl.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/MdMemberImpl.cc 2021-11-18 13:14:27.000000000 +0100 @@ -87,9 +87,9 @@ vector<BlkDevice*> - MdMember::Impl::get_devices() + MdMember::Impl::get_blk_devices() { - vector<BlkDevice*> tmp = Md::Impl::get_devices(); + vector<BlkDevice*> tmp = Md::Impl::get_blk_devices(); erase_if(tmp, [](BlkDevice* blk_device) { return is_md_container(blk_device); }); @@ -98,9 +98,9 @@ vector<const BlkDevice*> - MdMember::Impl::get_devices() const + MdMember::Impl::get_blk_devices() const { - vector<const BlkDevice*> tmp = Md::Impl::get_devices(); + vector<const BlkDevice*> tmp = Md::Impl::get_blk_devices(); erase_if(tmp, [](const BlkDevice* blk_device) { return is_md_container(blk_device); }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/MdMemberImpl.h new/libstorage-ng-4.4.57/storage/Devices/MdMemberImpl.h --- old/libstorage-ng-4.4.56/storage/Devices/MdMemberImpl.h 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/MdMemberImpl.h 2021-11-18 13:14:27.000000000 +0100 @@ -55,8 +55,8 @@ MdContainer* get_md_container(); const MdContainer* get_md_container() const; - virtual vector<BlkDevice*> get_devices() override; - virtual vector<const BlkDevice*> get_devices() const override; + virtual vector<BlkDevice*> get_blk_devices() override; + virtual vector<const BlkDevice*> get_blk_devices() const override; virtual void probe_pass_1b(Prober& prober) override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/Multipath.cc new/libstorage-ng-4.4.57/storage/Devices/Multipath.cc --- old/libstorage-ng-4.4.56/storage/Devices/Multipath.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/Multipath.cc 2021-11-18 13:14:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 SUSE LLC + * Copyright (c) [2017-2021] SUSE LLC * * All Rights Reserved. * @@ -121,6 +121,20 @@ } + vector<BlkDevice*> + Multipath::get_blk_devices() + { + return get_impl().get_blk_devices(); + } + + + vector<const BlkDevice*> + Multipath::get_blk_devices() const + { + return get_impl().get_blk_devices(); + } + + bool Multipath::is_rotational() const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/Multipath.h new/libstorage-ng-4.4.57/storage/Devices/Multipath.h --- old/libstorage-ng-4.4.56/storage/Devices/Multipath.h 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/Multipath.h 2021-11-18 13:14:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2017-2020] SUSE LLC + * Copyright (c) [2017-2021] SUSE LLC * * All Rights Reserved. * @@ -85,6 +85,16 @@ const std::string& get_model() const; /** + * Return blk devices used for the Multipath. + */ + std::vector<BlkDevice*> get_blk_devices(); + + /** + * @copydoc get_blk_devices() + */ + std::vector<const BlkDevice*> get_blk_devices() const; + + /** * Return whether the multipath device is of rotational or * non-rotational type. See the kernel documentation * block/queue-sysfs.rst for more information. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/MultipathImpl.cc new/libstorage-ng-4.4.57/storage/Devices/MultipathImpl.cc --- old/libstorage-ng-4.4.56/storage/Devices/MultipathImpl.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/MultipathImpl.cc 2021-11-18 13:14:27.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2017-2019] SUSE LLC + * Copyright (c) [2017-2021] SUSE LLC * * All Rights Reserved. * @@ -246,6 +246,26 @@ } + vector<BlkDevice*> + Multipath::Impl::get_blk_devices() + { + Devicegraph::Impl& devicegraph = get_devicegraph()->get_impl(); + Devicegraph::Impl::vertex_descriptor vertex = get_vertex(); + + return devicegraph.filter_devices_of_type<BlkDevice>(devicegraph.parents(vertex)); + } + + + vector<const BlkDevice*> + Multipath::Impl::get_blk_devices() const + { + const Devicegraph::Impl& devicegraph = get_devicegraph()->get_impl(); + Devicegraph::Impl::vertex_descriptor vertex = get_vertex(); + + return devicegraph.filter_devices_of_type<const BlkDevice>(devicegraph.parents(vertex)); + } + + void Multipath::Impl::add_create_actions(Actiongraph::Impl& actiongraph) const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Devices/MultipathImpl.h new/libstorage-ng-4.4.57/storage/Devices/MultipathImpl.h --- old/libstorage-ng-4.4.56/storage/Devices/MultipathImpl.h 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Devices/MultipathImpl.h 2021-11-18 13:14:27.000000000 +0100 @@ -75,6 +75,9 @@ const string& get_model() const { return model; } + vector<BlkDevice*> get_blk_devices(); + vector<const BlkDevice*> get_blk_devices() const; + bool is_rotational() const { return rotational; } void set_rotational(bool rotational) { Impl::rotational = rotational; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/StorageImpl.cc new/libstorage-ng-4.4.57/storage/StorageImpl.cc --- old/libstorage-ng-4.4.56/storage/StorageImpl.cc 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/StorageImpl.cc 2021-11-18 13:14:27.000000000 +0100 @@ -485,10 +485,10 @@ if (partitionable->get_size() == 0) continue; - // Ignore partitionables used by multipath or md raid. + // Ignore partitionables used by multipath or raid. vector<const Device*> children = partitionable->get_children(); if (any_of(children.begin(), children.end(), [](const Device* child) { - return is_multipath(child) || is_md(child); + return is_multipath(child) || is_dm_raid(child) || is_md(child); })) continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.4.56/storage/Version.h.in new/libstorage-ng-4.4.57/storage/Version.h.in --- old/libstorage-ng-4.4.56/storage/Version.h.in 2021-11-12 13:53:45.000000000 +0100 +++ new/libstorage-ng-4.4.57/storage/Version.h.in 2021-11-18 13:14:27.000000000 +0100 @@ -31,5 +31,9 @@ #define LIBSTORAGE_NG_VERSION_MINOR @LIBVERSION_MINOR@ #define LIBSTORAGE_NG_VERSION_PATCHLEVEL @LIBVERSION_PATCHLEVEL@ +#define LIBSTORAGE_NG_VERSION_AT_LEAST(major, minor) \ + ((LIBSTORAGE_NG_VERSION_MAJOR > (major)) || \ + (LIBSTORAGE_NG_VERSION_MAJOR == (major) && LIBSTORAGE_NG_VERSION_MINOR >= (minor))) + #endif