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 2023-03-06 18:54:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libstorage-ng (Old)
 and      /work/SRC/openSUSE:Factory/.libstorage-ng.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libstorage-ng"

Mon Mar  6 18:54:57 2023 rev:204 rq:1069606 version:4.5.76

Changes:
--------
--- /work/SRC/openSUSE:Factory/libstorage-ng/libstorage-ng.changes      
2023-03-04 22:42:08.811443781 +0100
+++ /work/SRC/openSUSE:Factory/.libstorage-ng.new.31432/libstorage-ng.changes   
2023-03-06 18:55:01.924505732 +0100
@@ -1,0 +2,14 @@
+Mon Mar 6 11:44:41 UTC 2023 - aschn...@suse.com
+
+- merge gh#openSUSE/libstorage-ng#914
+- use some actions for different objects
+- more defensive programming
+- 4.5.76
+
+--------------------------------------------------------------------
+Sun Mar 5 13:29:03 UTC 2023 - bit...@opensuse.org
+
+- Translated using Weblate (Swedish) (bsc#1149754)
+- 4.5.75
+
+--------------------------------------------------------------------

Old:
----
  libstorage-ng-4.5.74.tar.xz

New:
----
  libstorage-ng-4.5.76.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libstorage-ng.spec ++++++
--- /var/tmp/diff_new_pack.wEhtGB/_old  2023-03-06 18:55:02.688509631 +0100
+++ /var/tmp/diff_new_pack.wEhtGB/_new  2023-03-06 18:55:02.692509651 +0100
@@ -18,7 +18,7 @@
 
 %define libname %{name}1
 Name:           libstorage-ng
-Version:        4.5.74
+Version:        4.5.76
 Release:        0
 Summary:        Library for storage management
 License:        GPL-2.0-only

++++++ libstorage-ng-4.5.74.tar.xz -> libstorage-ng-4.5.76.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/VERSION 
new/libstorage-ng-4.5.76/VERSION
--- old/libstorage-ng-4.5.74/VERSION    2023-03-02 18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/VERSION    2023-03-06 12:44:41.000000000 +0100
@@ -1 +1 @@
-4.5.74
+4.5.76
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/doc/status.md 
new/libstorage-ng-4.5.76/doc/status.md
--- old/libstorage-ng-4.5.74/doc/status.md      2023-03-02 18:36:53.000000000 
+0100
+++ new/libstorage-ng-4.5.76/doc/status.md      2023-03-06 12:44:41.000000000 
+0100
@@ -56,6 +56,7 @@
 
 Not planned:
 
+* Renaming volume groups or logical volumes.
 * Cluster support.
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libstorage-ng-4.5.74/integration-tests/lvm/rename-lv.py 
new/libstorage-ng-4.5.76/integration-tests/lvm/rename-lv.py
--- old/libstorage-ng-4.5.74/integration-tests/lvm/rename-lv.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/libstorage-ng-4.5.76/integration-tests/lvm/rename-lv.py 2023-03-06 
12:44:41.000000000 +0100
@@ -0,0 +1,29 @@
+#!/usr/bin/python3
+
+# requirements: unused logical volume a in volume group test1
+
+# The operation is not supported. On it own it works but not in
+# combination with other operations.
+
+
+from storage import *
+from storageitu import *
+
+
+set_logger(get_logfile_logger())
+
+environment = Environment(False)
+
+storage = Storage(environment)
+storage.probe()
+
+staging = storage.get_staging()
+
+lvm_vg = LvmVg.find_by_vg_name(staging, "test1")
+
+lvm_lv = lvm_vg.get_lvm_lv("a")
+lvm_lv.set_lv_name("b")
+
+print(staging)
+
+commit(storage)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libstorage-ng-4.5.74/integration-tests/lvm/rename-vg.py 
new/libstorage-ng-4.5.76/integration-tests/lvm/rename-vg.py
--- old/libstorage-ng-4.5.74/integration-tests/lvm/rename-vg.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/libstorage-ng-4.5.76/integration-tests/lvm/rename-vg.py 2023-03-06 
12:44:41.000000000 +0100
@@ -0,0 +1,27 @@
+#!/usr/bin/python3
+
+# requirements: unused volume group test1
+
+# The operation is not supported. On it own it works but not in
+# combination with other operations.
+
+
+from storage import *
+from storageitu import *
+
+
+set_logger(get_logfile_logger())
+
+environment = Environment(False)
+
+storage = Storage(environment)
+storage.probe()
+
+staging = storage.get_staging()
+
+lvm_vg = LvmVg.find_by_vg_name(staging, "test1")
+lvm_vg.set_vg_name("test2")
+
+print(staging)
+
+commit(storage)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/po/sv.po 
new/libstorage-ng-4.5.76/po/sv.po
--- old/libstorage-ng-4.5.74/po/sv.po   2023-03-02 18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/po/sv.po   2023-03-06 12:44:41.000000000 +0100
@@ -10,7 +10,7 @@
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-08-05 08:30+0200\n"
-"PO-Revision-Date: 2022-08-12 10:13+0000\n"
+"PO-Revision-Date: 2023-03-05 16:14+0000\n"
 "Last-Translator: Luna  Jernberg <bit...@opensuse.org>\n"
 "Language-Team: Swedish <https://l10n.opensuse.org/projects/libstorage/";
 "ng-master/sv/>\n"
@@ -3358,18 +3358,18 @@
 #. %2$s is replaced by the btrfs qgroup id (e.g. 1/0),
 #. %3$s is replaced by one or more devices (e.g /dev/sda1 (2.00 GiB)
 #. and /dev/sdb2 (2.00 GiB))
-#, fuzzy, c-format
+#, c-format
 msgid "Unassign qgroup of subvolume %1$s from qgroup %2$s on %3$s"
-msgstr "Avmontera delvolym %1$s på %2$s i %3$s"
+msgstr "Ta bort qgroup av delvolym %1$s från qgroup %2$s på %3$s"
 
 #. TRANSLATORS: displayed during action,
 #. %1$s is replaced by the btrfs qgroup id (e.g. 1/0),
 #. %2$s is replaced by the btrfs qgroup id (e.g. 2/0),
 #. %3$s is replaced by one or more devices (e.g /dev/sda1 (2.00 GiB)
 #. and /dev/sdb2 (2.00 GiB))
-#, fuzzy, c-format
+#, c-format
 msgid "Unassigning qgroup %1$s from qgroup %2$s on %3$s"
-msgstr "Krymper partition %1$s från %2$s till %3$s"
+msgstr "Tar bort qgroup %1$s från qgroup %2$s på %3$s"
 
 # SLE12
 #. TRANSLATORS: displayed during action,
@@ -3377,9 +3377,9 @@
 #. %2$s is replaced by the btrfs qgroup id (e.g. 1/0),
 #. %3$s is replaced by one or more devices (e.g /dev/sda1 (2.00 GiB)
 #. and /dev/sdb2 (2.00 GiB))
-#, fuzzy, c-format
+#, c-format
 msgid "Unassigning qgroup of subvolume %1$s from qgroup %2$s on %3$s"
-msgstr "Avmonterar delvolym %1$s på %2$s i %3$s"
+msgstr "Tar bort qgroup av delvolym %1$s från qgroup %2$s på %3$s"
 
 #. TRANSLATORS: name of partition type
 msgid "Unknown"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Base.h 
new/libstorage-ng-4.5.76/storage/Actions/Base.h
--- old/libstorage-ng-4.5.74/storage/Actions/Base.h     2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Base.h     2023-03-06 
12:44:41.000000000 +0100
@@ -39,8 +39,8 @@
     {
 
        /**
-        * An action can either affect a device or a holder. Thus either sid or 
sid_pair
-        * is valid.
+        * Abstract base class for actions. An action can either affect a 
device or a
+        * holder. Thus either sid or sid_pair is valid.
         */
        class Base : private boost::noncopyable
        {
@@ -114,6 +114,9 @@
        return dynamic_cast<const Type*>(action);
     }
 
+
+    static_assert(std::is_abstract<Action::Base>(), "Base ought to be 
abstract.");
+
 }
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Create.h 
new/libstorage-ng-4.5.76/storage/Actions/Create.h
--- old/libstorage-ng-4.5.74/storage/Actions/Create.h   2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Create.h   2023-03-06 
12:44:41.000000000 +0100
@@ -82,6 +82,9 @@
        return is_action_of_type<const Action::Create>(action);
     }
 
+
+    static_assert(!std::is_abstract<Action::Create>(), "Create ought not to be 
abstract.");
+
 }
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Delete.h 
new/libstorage-ng-4.5.76/storage/Actions/Delete.h
--- old/libstorage-ng-4.5.74/storage/Actions/Delete.h   2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Delete.h   2023-03-06 
12:44:41.000000000 +0100
@@ -82,6 +82,9 @@
        return is_action_of_type<const Action::Delete>(action);
     }
 
+
+    static_assert(!std::is_abstract<Action::Delete>(), "Delete ought not to be 
abstract.");
+
 }
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Makefile.am 
new/libstorage-ng-4.5.76/storage/Actions/Makefile.am
--- old/libstorage-ng-4.5.74/storage/Actions/Makefile.am        2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Makefile.am        2023-03-06 
12:44:41.000000000 +0100
@@ -34,11 +34,10 @@
        SetLegacyBoot.h                 SetLegacyBoot.cc                \
        SetLimits.h                     SetLimits.cc                    \
        SetNocow.h                      SetNocow.cc                     \
-       SetPartitionId.h                SetPartitionId.cc               \
-       SetPartitionLabel.h             SetPartitionLabel.cc            \
        SetPmbrBoot.h                   SetPmbrBoot.cc                  \
        SetQuota.h                      SetQuota.cc                     \
        SetTuneOptions.h                SetTuneOptions.cc               \
+       SetTypeId.h                     SetTypeId.cc                    \
        SetUuid.h                       SetUuid.cc                      \
        Unmount.h                       Unmount.cc                      \
        UpdateCacheMode.h               UpdateCacheMode.cc              \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Modify.h 
new/libstorage-ng-4.5.76/storage/Actions/Modify.h
--- old/libstorage-ng-4.5.74/storage/Actions/Modify.h   2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Modify.h   2023-03-06 
12:44:41.000000000 +0100
@@ -57,6 +57,9 @@
        return is_action_of_type<const Action::Modify>(action);
     }
 
+
+    static_assert(std::is_abstract<Action::Modify>(), "Modify ought to be 
abstract.");
+
 }
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Reallot.cc 
new/libstorage-ng-4.5.76/storage/Actions/Reallot.cc
--- old/libstorage-ng-4.5.74/storage/Actions/Reallot.cc 2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Reallot.cc 2023-03-06 
12:44:41.000000000 +0100
@@ -22,6 +22,7 @@
 
 
 #include "storage/Actions/Reallot.h"
+#include "storage/Devices/DeviceImpl.h"
 
 
 namespace storage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Reallot.h 
new/libstorage-ng-4.5.76/storage/Actions/Reallot.h
--- old/libstorage-ng-4.5.74/storage/Actions/Reallot.h  2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Reallot.h  2023-03-06 
12:44:41.000000000 +0100
@@ -26,7 +26,7 @@
 
 
 #include "storage/Actions/Modify.h"
-#include "storage/Devices/DeviceImpl.h"
+#include "storage/Devices/Device.h"
 
 
 namespace storage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Rename.cc 
new/libstorage-ng-4.5.76/storage/Actions/Rename.cc
--- old/libstorage-ng-4.5.74/storage/Actions/Rename.cc  2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Rename.cc  2023-03-06 
12:44:41.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2016-2021] SUSE LLC
+ * Copyright (c) [2016-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -22,6 +22,7 @@
 
 #include "storage/Actions/Rename.h"
 #include "storage/Devices/LvmLvImpl.h"
+#include "storage/Devices/LvmVgImpl.h"
 
 
 namespace storage
@@ -33,25 +34,63 @@
        Text
        Rename::text(const CommitData& commit_data) const
        {
-           const LvmLv* lhs_lvm_lv = 
to_lvm_lv(get_device(commit_data.actiongraph, LHS));
-           const LvmLv* rhs_lvm_lv = 
to_lvm_lv(get_device(commit_data.actiongraph, RHS));
-           return 
rhs_lvm_lv->get_impl().do_rename_text(lhs_lvm_lv->get_impl(), 
commit_data.tense);
+           const Device* device_rhs = get_device(commit_data.actiongraph, RHS);
+
+           if (is_lvm_lv(device_rhs))
+           {
+               const LvmLv* rhs_lvm_lv = to_lvm_lv(device_rhs);
+               return rhs_lvm_lv->get_impl().do_rename_text(commit_data, this);
+           }
+
+           if (is_lvm_vg(device_rhs))
+           {
+               const LvmVg* rhs_lvm_vg = to_lvm_vg(device_rhs);
+               return rhs_lvm_vg->get_impl().do_rename_text(commit_data, this);
+           }
+
+           ST_THROW(LogicException("Rename called for unsupported object"));
        }
 
+
        void
        Rename::commit(CommitData& commit_data, const CommitOptions& 
commit_options) const
        {
-           const LvmLv* lhs_lvm_lv = 
to_lvm_lv(get_device(commit_data.actiongraph, LHS));
-           const LvmLv* rhs_lvm_lv = 
to_lvm_lv(get_device(commit_data.actiongraph, RHS));
-           return rhs_lvm_lv->get_impl().do_rename(lhs_lvm_lv->get_impl());
+           const Device* device_rhs = get_device(commit_data.actiongraph, RHS);
+
+           if (is_lvm_lv(device_rhs))
+           {
+               const LvmLv* rhs_lvm_lv = to_lvm_lv(device_rhs);
+               return rhs_lvm_lv->get_impl().do_rename(commit_data, this);
+           }
+
+           if (is_lvm_vg(device_rhs))
+           {
+               const LvmVg* rhs_lvm_vg = to_lvm_vg(device_rhs);
+               return rhs_lvm_vg->get_impl().do_rename(commit_data, this);
+           }
+
+           ST_THROW(LogicException("Rename called for unsupported object"));
        }
 
 
        uf_t
        Rename::used_features(const Actiongraph::Impl& actiongraph) const
        {
-           const LvmLv* lvm_lv = to_lvm_lv(get_device(actiongraph, RHS));
-           return lvm_lv->get_impl().do_rename_used_features();
+           const Device* device = get_device(actiongraph, RHS);
+
+           if (is_lvm_lv(device))
+           {
+               const LvmLv* lvm_lv = to_lvm_lv(device);
+               return lvm_lv->get_impl().do_rename_used_features();
+           }
+
+           if (is_lvm_vg(device))
+           {
+               const LvmVg* lvm_vg = to_lvm_vg(device);
+               return lvm_vg->get_impl().do_rename_used_features();
+           }
+
+           ST_THROW(LogicException("Rename called for unsupported object"));
        }
 
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/RenameIn.h 
new/libstorage-ng-4.5.76/storage/Actions/RenameIn.h
--- old/libstorage-ng-4.5.74/storage/Actions/RenameIn.h 2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/RenameIn.h 2023-03-06 
12:44:41.000000000 +0100
@@ -36,8 +36,8 @@
     {
 
        /**
-        * Base class for renaming a blk device in some file, e.g. /etc/fstab
-        * or /etc/crypttab.
+        * Abstract class for renaming a blk device in some file, e.g. 
/etc/fstab or
+        * /etc/crypttab.
         */
        class RenameIn : public Modify
        {
@@ -60,6 +60,9 @@
 
     }
 
+
+    static_assert(std::is_abstract<Action::RenameIn>(), "RenameIn ought to be 
abstract.");
+
 }
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/Resize.h 
new/libstorage-ng-4.5.76/storage/Actions/Resize.h
--- old/libstorage-ng-4.5.74/storage/Actions/Resize.h   2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/Resize.h   2023-03-06 
12:44:41.000000000 +0100
@@ -26,7 +26,7 @@
 
 
 #include "storage/Actions/Modify.h"
-#include "storage/Devices/DeviceImpl.h"
+#include "storage/Devices/BlkDevice.h"
 
 
 namespace storage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/SetLabel.cc 
new/libstorage-ng-4.5.76/storage/Actions/SetLabel.cc
--- old/libstorage-ng-4.5.74/storage/Actions/SetLabel.cc        2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/SetLabel.cc        2023-03-06 
12:44:41.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2022] SUSE LLC
+ * Copyright (c) [2016-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -22,6 +22,7 @@
 
 
 #include "storage/Actions/SetLabel.h"
+#include "storage/Devices/PartitionImpl.h"
 #include "storage/Filesystems/BlkFilesystemImpl.h"
 
 
@@ -34,24 +35,63 @@
        Text
        SetLabel::text(const CommitData& commit_data) const
        {
-           const BlkFilesystem* blk_filesystem = 
to_blk_filesystem(get_device(commit_data.actiongraph, RHS));
-           return 
blk_filesystem->get_impl().do_set_label_text(commit_data.tense);
+           const Device* device = get_device(commit_data.actiongraph, RHS);
+
+           if (is_partition(device))
+           {
+               const Partition* partition = to_partition(device);
+               return 
partition->get_impl().do_set_label_text(commit_data.tense);
+           }
+
+           if (is_blk_filesystem(device))
+           {
+               const BlkFilesystem* blk_filesystem = to_blk_filesystem(device);
+               return 
blk_filesystem->get_impl().do_set_label_text(commit_data.tense);
+           }
+
+           ST_THROW(LogicException("SetLabel called for unsupported object"));
        }
 
 
        void
        SetLabel::commit(CommitData& commit_data, const CommitOptions& 
commit_options) const
        {
-           const BlkFilesystem* blk_filesystem = 
to_blk_filesystem(get_device(commit_data.actiongraph, RHS));
-           blk_filesystem->get_impl().do_set_label();
+           const Device* device = get_device(commit_data.actiongraph, RHS);
+
+           if (is_partition(device))
+           {
+               const Partition* partition = to_partition(device);
+               return partition->get_impl().do_set_label();
+           }
+
+           if (is_blk_filesystem(device))
+           {
+               const BlkFilesystem* blk_filesystem = to_blk_filesystem(device);
+               return blk_filesystem->get_impl().do_set_label();
+           }
+
+           ST_THROW(LogicException("SetLabel called for unsupported object"));
        }
 
 
        uf_t
        SetLabel::used_features(const Actiongraph::Impl& actiongraph) const
        {
-           const BlkFilesystem* blk_filesystem = 
to_blk_filesystem(get_device(actiongraph, RHS));
-           return blk_filesystem->get_impl().do_set_label_used_features();
+           const Device* device = get_device(actiongraph, RHS);
+
+           if (is_partition(device))
+           {
+               const Partition* partition = to_partition(device);
+               return partition->get_impl().do_set_label_used_features();
+           }
+
+           if (is_blk_filesystem(device))
+           {
+               const BlkFilesystem* blk_filesystem = to_blk_filesystem(device);
+               return blk_filesystem->get_impl().do_set_label_used_features();
+           }
+
+           ST_THROW(LogicException("SetLabel called for unsupported object"));
        }
 
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libstorage-ng-4.5.74/storage/Actions/SetPartitionId.cc 
new/libstorage-ng-4.5.76/storage/Actions/SetPartitionId.cc
--- old/libstorage-ng-4.5.74/storage/Actions/SetPartitionId.cc  2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/SetPartitionId.cc  1970-01-01 
01:00:00.000000000 +0100
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2022] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail, you may
- * find current contact information at www.novell.com.
- */
-
-
-#include "storage/Actions/SetPartitionId.h"
-#include "storage/Devices/PartitionImpl.h"
-
-
-namespace storage
-{
-
-    namespace Action
-    {
-
-       Text
-       SetPartitionId::text(const CommitData& commit_data) const
-       {
-           const Partition* partition = 
to_partition(get_device(commit_data.actiongraph, RHS));
-           return partition->get_impl().do_set_id_text(commit_data.tense);
-       }
-
-
-       void
-       SetPartitionId::commit(CommitData& commit_data, const CommitOptions& 
commit_options) const
-       {
-           const Partition* partition = 
to_partition(get_device(commit_data.actiongraph, RHS));
-           partition->get_impl().do_set_id();
-       }
-
-    }
-
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libstorage-ng-4.5.74/storage/Actions/SetPartitionId.h 
new/libstorage-ng-4.5.76/storage/Actions/SetPartitionId.h
--- old/libstorage-ng-4.5.74/storage/Actions/SetPartitionId.h   2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/SetPartitionId.h   1970-01-01 
01:00:00.000000000 +0100
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2022] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail, you may
- * find current contact information at www.novell.com.
- */
-
-
-#ifndef STORAGE_ACTION_SET_PARTITION_ID_H
-#define STORAGE_ACTION_SET_PARTITION_ID_H
-
-
-#include "storage/Actions/Modify.h"
-
-
-namespace storage
-{
-
-    namespace Action
-    {
-
-       class SetPartitionId : public Modify
-       {
-       public:
-
-           SetPartitionId(sid_t sid) : Modify(sid) {}
-
-           virtual Text text(const CommitData& commit_data) const override;
-           virtual void commit(CommitData& commit_data, const CommitOptions& 
commit_options) const override;
-
-       };
-
-    }
-
-}
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libstorage-ng-4.5.74/storage/Actions/SetPartitionLabel.cc 
new/libstorage-ng-4.5.76/storage/Actions/SetPartitionLabel.cc
--- old/libstorage-ng-4.5.74/storage/Actions/SetPartitionLabel.cc       
2023-03-02 18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/SetPartitionLabel.cc       
1970-01-01 01:00:00.000000000 +0100
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2022] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail, you may
- * find current contact information at www.novell.com.
- */
-
-
-#include "storage/Actions/SetPartitionLabel.h"
-#include "storage/Devices/PartitionImpl.h"
-
-
-namespace storage
-{
-
-    namespace Action
-    {
-
-       Text
-       SetPartitionLabel::text(const CommitData& commit_data) const
-       {
-           const Partition* partition = 
to_partition(get_device(commit_data.actiongraph, RHS));
-           return partition->get_impl().do_set_label_text(commit_data.tense);
-       }
-
-
-       void
-       SetPartitionLabel::commit(CommitData& commit_data, const CommitOptions& 
commit_options) const
-       {
-           const Partition* partition = 
to_partition(get_device(commit_data.actiongraph, RHS));
-           partition->get_impl().do_set_label();
-       }
-
-    }
-
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libstorage-ng-4.5.74/storage/Actions/SetPartitionLabel.h 
new/libstorage-ng-4.5.76/storage/Actions/SetPartitionLabel.h
--- old/libstorage-ng-4.5.74/storage/Actions/SetPartitionLabel.h        
2023-03-02 18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/SetPartitionLabel.h        
1970-01-01 01:00:00.000000000 +0100
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) [2014-2015] Novell, Inc.
- * Copyright (c) [2016-2022] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact Novell, Inc.
- *
- * To contact Novell about this file by physical or electronic mail, you may
- * find current contact information at www.novell.com.
- */
-
-
-#ifndef STORAGE_ACTION_SET_PARTITION_LABEL_H
-#define STORAGE_ACTION_SET_PARTITION_LABEL_H
-
-
-#include "storage/Actions/Modify.h"
-
-
-namespace storage
-{
-
-    namespace Action
-    {
-
-       class SetPartitionLabel : public Modify
-       {
-       public:
-
-           SetPartitionLabel(sid_t sid) : Modify(sid) {}
-
-           virtual Text text(const CommitData& commit_data) const override;
-           virtual void commit(CommitData& commit_data, const CommitOptions& 
commit_options) const override;
-
-       };
-
-    }
-
-}
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/SetTypeId.cc 
new/libstorage-ng-4.5.76/storage/Actions/SetTypeId.cc
--- old/libstorage-ng-4.5.74/storage/Actions/SetTypeId.cc       1970-01-01 
01:00:00.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/SetTypeId.cc       2023-03-06 
12:44:41.000000000 +0100
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) [2014-2015] Novell, Inc.
+ * Copyright (c) [2016-2022] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, contact Novell, Inc.
+ *
+ * To contact Novell about this file by physical or electronic mail, you may
+ * find current contact information at www.novell.com.
+ */
+
+
+#include "storage/Actions/SetTypeId.h"
+#include "storage/Devices/PartitionImpl.h"
+
+
+namespace storage
+{
+
+    namespace Action
+    {
+
+       Text
+       SetTypeId::text(const CommitData& commit_data) const
+       {
+           const Partition* partition = 
to_partition(get_device(commit_data.actiongraph, RHS));
+           return partition->get_impl().do_set_type_id_text(commit_data.tense);
+       }
+
+
+       void
+       SetTypeId::commit(CommitData& commit_data, const CommitOptions& 
commit_options) const
+       {
+           const Partition* partition = 
to_partition(get_device(commit_data.actiongraph, RHS));
+           partition->get_impl().do_set_type_id();
+       }
+
+    }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Actions/SetTypeId.h 
new/libstorage-ng-4.5.76/storage/Actions/SetTypeId.h
--- old/libstorage-ng-4.5.74/storage/Actions/SetTypeId.h        1970-01-01 
01:00:00.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Actions/SetTypeId.h        2023-03-06 
12:44:41.000000000 +0100
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) [2014-2015] Novell, Inc.
+ * Copyright (c) [2016-2022] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, contact Novell, Inc.
+ *
+ * To contact Novell about this file by physical or electronic mail, you may
+ * find current contact information at www.novell.com.
+ */
+
+
+#ifndef STORAGE_ACTION_SET_TYPE_ID_H
+#define STORAGE_ACTION_SET_TYPE_ID_H
+
+
+#include "storage/Actions/Modify.h"
+
+
+namespace storage
+{
+
+    namespace Action
+    {
+
+       class SetTypeId : public Modify
+       {
+       public:
+
+           SetTypeId(sid_t sid) : Modify(sid) {}
+
+           virtual Text text(const CommitData& commit_data) const override;
+           virtual void commit(CommitData& commit_data, const CommitOptions& 
commit_options) const override;
+
+       };
+
+    }
+
+}
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Devices/LvmLv.h 
new/libstorage-ng-4.5.76/storage/Devices/LvmLv.h
--- old/libstorage-ng-4.5.74/storage/Devices/LvmLv.h    2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/LvmLv.h    2023-03-06 
12:44:41.000000000 +0100
@@ -180,7 +180,8 @@
        const std::string& get_lv_name() const;
 
        /**
-        * Set the logical volume name.
+        * Set the logical volume name. The library does not support to rename 
logical
+        * volumes on disk.
         *
         * @see get_lv_name()
         */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Devices/LvmLvImpl.cc 
new/libstorage-ng-4.5.76/storage/Devices/LvmLvImpl.cc
--- old/libstorage-ng-4.5.74/storage/Devices/LvmLvImpl.cc       2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/LvmLvImpl.cc       2023-03-06 
12:44:41.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2016-2021] SUSE LLC
+ * Copyright (c) [2016-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -62,8 +62,7 @@
 
     LvmLv::Impl::Impl(const string& vg_name, const string& lv_name, LvType 
lv_type)
        : BlkDevice::Impl(make_name(vg_name, lv_name)), lv_name(lv_name), 
lv_type(lv_type),
-         uuid(), used_extents(0), stripes(lv_type == LvType::THIN ? 0 : 1), 
stripe_size(0),
-         chunk_size(0)
+         stripes(lv_type == LvType::THIN ? 0 : 1)
     {
        set_active(lv_type != LvType::THIN_POOL && lv_type != 
LvType::CACHE_POOL);
 
@@ -72,8 +71,7 @@
 
 
     LvmLv::Impl::Impl(const xmlNode* node)
-       : BlkDevice::Impl(node), lv_name(), lv_type(LvType::NORMAL), uuid(), 
used_extents(0),
-         stripes(0), stripe_size(0), chunk_size(0)
+       : BlkDevice::Impl(node), lv_type(LvType::NORMAL)
     {
        string tmp;
 
@@ -884,7 +882,7 @@
 
        const Impl& lhs = dynamic_cast<const Impl&>(lhs_base->get_impl());
 
-       if (get_name() != lhs.get_name())
+       if (get_lv_name() != lhs.get_lv_name())
        {
            shared_ptr<Action::Base> action = 
make_shared<Action::Rename>(get_sid());
            actiongraph.add_vertex(action);
@@ -1050,20 +1048,35 @@
 
 
     Text
-    LvmLv::Impl::do_rename_text(const Impl& lhs, Tense tense) const
+    LvmLv::Impl::do_rename_text(const CommitData& commit_data, const 
Action::Rename* action) const
     {
+       const LvmVg* lvm_vg = get_lvm_vg();
+
+       const LvmLv* lvm_lv_lhs = 
to_lvm_lv(action->get_device(commit_data.actiongraph, LHS));
+       const LvmLv* lvm_lv_rhs = 
to_lvm_lv(action->get_device(commit_data.actiongraph, RHS));
+
        // TRANSLATORS:
        // %1$s is replaced with the old logical volume name (e.g. foo),
-       // %2$s is replaced with the new logical volume name (e.g. bar)
-       Text text = _("Rename %1$s to %2$s");
+       // %2$s is replaced with the new logical volume name (e.g. bar),
+       // %3$s is replaced with the volume group name (e.g. system)
+       Text text = _("Rename logical volume %1$s to %2$s on volume group 
%3$s");
 
-       return sformat(text, lhs.get_displayname(), get_displayname());
+       return sformat(text, lvm_lv_lhs->get_displayname(), 
lvm_lv_rhs->get_displayname(), lvm_vg->get_vg_name());
     }
 
 
     void
-    LvmLv::Impl::do_rename(const Impl& lhs) const
+    LvmLv::Impl::do_rename(const CommitData& commit_data, const 
Action::Rename* action) const
     {
+       const LvmVg* lvm_vg = get_lvm_vg();
+
+       const LvmLv* lvm_lv_lhs = 
to_lvm_lv(action->get_device(commit_data.actiongraph, LHS));
+       const LvmLv* lvm_lv_rhs = 
to_lvm_lv(action->get_device(commit_data.actiongraph, RHS));
+
+       string cmd_line = LVRENAME_BIN " " + quote(lvm_vg->get_vg_name()) + " " 
+
+           quote(lvm_lv_lhs->get_lv_name()) + " " + 
quote(lvm_lv_rhs->get_lv_name());
+
+       SystemCmd cmd(cmd_line, SystemCmd::DoThrow);
     }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Devices/LvmLvImpl.h 
new/libstorage-ng-4.5.76/storage/Devices/LvmLvImpl.h
--- old/libstorage-ng-4.5.74/storage/Devices/LvmLvImpl.h        2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/LvmLvImpl.h        2023-03-06 
12:44:41.000000000 +0100
@@ -27,6 +27,7 @@
 #include "storage/Devices/LvmLv.h"
 #include "storage/Devices/BlkDeviceImpl.h"
 #include "storage/Utils/Enum.h"
+#include "storage/Actions/Rename.h"
 
 
 namespace storage
@@ -148,8 +149,8 @@
        virtual void do_create_post_verify() const override;
        virtual uf_t do_create_used_features() const override { return UF_LVM; }
 
-       virtual Text do_rename_text(const Impl& lhs, Tense tense) const;
-       virtual void do_rename(const Impl& lhs) const;
+       virtual Text do_rename_text(const CommitData& commit_data, const 
Action::Rename* action) const;
+       virtual void do_rename(const CommitData& commit_data, const 
Action::Rename* action) const;
        virtual uf_t do_rename_used_features() const { return UF_LVM; }
 
        virtual Text do_resize_text(const CommitData& commit_data, const 
Action::Resize* action) const override;
@@ -192,12 +193,12 @@
         *
         * TODO For RAIDs and mirrors the value is incorrect.
         */
-       unsigned long long used_extents;
+       unsigned long long used_extents = 0;
 
-       unsigned int stripes;
-       unsigned long long stripe_size;
+       unsigned int stripes = 0;
+       unsigned long long stripe_size = 0;
 
-       unsigned long long chunk_size;
+       unsigned long long chunk_size = 0;
 
     };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Devices/LvmVg.h 
new/libstorage-ng-4.5.76/storage/Devices/LvmVg.h
--- old/libstorage-ng-4.5.74/storage/Devices/LvmVg.h    2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/LvmVg.h    2023-03-06 
12:44:41.000000000 +0100
@@ -76,8 +76,8 @@
        const std::string& get_vg_name() const;
 
        /**
-        * Set the volume group name. The library does not support to
-        * rename volume groups on disk.
+        * Set the volume group name. The library does not support to rename 
volume groups
+        * on disk.
         *
         * @see get_vg_name()
         */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Devices/LvmVgImpl.cc 
new/libstorage-ng-4.5.76/storage/Devices/LvmVgImpl.cc
--- old/libstorage-ng-4.5.74/storage/Devices/LvmVgImpl.cc       2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/LvmVgImpl.cc       2023-03-06 
12:44:41.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2016-2021] SUSE LLC
+ * Copyright (c) [2016-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -523,6 +523,22 @@
 
 
     void
+    LvmVg::Impl::add_modify_actions(Actiongraph::Impl& actiongraph, const 
Device* lhs_base) const
+    {
+       Device::Impl::add_modify_actions(actiongraph, lhs_base);
+
+       const Impl& lhs = dynamic_cast<const Impl&>(lhs_base->get_impl());
+
+       if (get_vg_name() != lhs.get_vg_name())
+       {
+           shared_ptr<Action::Base> action = 
make_shared<Action::Rename>(get_sid());
+           actiongraph.add_vertex(action);
+           action->first = action->last = true;
+       }
+    }
+
+
+    void
     LvmVg::Impl::add_delete_actions(Actiongraph::Impl& actiongraph) const
     {
        vector<shared_ptr<Action::Base>> actions;
@@ -586,6 +602,34 @@
     }
 
 
+    Text
+    LvmVg::Impl::do_rename_text(const CommitData& commit_data, const 
Action::Rename* action) const
+    {
+       const LvmVg* lvm_vg_lhs = 
to_lvm_vg(action->get_device(commit_data.actiongraph, LHS));
+       const LvmVg* lvm_vg_rhs = 
to_lvm_vg(action->get_device(commit_data.actiongraph, RHS));
+
+       // TRANSLATORS:
+       // %1$s is replaced with the old volume group name (e.g. foo),
+       // %2$s is replaced with the new volume group name (e.g. bar)
+       Text text = _("Rename volume group %1$s to %2$s");
+
+       return sformat(text, lvm_vg_lhs->get_displayname(), 
lvm_vg_rhs->get_displayname());
+    }
+
+
+    void
+    LvmVg::Impl::do_rename(const CommitData& commit_data, const 
Action::Rename* action) const
+    {
+       const LvmVg* lvm_vg_lhs = 
to_lvm_vg(action->get_device(commit_data.actiongraph, LHS));
+       const LvmVg* lvm_vg_rhs = 
to_lvm_vg(action->get_device(commit_data.actiongraph, RHS));
+
+       string cmd_line = VGRENAME_BIN " " + quote(lvm_vg_lhs->get_vg_name()) + 
" " +
+           quote(lvm_vg_rhs->get_vg_name());
+
+       SystemCmd cmd(cmd_line, SystemCmd::DoThrow);
+    }
+
+
     Text
     LvmVg::Impl::do_delete_text(Tense tense) const
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Devices/LvmVgImpl.h 
new/libstorage-ng-4.5.76/storage/Devices/LvmVgImpl.h
--- old/libstorage-ng-4.5.74/storage/Devices/LvmVgImpl.h        2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/LvmVgImpl.h        2023-03-06 
12:44:41.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2016-2019] SUSE LLC
+ * Copyright (c) [2016-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -29,6 +29,7 @@
 #include "storage/Utils/StorageDefines.h"
 #include "storage/Devices/LvmVg.h"
 #include "storage/Devices/DeviceImpl.h"
+#include "storage/Actions/Rename.h"
 
 
 namespace storage
@@ -131,6 +132,7 @@
         */
        bool is_partial() const;
 
+       virtual void add_modify_actions(Actiongraph::Impl& actiongraph, const 
Device* lhs_base) const override;
        virtual void add_delete_actions(Actiongraph::Impl& actiongraph) const 
override;
 
        virtual Text do_create_text(Tense tense) const override;
@@ -138,6 +140,10 @@
        virtual void do_create_post_verify() const override;
        virtual uf_t do_create_used_features() const override { return UF_LVM; }
 
+       virtual Text do_rename_text(const CommitData& commit_data, const 
Action::Rename* action) const;
+       virtual void do_rename(const CommitData& commit_data, const 
Action::Rename* action) const;
+       virtual uf_t do_rename_used_features() const { return UF_LVM; }
+
        virtual Text do_delete_text(Tense tense) const override;
        virtual void do_delete() const override;
        virtual uf_t do_delete_used_features() const override { return UF_LVM; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libstorage-ng-4.5.74/storage/Devices/PartitionImpl.cc 
new/libstorage-ng-4.5.76/storage/Devices/PartitionImpl.cc
--- old/libstorage-ng-4.5.74/storage/Devices/PartitionImpl.cc   2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/PartitionImpl.cc   2023-03-06 
12:44:41.000000000 +0100
@@ -45,8 +45,8 @@
 #include "storage/Prober.h"
 #include "storage/Utils/Format.h"
 #include "storage/Actions/Resize.h"
-#include "storage/Actions/SetPartitionId.h"
-#include "storage/Actions/SetPartitionLabel.h"
+#include "storage/Actions/SetTypeId.h"
+#include "storage/Actions/SetLabel.h"
 #include "storage/Actions/SetBoot.h"
 #include "storage/Actions/SetLegacyBoot.h"
 #include "storage/Actions/Create.h"
@@ -416,11 +416,11 @@
            };
 
            if (!contains(skip_ids, id))
-               
actions.push_back(make_shared<Action::SetPartitionId>(get_sid()));
+               actions.push_back(make_shared<Action::SetTypeId>(get_sid()));
        }
 
        if (!label.empty())
-           
actions.push_back(make_shared<Action::SetPartitionLabel>(get_sid()));
+           actions.push_back(make_shared<Action::SetLabel>(get_sid()));
 
        if (boot)
            actions.push_back(make_shared<Action::SetBoot>(get_sid()));
@@ -451,13 +451,13 @@
 
        if (get_id() != lhs.get_id())
        {
-           shared_ptr<Action::Base> action = 
make_shared<Action::SetPartitionId>(get_sid());
+           shared_ptr<Action::Base> action = 
make_shared<Action::SetTypeId>(get_sid());
            actiongraph.add_vertex(action);
        }
 
        if (label != lhs.label)
        {
-           shared_ptr<Action::Base> action = 
make_shared<Action::SetPartitionLabel>(get_sid());
+           shared_ptr<Action::Base> action = 
make_shared<Action::SetLabel>(get_sid());
            actiongraph.add_vertex(action);
        }
 
@@ -1129,7 +1129,7 @@
 
 
     Text
-    Partition::Impl::do_set_id_text(Tense tense) const
+    Partition::Impl::do_set_type_id_text(Tense tense) const
     {
        const PartitionTable* partition_table = get_partition_table();
 
@@ -1187,7 +1187,7 @@
 
 
     void
-    Partition::Impl::do_set_id() const
+    Partition::Impl::do_set_type_id() const
     {
        const PartitionTable* partition_table = get_partition_table();
        const Partitionable* partitionable = 
partition_table->get_partitionable();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Devices/PartitionImpl.h 
new/libstorage-ng-4.5.76/storage/Devices/PartitionImpl.h
--- old/libstorage-ng-4.5.74/storage/Devices/PartitionImpl.h    2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Devices/PartitionImpl.h    2023-03-06 
12:44:41.000000000 +0100
@@ -138,11 +138,12 @@
        virtual void do_create() override;
        virtual void do_create_post_verify() const override;
 
-       virtual Text do_set_id_text(Tense tense) const;
-       virtual void do_set_id() const;
+       virtual Text do_set_type_id_text(Tense tense) const;
+       virtual void do_set_type_id() const;
 
        virtual Text do_set_label_text(Tense tense) const;
        virtual void do_set_label() const;
+       virtual uf_t do_set_label_used_features() const { return 0; }
 
        virtual Text do_set_boot_text(Tense tense) const;
        virtual void do_set_boot() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-ng-4.5.74/storage/Utils/StorageDefines.h 
new/libstorage-ng-4.5.76/storage/Utils/StorageDefines.h
--- old/libstorage-ng-4.5.74/storage/Utils/StorageDefines.h     2023-03-02 
18:36:53.000000000 +0100
+++ new/libstorage-ng-4.5.76/storage/Utils/StorageDefines.h     2023-03-06 
12:44:41.000000000 +0100
@@ -82,12 +82,14 @@
 
 #define LVCREATE_BIN "/sbin/lvcreate"
 #define LVREMOVE_BIN "/sbin/lvremove"
+#define LVRENAME_BIN "/sbin/lvrename"
 #define LVRESIZE_BIN "/sbin/lvresize"
 #define LVCHANGE_BIN "/sbin/lvchange"
 #define LVS_BIN "/sbin/lvs"
 
 #define VGCREATE_BIN "/sbin/vgcreate"
 #define VGREMOVE_BIN "/sbin/vgremove"
+#define VGRENAME_BIN "/sbin/vgrename"
 #define VGEXTEND_BIN "/sbin/vgextend"
 #define VGREDUCE_BIN "/sbin/vgreduce"
 #define VGS_BIN "/sbin/vgs"

Reply via email to