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-04-16 17:25:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old) and /work/SRC/openSUSE:Factory/.libstorage-ng.new.11940 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage-ng" Thu Apr 16 17:25:21 2026 rev:334 rq:1347120 version:4.5.312 Changes: -------- --- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes 2026-04-10 17:52:35.248779826 +0200 +++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.11940/libstorage-ng.changes 2026-04-16 17:25:40.504233958 +0200 @@ -1,0 +2,21 @@ +Wed Apr 15 12:16:57 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1067 +- removed unneeded mockups +- 4.5.312 + +-------------------------------------------------------------------- +Wed Apr 15 05:43:22 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1066 +- handle invalid output from parted +- 4.5.311 + +-------------------------------------------------------------------- +Mon Apr 13 10:34:17 UTC 2026 - [email protected] + +- merge gh#openSUSE/libstorage-ng#1065 +- moved devicegraph copy function to impl +- 4.5.310 + +-------------------------------------------------------------------- Old: ---- libstorage-ng-4.5.309.tar.xz New: ---- libstorage-ng-4.5.312.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libstorage-ng.spec ++++++ --- /var/tmp/diff_new_pack.a5Lx72/_old 2026-04-16 17:25:41.436272357 +0200 +++ /var/tmp/diff_new_pack.a5Lx72/_new 2026-04-16 17:25:41.440272523 +0200 @@ -18,7 +18,7 @@ %define libname %{name}1 Name: libstorage-ng -Version: 4.5.309 +Version: 4.5.312 Release: 0 Summary: Library for storage management License: GPL-2.0-only ++++++ libstorage-ng-4.5.309.tar.xz -> libstorage-ng-4.5.312.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/VERSION new/libstorage-ng-4.5.312/VERSION --- old/libstorage-ng-4.5.309/VERSION 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/VERSION 2026-04-15 14:16:57.000000000 +0200 @@ -1 +1 @@ -4.5.309 +4.5.312 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/storage/Devicegraph.cc new/libstorage-ng-4.5.312/storage/Devicegraph.cc --- old/libstorage-ng-4.5.309/storage/Devicegraph.cc 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/storage/Devicegraph.cc 2026-04-15 14:16:57.000000000 +0200 @@ -265,42 +265,6 @@ } - class CloneCopier - { - - public: - - CloneCopier(const Devicegraph& g_in, Devicegraph& g_out) - : g_in(g_in), g_out(g_out) {} - - void operator()(const Devicegraph::Impl::vertex_descriptor& v_in, - Devicegraph::Impl::vertex_descriptor& v_out) - { - shared_ptr<Device> device = g_in.get_impl().graph[v_in]->clone_v2(); - g_out.get_impl().graph[v_out] = device; - - Device* d_out = g_out.get_impl().graph[v_out].get(); - d_out->get_impl().set_devicegraph_and_vertex(&g_out, v_out); - } - - void operator()(const Devicegraph::Impl::edge_descriptor& e_in, - Devicegraph::Impl::edge_descriptor& e_out) - { - shared_ptr<Holder> holder = g_in.get_impl().graph[e_in]->clone_v2(); - g_out.get_impl().graph[e_out] = holder; - - Holder* h_out = g_out.get_impl().graph[e_out].get(); - h_out->get_impl().set_devicegraph_and_edge(&g_out, e_out); - } - - private: - - const Devicegraph& g_in; - Devicegraph& g_out; - - }; - - Device* Devicegraph::find_device(sid_t sid) { @@ -436,15 +400,7 @@ void Devicegraph::copy(Devicegraph& dest) const { - dest.get_impl().clear(); - - VertexIndexMapGenerator<Impl::graph_t> vertex_index_map_generator(get_impl().graph); - - CloneCopier copier(*this, dest); - - boost::copy_graph(get_impl().graph, dest.get_impl().graph, - vertex_index_map(vertex_index_map_generator.get()). - vertex_copy(copier).edge_copy(copier)); + get_impl().copy(dest); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/storage/Devicegraph.h new/libstorage-ng-4.5.312/storage/Devicegraph.h --- old/libstorage-ng-4.5.309/storage/Devicegraph.h 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/storage/Devicegraph.h 2026-04-15 14:16:57.000000000 +0200 @@ -396,8 +396,7 @@ */ uf_t used_features(UsedFeaturesDependencyType used_features_dependency_type) const; - // TODO move to Impl - void copy(Devicegraph& dest) const; + void copy(Devicegraph& dest) const ST_DEPRECATED; /** * Writes the devicegraph in graphviz format. The node id is diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/storage/DevicegraphImpl.cc new/libstorage-ng-4.5.312/storage/DevicegraphImpl.cc --- old/libstorage-ng-4.5.309/storage/DevicegraphImpl.cc 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/storage/DevicegraphImpl.cc 2026-04-15 14:16:57.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2014-2015] Novell, Inc. - * Copyright (c) [2016-2025] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -164,6 +164,58 @@ } + namespace + { + + class CloneCopier + { + + public: + + CloneCopier(const Devicegraph::Impl& g_in, Devicegraph& g_out) + : g_in(g_in), g_out(g_out) {} + + void operator()(const Devicegraph::Impl::vertex_descriptor& v_in, + Devicegraph::Impl::vertex_descriptor& v_out) + { + shared_ptr<Device> device = g_in.graph[v_in]->clone_v2(); + g_out.get_impl().graph[v_out] = device; + device->get_impl().set_devicegraph_and_vertex(&g_out, v_out); + } + + void operator()(const Devicegraph::Impl::edge_descriptor& e_in, + Devicegraph::Impl::edge_descriptor& e_out) + { + shared_ptr<Holder> holder = g_in.graph[e_in]->clone_v2(); + g_out.get_impl().graph[e_out] = holder; + holder->get_impl().set_devicegraph_and_edge(&g_out, e_out); + } + + private: + + const Devicegraph::Impl& g_in; + Devicegraph& g_out; + + }; + + } + + + void + Devicegraph::Impl::copy(Devicegraph& dest) const + { + dest.get_impl().clear(); + + VertexIndexMapGenerator<graph_t> vertex_index_map_generator(graph); + + CloneCopier copier(*this, dest); + + boost::copy_graph(graph, dest.get_impl().graph, + vertex_index_map(vertex_index_map_generator.get()). + vertex_copy(copier).edge_copy(copier)); + } + + void Devicegraph::Impl::check(const CheckCallbacks* check_callbacks) const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/storage/DevicegraphImpl.h new/libstorage-ng-4.5.312/storage/DevicegraphImpl.h --- old/libstorage-ng-4.5.309/storage/DevicegraphImpl.h 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/storage/DevicegraphImpl.h 2026-04-15 14:16:57.000000000 +0200 @@ -96,6 +96,8 @@ void log_diff(std::ostream& log, const Impl& rhs) const; + void copy(Devicegraph& dest) const; + /** * Check if this devicegraph is the probed devicegraph. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/storage/Devices/DeviceImpl.cc new/libstorage-ng-4.5.312/storage/Devices/DeviceImpl.cc --- old/libstorage-ng-4.5.309/storage/Devices/DeviceImpl.cc 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/storage/Devices/DeviceImpl.cc 2026-04-15 14:16:57.000000000 +0200 @@ -174,6 +174,9 @@ Impl::vertex = vertex; const Device* device = devicegraph->get_impl()[vertex]; + if (!device) + ST_THROW(LogicException("device not set for node")); + if (&device->get_impl() != this) ST_THROW(LogicException("wrong vertex for back references")); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/storage/StorageImpl.cc new/libstorage-ng-4.5.312/storage/StorageImpl.cc --- old/libstorage-ng-4.5.309/storage/StorageImpl.cc 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/storage/StorageImpl.cc 2026-04-15 14:16:57.000000000 +0200 @@ -398,7 +398,7 @@ Devicegraph* tmp2 = create_devicegraph(dest_name); - tmp1->copy(*tmp2); + tmp1->get_impl().copy(*tmp2); return tmp2; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/storage/SystemInfo/CmdParted.cc new/libstorage-ng-4.5.312/storage/SystemInfo/CmdParted.cc --- old/libstorage-ng-4.5.309/storage/SystemInfo/CmdParted.cc 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/storage/SystemInfo/CmdParted.cc 2026-04-15 14:16:57.000000000 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) [2004-2015] Novell, Inc. - * Copyright (c) [2016-2023] SUSE LLC + * Copyright (c) [2016-2026] SUSE LLC * * All Rights Reserved. * @@ -518,6 +518,8 @@ ST_THROW(ParseException("missing semicolon", "", ";")); string line_without_semicolon = line.substr(0, line.size() - 1); + if (line_without_semicolon.empty()) + ST_THROW(ParseException("empty before semicolon", "", "a:b:c")); vector<string> ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/testsuite/SystemInfo/parted-34.cc new/libstorage-ng-4.5.312/testsuite/SystemInfo/parted-34.cc --- old/libstorage-ng-4.5.309/testsuite/SystemInfo/parted-34.cc 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/testsuite/SystemInfo/parted-34.cc 2026-04-15 14:16:57.000000000 +0200 @@ -399,8 +399,20 @@ { vector<string> input = { "BYT;", - "/dev/sdc:160086528s:scsi:512:512:gpt:Maxtor 6 Y080L0:;" - "1:2048s:923647s:921600s:ext4::", + "/dev/sdc:160086528s:scsi:512:512:gpt:Maxtor 6 Y080L0:;", + "1:2048s:923647s:921600s:ext4::" + }; + + check_exception("/dev/sdc", input); +} + + +BOOST_AUTO_TEST_CASE(parse_empty_before_semicolon) +{ + vector<string> input = { + "BYT;", + "/dev/sdc:160086528s:scsi:512:512:gpt:Maxtor 6 Y080L0:;", + ";" }; check_exception("/dev/sdc", input); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-ng-4.5.309/testsuite/probe/luks4-mockup.xml new/libstorage-ng-4.5.312/testsuite/probe/luks4-mockup.xml --- old/libstorage-ng-4.5.309/testsuite/probe/luks4-mockup.xml 2026-04-09 18:57:40.000000000 +0200 +++ new/libstorage-ng-4.5.312/testsuite/probe/luks4-mockup.xml 2026-04-15 14:16:57.000000000 +0200 @@ -18,18 +18,6 @@ <stdout>loop3</stdout> </Command> <Command> - <name>/bin/mount --read-only /dev/sda2 /tmp/libstorage-zs0TkS/tmp-mount-DCr0Cr -o subvol=/</name> - </Command> - <Command> - <name>/bin/mount --read-only /dev/sda2 /tmp/libstorage-zs0TkS/tmp-mount-ZbJYMD -o subvol=/</name> - </Command> - <Command> - <name>/bin/umount /tmp/libstorage-zs0TkS/tmp-mount-DCr0Cr</name> - </Command> - <Command> - <name>/bin/umount /tmp/libstorage-zs0TkS/tmp-mount-ZbJYMD</name> - </Command> - <Command> <!-- output faked --> <name>/sbin/blkid --version</name> <stdout>blkid from util-linux 2.41.3 (libblkid 2.41.3, 15-Dec-2025)</stdout>
