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 2026-05-21 18:25:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.2084 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Thu May 21 18:25:57 2026 rev:339 rq:1354207 version:4.5.326 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2026-05-16 19:25:04.091370678 +0200 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.2084/libstorage-ng.changes 2026-05-21 18:27:00.813758372 +0200 @@ -1,0 +2,46 @@ +Wed May 20 09:25:28 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1076 +- added checks +- 4.5.326 + +-------------------------------------------------------------------- +Wed May 20 06:57:21 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1075 +- added check +- added test case +- 4.5.325 + +-------------------------------------------------------------------- +Tue May 19 12:29:22 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1074 +- make parted parser more robust +- added test cases +- 4.5.324 + +-------------------------------------------------------------------- +Tue May 19 09:05:35 UTC 2026 - [email protected] + +- Translated using Weblate (German) (bsc#1149754) +- 4.5.323 + +-------------------------------------------------------------------- +Tue May 19 09:05:34 UTC 2026 - [email protected] + +- Translated using Weblate (Italian) (bsc#1149754) + +-------------------------------------------------------------------- +Mon May 18 15:26:25 UTC 2026 - [email protected] + +- Translated using Weblate (French) (bsc#1149754) +- 4.5.322 + +-------------------------------------------------------------------- +Mon May 18 12:51:44 UTC 2026 - [email protected] + +- Translated using Weblate (Portuguese (Brazil)) (bsc#1149754) +- 4.5.321 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.5.320.tar.xz New: ---- libstorage-ng-4.5.326.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.yeKrKj/_old 2026-05-21 18:27:01.637792216 +0200 +++ /var/tmp/diff_new_pack.yeKrKj/_new 2026-05-21 18:27:01.641792380 +0200 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.5.320 +Version: 4.5.326 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.5.320.tar.xz -> libstorage-ng-4.5.326.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/VERSION new/libstorage-ng-4.5.326/VERSION --- old/libstorage-ng-4.5.320/VERSION 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/VERSION 2026-05-20 11:25:28.000000000 +0200 @@ -1 +1 @@ -4.5.320 +4.5.326 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/bindings/storage-catches.i new/libstorage-ng-4.5.326/bindings/storage-catches.i --- old/libstorage-ng-4.5.320/bindings/storage-catches.i 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/bindings/storage-catches.i 2026-05-20 11:25:28.000000000 +0200 @@ -242,6 +242,7 @@ %catches(storage::DeviceNotFound, storage::DeviceHasWrongType) storage::Bcache::find_by_name(const Devicegraph *devicegraph, const std::string &name); %catches(storage::Exception) storage::Bcache::find_free_name(const Devicegraph *devicegraph); %catches(storage::DeviceNotFound) storage::Bcache::get_backing_device() const; +%catches(storage::DeviceNotFound) storage::Bcache::get_bcache_cset() const; %catches(storage::DeviceNotFound) storage::Bcache::get_blk_device() const; %catches(storage::LogicException, storage::Exception) storage::Bcache::remove_bcache_cset(); %catches(storage::DeviceNotFound, storage::DeviceHasWrongType) storage::BcacheCset::find_by_uuid(Devicegraph *devicegraph, const std::string &uuid); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/po/de.po new/libstorage-ng-4.5.326/po/de.po --- old/libstorage-ng-4.5.320/po/de.po 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/po/de.po 2026-05-20 11:25:28.000000000 +0200 @@ -14,8 +14,8 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-01-29 14:48+0100\n" -"PO-Revision-Date: 2026-02-25 05:04+0000\n" -"Last-Translator: Ettore Atalan <[email protected]>\n" +"PO-Revision-Date: 2026-05-19 11:12+0000\n" +"Last-Translator: Gemineo <[email protected]>\n" "Language-Team: German <https://l10n.opensuse.org/projects/libstorage/ng-" "master/de/>\n" "Language: de\n" @@ -23,7 +23,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.16\n" +"X-Generator: Weblate 2026.5\n" msgid "" "\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/po/fr.po new/libstorage-ng-4.5.326/po/fr.po --- old/libstorage-ng-4.5.320/po/fr.po 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/po/fr.po 2026-05-20 11:25:28.000000000 +0200 @@ -11,8 +11,8 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-01-29 14:48+0100\n" -"PO-Revision-Date: 2025-07-22 14:59+0000\n" -"Last-Translator: Julia Faltenbacher <[email protected]>\n" +"PO-Revision-Date: 2026-05-18 18:12+0000\n" +"Last-Translator: Sophie Leroy <[email protected]>\n" "Language-Team: French <https://l10n.opensuse.org/projects/libstorage/ng-" "master/fr/>\n" "Language: fr\n" @@ -20,7 +20,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.12.2\n" +"X-Generator: Weblate 2026.5\n" "X-Poedit-Language: French\n" msgid "" @@ -2105,7 +2105,7 @@ #. TRANSLATORS: name of object msgid "Erofs" -msgstr "" +msgstr "Erofs" #. TRANSLATORS: name of object msgid "Ext2" @@ -3614,7 +3614,7 @@ #. TRANSLATORS: name of object msgid "Squashfs" -msgstr "" +msgstr "Squashfs" #. TRANSLATORS: name of object msgid "Stray Block Device" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/po/it.po new/libstorage-ng-4.5.326/po/it.po --- old/libstorage-ng-4.5.320/po/it.po 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/po/it.po 2026-05-20 11:25:28.000000000 +0200 @@ -13,8 +13,8 @@ "Project-Id-Version: libstorage\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-01-29 14:48+0100\n" -"PO-Revision-Date: 2025-07-22 15:00+0000\n" -"Last-Translator: Julia Faltenbacher <[email protected]>\n" +"PO-Revision-Date: 2026-05-19 11:12+0000\n" +"Last-Translator: Davide Aiello <[email protected]>\n" "Language-Team: Italian <https://l10n.opensuse.org/projects/libstorage/ng-" "master/it/>\n" "Language: it\n" @@ -22,7 +22,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.12.2\n" +"X-Generator: Weblate 2026.5\n" "X-Poedit-Language: Italian\n" msgid "" @@ -2091,7 +2091,7 @@ #. TRANSLATORS: name of object msgid "Erofs" -msgstr "" +msgstr "Erofs" #. TRANSLATORS: name of object msgid "Ext2" @@ -3118,7 +3118,7 @@ #. %2$s is replaced with the new volume group name (e.g. bar) #, c-format msgid "Rename volume group %1$s to %2$s" -msgstr "RInominare il gruppo di volumi %1$s (%2$s)" +msgstr "RInomina il gruppo di volumi da %1$s a %2$s" #. TRANSLATORS: displayed during action, #. %1$s is replaced by device name (e.g. /dev/sda6), @@ -3547,7 +3547,7 @@ #. TRANSLATORS: name of object msgid "Squashfs" -msgstr "" +msgstr "Squashfs" #. TRANSLATORS: name of object msgid "Stray Block Device" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/po/pt_BR.po new/libstorage-ng-4.5.326/po/pt_BR.po --- old/libstorage-ng-4.5.320/po/pt_BR.po 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/po/pt_BR.po 2026-05-20 11:25:28.000000000 +0200 @@ -12,8 +12,8 @@ "Project-Id-Version: YaST (@memory@)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-01-29 14:48+0100\n" -"PO-Revision-Date: 2025-07-22 15:00+0000\n" -"Last-Translator: Julia Faltenbacher <[email protected]>\n" +"PO-Revision-Date: 2026-05-18 15:12+0000\n" +"Last-Translator: Samanta Magalhaes <[email protected]>\n" "Language-Team: Portuguese (Brazil) <https://l10n.opensuse.org/projects/" "libstorage/ng-master/pt_BR/>\n" "Language: pt_BR\n" @@ -21,7 +21,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.12.2\n" +"X-Generator: Weblate 2026.5\n" msgid "" "\n" @@ -1927,7 +1927,7 @@ #. TRANSLATORS: name of object msgid "Erofs" -msgstr "" +msgstr "Erofs" #. TRANSLATORS: name of object msgid "Ext2" @@ -3316,7 +3316,7 @@ #. TRANSLATORS: name of object msgid "Squashfs" -msgstr "" +msgstr "Squashfs" #. TRANSLATORS: name of object msgid "Stray Block Device" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/storage/Devices/Bcache.h new/libstorage-ng-4.5.326/storage/Devices/Bcache.h --- old/libstorage-ng-4.5.320/storage/Devices/Bcache.h 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/storage/Devices/Bcache.h 2026-05-20 11:25:28.000000000 +0200 @@ -131,6 +131,8 @@ * * Note that a bcache device can be created without a caching set associated to it. * In case of a Flash-only bcache, there is always a caching set holding it. + * + * @throw DeviceNotFound */ const BcacheCset* get_bcache_cset() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/storage/Devices/BcacheCsetImpl.cc new/libstorage-ng-4.5.326/storage/Devices/BcacheCsetImpl.cc --- old/libstorage-ng-4.5.320/storage/Devices/BcacheCsetImpl.cc 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/storage/Devices/BcacheCsetImpl.cc 2026-05-20 11:25:28.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -242,7 +242,12 @@ { // TODO handle multiple BlkDevices - const BlkDevice* blk_device = get_blk_devices()[0]; + vector<const BlkDevice*> blk_devices = get_blk_devices(); + + if (blk_devices.empty()) + ST_THROW(DeviceNotFound("No caching devices")); + + const BlkDevice* blk_device = blk_devices[0]; Text text = tenser(tense, // TRANSLATORS: displayed before action, @@ -265,7 +270,12 @@ // TODO handle multiple BlkDevices? - const BlkDevice* blk_device = get_blk_devices()[0]; + vector<const BlkDevice*> blk_devices = get_blk_devices(); + + if (blk_devices.empty()) + ST_THROW(DeviceNotFound("No caching devices")); + + const BlkDevice* blk_device = blk_devices[0]; SystemCmd::Args cmd_args = { BCACHE_BIN, "make", "-C", blk_device->get_name() }; @@ -292,7 +302,12 @@ { // TODO handle multiple BlkDevices - const BlkDevice* blk_device = get_blk_devices()[0]; + vector<const BlkDevice*> blk_devices = get_blk_devices(); + + if (blk_devices.empty()) + ST_THROW(DeviceNotFound("No caching devices")); + + const BlkDevice* blk_device = blk_devices[0]; Text text = tenser(tense, // TRANSLATORS: displayed before action, @@ -321,7 +336,12 @@ { // TODO handle multiple BlkDevices - const BlkDevice* blk_device = get_blk_devices()[0]; + vector<const BlkDevice*> blk_devices = get_blk_devices(); + + if (blk_devices.empty()) + ST_THROW(DeviceNotFound("No caching devices")); + + const BlkDevice* blk_device = blk_devices[0]; Text text = tenser(tense, // TRANSLATORS: displayed before action, @@ -342,10 +362,12 @@ { // TODO handle multiple caching devices? - if (get_blk_devices().empty()) + vector<const BlkDevice*> blk_devices = get_blk_devices(); + + if (blk_devices.empty()) ST_THROW(DeviceNotFound("No caching devices")); - const BlkDevice* blk_device = get_blk_devices().front(); + const BlkDevice* blk_device = blk_devices[0]; SystemCmd::Args cmd_args = { BCACHE_BIN, "unregister", blk_device->get_name() }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/storage/Devices/BcacheImpl.cc new/libstorage-ng-4.5.326/storage/Devices/BcacheImpl.cc --- old/libstorage-ng-4.5.320/storage/Devices/BcacheImpl.cc 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/storage/Devices/BcacheImpl.cc 2026-05-20 11:25:28.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -409,6 +409,9 @@ vector<const BcacheCset*> ret = devicegraph.filter_devices_of_type<const BcacheCset>(devicegraph.parents(vertex)); + if (ret.empty()) + ST_THROW(DeviceNotFound("No bcache cset")); + return ret.front(); } @@ -771,7 +774,12 @@ const BcacheCset* bcache_cset = get_bcache_cset(); - const BlkDevice* blk_device = bcache_cset->get_blk_devices()[0]; + vector<const BlkDevice*> blk_devices = bcache_cset->get_blk_devices(); + + if (blk_devices.empty()) + ST_THROW(DeviceNotFound("No caching devices")); + + const BlkDevice* blk_device = blk_devices[0]; Text text = tenser(tense, // TRANSLATORS: displayed before action, @@ -804,7 +812,12 @@ { // TODO handle multiple BlkDevices of BcacheCset - const BlkDevice* blk_device = bcache_cset->get_blk_devices()[0]; + vector<const BlkDevice*> blk_devices = bcache_cset->get_blk_devices(); + + if (blk_devices.empty()) + ST_THROW(DeviceNotFound("No caching devices")); + + const BlkDevice* blk_device = blk_devices[0]; Text text = tenser(tense, // TRANSLATORS: displayed before action, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/storage/SystemInfo/CmdParted.cc new/libstorage-ng-4.5.326/storage/SystemInfo/CmdParted.cc --- old/libstorage-ng-4.5.320/storage/SystemInfo/CmdParted.cc 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/storage/SystemInfo/CmdParted.cc 2026-05-20 11:25:28.000000000 +0200 @@ -315,6 +315,9 @@ { vector<string> tmp = tokenize(line); + if (tmp.size() < 8) + ST_THROW(ParseException("too few fields", line, "a:b:c:d:e:f:g:h;")); + unsigned long long num_sectors = 0; tmp[1] >> num_sectors; @@ -361,6 +364,9 @@ { vector<string> tmp = tokenize(line); + if (tmp.size() < 7) + ST_THROW(ParseException("too few fields", line, "a:b:c:d:e:f:g;")); + Entry entry; tmp[0] >> entry.number; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/testsuite/Devices/Makefile.am new/libstorage-ng-4.5.326/testsuite/Devices/Makefile.am --- old/libstorage-ng-4.5.320/testsuite/Devices/Makefile.am 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/testsuite/Devices/Makefile.am 2026-05-20 11:25:28.000000000 +0200 @@ -7,7 +7,7 @@ LDADD = ../../storage/libstorage-ng.la -lboost_unit_test_framework check_PROGRAMS = \ - lvm-vg.test md-underlying-size.test + bcache1.test lvm-vg.test md-underlying-size.test AM_DEFAULT_SOURCE_EXT = .cc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/testsuite/Devices/bcache1.cc new/libstorage-ng-4.5.326/testsuite/Devices/bcache1.cc --- old/libstorage-ng-4.5.320/testsuite/Devices/bcache1.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/libstorage-ng-4.5.326/testsuite/Devices/bcache1.cc 2026-05-20 11:25:28.000000000 +0200 @@ -0,0 +1,45 @@ + +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE libstorage + +#include <boost/test/unit_test.hpp> + +#include "storage/Utils/HumanString.h" +#include "storage/Devices/Disk.h" +#include "storage/Devices/Bcache.h" +#include "storage/Devices/BcacheCset.h" +#include "storage/Storage.h" +#include "storage/Environment.h" + + +using namespace std; +using namespace storage; + + +BOOST_AUTO_TEST_CASE(no_bcache_cset) +{ + Environment environment(true, ProbeMode::NONE, TargetMode::DIRECT); + + Storage storage(environment); + + Devicegraph* staging = storage.get_staging(); + + Disk* sda = Disk::create(staging, "/dev/sda"); + sda->set_size(24 * TiB); + + Disk* nvme0n1 = Disk::create(staging, "/dev/nvme0n1"); + nvme0n1->set_size(2 * TiB); + + Bcache* bcache = sda->create_bcache("/dev/bcache0"); + + BOOST_CHECK(bcache->get_backing_device() == sda); + BOOST_CHECK(!bcache->has_bcache_cset()); + BOOST_CHECK_THROW(bcache->get_bcache_cset(), DeviceNotFound); + + BcacheCset* bcache_cset = nvme0n1->create_bcache_cset(); + bcache->attach_bcache_cset(bcache_cset); + + BOOST_CHECK(bcache->get_backing_device() == sda); + BOOST_CHECK(bcache->has_bcache_cset()); + BOOST_CHECK(bcache->get_bcache_cset() == bcache_cset); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.320/testsuite/SystemInfo/parted-34.cc new/libstorage-ng-4.5.326/testsuite/SystemInfo/parted-34.cc --- old/libstorage-ng-4.5.320/testsuite/SystemInfo/parted-34.cc 2026-05-16 15:12:50.000000000 +0200 +++ new/libstorage-ng-4.5.326/testsuite/SystemInfo/parted-34.cc 2026-05-20 11:25:28.000000000 +0200 @@ -417,3 +417,26 @@ check_exception("/dev/sdc", input); } + + +BOOST_AUTO_TEST_CASE(parse_error1) +{ + vector<string> input = { + "BYT;", + "/dev/sdc:160086528s:scsi:512:512:gpt;" + }; + + check_exception("/dev/sdc", input); +} + + +BOOST_AUTO_TEST_CASE(parse_error2) +{ + vector<string> input = { + "BYT;", + "/dev/sdc:160086528s:scsi:512:512:gpt:Maxtor 42:;", + "1:2048s:923647s:;" + }; + + check_exception("/dev/sdc", input); +}
