Backport fix for converting dbus.UInt to string in Python 3.8
This commit is contained in:
parent
ec5dbb480e
commit
6313bae883
149
lvm2-2_03_06-Fix-converting-dbus.UInt-types-to-string.patch
Normal file
149
lvm2-2_03_06-Fix-converting-dbus.UInt-types-to-string.patch
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
From 32a8865a272d31d5bc12332a4da0309ce3af9243 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||||
|
Date: Mon, 26 Aug 2019 14:35:51 +0200
|
||||||
|
Subject: [PATCH] Fix converting dbus.UInt types to string
|
||||||
|
|
||||||
|
With Python 3.8 converting these directly to string using str()
|
||||||
|
no longer works, we need to convert these to integer first.
|
||||||
|
|
||||||
|
On Python 3.8:
|
||||||
|
|
||||||
|
>>> str(dbus.Int64(1))
|
||||||
|
'dbus.Int64(1)'
|
||||||
|
|
||||||
|
On Python 3.7 (and older):
|
||||||
|
>>> str(dbus.UInt64(1))
|
||||||
|
'1'
|
||||||
|
|
||||||
|
This is probably related to removing __str__ function from method
|
||||||
|
from int (dbus.UInt is subclass of int) which happened in 3.8, see
|
||||||
|
https://docs.python.org/3.8/whatsnew/3.8.html
|
||||||
|
|
||||||
|
Signed-off-by: Vojtech Trefny <vtrefny@redhat.com>
|
||||||
|
---
|
||||||
|
daemons/lvmdbusd/cmdhandler.py | 35 ++++++++++++++++++----------------
|
||||||
|
1 file changed, 19 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemons/lvmdbusd/cmdhandler.py b/daemons/lvmdbusd/cmdhandler.py
|
||||||
|
index df854eb84..f7f6acdf9 100644
|
||||||
|
--- a/daemons/lvmdbusd/cmdhandler.py
|
||||||
|
+++ b/daemons/lvmdbusd/cmdhandler.py
|
||||||
|
@@ -217,7 +217,10 @@ def options_to_cli_args(options):
|
||||||
|
else:
|
||||||
|
rc.append("--%s" % k)
|
||||||
|
if v != "":
|
||||||
|
- rc.append(str(v))
|
||||||
|
+ if isinstance(v, int):
|
||||||
|
+ rc.append(str(int(v)))
|
||||||
|
+ else:
|
||||||
|
+ rc.append(str(v))
|
||||||
|
return rc
|
||||||
|
|
||||||
|
|
||||||
|
@@ -280,7 +283,7 @@ def vg_remove(vg_name, remove_options):
|
||||||
|
def vg_lv_create(vg_name, create_options, name, size_bytes, pv_dests):
|
||||||
|
cmd = ['lvcreate']
|
||||||
|
cmd.extend(options_to_cli_args(create_options))
|
||||||
|
- cmd.extend(['--size', str(size_bytes) + 'B'])
|
||||||
|
+ cmd.extend(['--size', '%dB' % size_bytes])
|
||||||
|
cmd.extend(['--name', name, vg_name, '--yes'])
|
||||||
|
pv_dest_ranges(cmd, pv_dests)
|
||||||
|
return call(cmd)
|
||||||
|
@@ -292,7 +295,7 @@ def vg_lv_snapshot(vg_name, snapshot_options, name, size_bytes):
|
||||||
|
cmd.extend(["-s"])
|
||||||
|
|
||||||
|
if size_bytes != 0:
|
||||||
|
- cmd.extend(['--size', str(size_bytes) + 'B'])
|
||||||
|
+ cmd.extend(['--size', '%dB' % size_bytes])
|
||||||
|
|
||||||
|
cmd.extend(['--name', name, vg_name])
|
||||||
|
return call(cmd)
|
||||||
|
@@ -303,9 +306,9 @@ def _vg_lv_create_common_cmd(create_options, size_bytes, thin_pool):
|
||||||
|
cmd.extend(options_to_cli_args(create_options))
|
||||||
|
|
||||||
|
if not thin_pool:
|
||||||
|
- cmd.extend(['--size', str(size_bytes) + 'B'])
|
||||||
|
+ cmd.extend(['--size', '%dB' % size_bytes])
|
||||||
|
else:
|
||||||
|
- cmd.extend(['--thin', '--size', str(size_bytes) + 'B'])
|
||||||
|
+ cmd.extend(['--thin', '--size', '%dB' % size_bytes])
|
||||||
|
|
||||||
|
cmd.extend(['--yes'])
|
||||||
|
return cmd
|
||||||
|
@@ -320,10 +323,10 @@ def vg_lv_create_linear(vg_name, create_options, name, size_bytes, thin_pool):
|
||||||
|
def vg_lv_create_striped(vg_name, create_options, name, size_bytes,
|
||||||
|
num_stripes, stripe_size_kb, thin_pool):
|
||||||
|
cmd = _vg_lv_create_common_cmd(create_options, size_bytes, thin_pool)
|
||||||
|
- cmd.extend(['--stripes', str(num_stripes)])
|
||||||
|
+ cmd.extend(['--stripes', str(int(num_stripes))])
|
||||||
|
|
||||||
|
if stripe_size_kb != 0:
|
||||||
|
- cmd.extend(['--stripesize', str(stripe_size_kb)])
|
||||||
|
+ cmd.extend(['--stripesize', str(int(stripe_size_kb))])
|
||||||
|
|
||||||
|
cmd.extend(['--name', name, vg_name])
|
||||||
|
return call(cmd)
|
||||||
|
@@ -336,13 +339,13 @@ def _vg_lv_create_raid(vg_name, create_options, name, raid_type, size_bytes,
|
||||||
|
cmd.extend(options_to_cli_args(create_options))
|
||||||
|
|
||||||
|
cmd.extend(['--type', raid_type])
|
||||||
|
- cmd.extend(['--size', str(size_bytes) + 'B'])
|
||||||
|
+ cmd.extend(['--size', '%dB' % size_bytes])
|
||||||
|
|
||||||
|
if num_stripes != 0:
|
||||||
|
- cmd.extend(['--stripes', str(num_stripes)])
|
||||||
|
+ cmd.extend(['--stripes', str(int(num_stripes))])
|
||||||
|
|
||||||
|
if stripe_size_kb != 0:
|
||||||
|
- cmd.extend(['--stripesize', str(stripe_size_kb)])
|
||||||
|
+ cmd.extend(['--stripesize', str(int(stripe_size_kb))])
|
||||||
|
|
||||||
|
cmd.extend(['--name', name, vg_name, '--yes'])
|
||||||
|
return call(cmd)
|
||||||
|
@@ -363,8 +366,8 @@ def vg_lv_create_mirror(
|
||||||
|
cmd.extend(options_to_cli_args(create_options))
|
||||||
|
|
||||||
|
cmd.extend(['--type', 'mirror'])
|
||||||
|
- cmd.extend(['--mirrors', str(num_copies)])
|
||||||
|
- cmd.extend(['--size', str(size_bytes) + 'B'])
|
||||||
|
+ cmd.extend(['--mirrors', str(int(num_copies))])
|
||||||
|
+ cmd.extend(['--size', '%dB' % size_bytes])
|
||||||
|
cmd.extend(['--name', name, vg_name, '--yes'])
|
||||||
|
return call(cmd)
|
||||||
|
|
||||||
|
@@ -418,7 +421,7 @@ def lv_resize(lv_full_name, size_change, pv_dests,
|
||||||
|
def lv_lv_create(lv_full_name, create_options, name, size_bytes):
|
||||||
|
cmd = ['lvcreate']
|
||||||
|
cmd.extend(options_to_cli_args(create_options))
|
||||||
|
- cmd.extend(['--virtualsize', str(size_bytes) + 'B', '-T'])
|
||||||
|
+ cmd.extend(['--virtualsize', '%dB' % size_bytes, '-T'])
|
||||||
|
cmd.extend(['--name', name, lv_full_name, '--yes'])
|
||||||
|
return call(cmd)
|
||||||
|
|
||||||
|
@@ -556,7 +559,7 @@ def pv_resize(device, size_bytes, create_options):
|
||||||
|
cmd.extend(options_to_cli_args(create_options))
|
||||||
|
|
||||||
|
if size_bytes != 0:
|
||||||
|
- cmd.extend(['--yes', '--setphysicalvolumesize', str(size_bytes) + 'B'])
|
||||||
|
+ cmd.extend(['--yes', '--setphysicalvolumesize', '%dB' % size_bytes])
|
||||||
|
|
||||||
|
cmd.extend([device])
|
||||||
|
return call(cmd)
|
||||||
|
@@ -652,12 +655,12 @@ def vg_allocation_policy(vg_name, policy, policy_options):
|
||||||
|
|
||||||
|
|
||||||
|
def vg_max_pv(vg_name, number, max_options):
|
||||||
|
- return _vg_value_set(vg_name, ['--maxphysicalvolumes', str(number)],
|
||||||
|
+ return _vg_value_set(vg_name, ['--maxphysicalvolumes', str(int(number))],
|
||||||
|
max_options)
|
||||||
|
|
||||||
|
|
||||||
|
def vg_max_lv(vg_name, number, max_options):
|
||||||
|
- return _vg_value_set(vg_name, ['-l', str(number)], max_options)
|
||||||
|
+ return _vg_value_set(vg_name, ['-l', str(int(number))], max_options)
|
||||||
|
|
||||||
|
|
||||||
|
def vg_uuid_gen(vg_name, ignore, options):
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
@ -57,7 +57,7 @@ Name: lvm2
|
|||||||
Epoch: %{rhel}
|
Epoch: %{rhel}
|
||||||
%endif
|
%endif
|
||||||
Version: 2.03.05
|
Version: 2.03.05
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: http://sourceware.org/lvm2
|
URL: http://sourceware.org/lvm2
|
||||||
#Source0: ftp://sourceware.org/pub/lvm2/releases/LVM2.%%{version}.tgz
|
#Source0: ftp://sourceware.org/pub/lvm2/releases/LVM2.%%{version}.tgz
|
||||||
@ -66,6 +66,7 @@ Patch0: lvm2-set-default-preferred_names.patch
|
|||||||
Patch1: lvm2-2_03_06-md-component-detection-for-differing-PV-and-device-size.patch
|
Patch1: lvm2-2_03_06-md-component-detection-for-differing-PV-and-device-size.patch
|
||||||
Patch2: lvm2-2_03_06-pvscan-fix-PV-online-when-device-has-a-different-size.patch
|
Patch2: lvm2-2_03_06-pvscan-fix-PV-online-when-device-has-a-different-size.patch
|
||||||
Patch3: lvm2-2_03_06-lvconvert-allow-stripes-stripesize-in-mirror-conversions.patch
|
Patch3: lvm2-2_03_06-lvconvert-allow-stripes-stripesize-in-mirror-conversions.patch
|
||||||
|
Patch4: lvm2-2_03_06-Fix-converting-dbus.UInt-types-to-string.patch
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
%if %{enable_testsuite}
|
%if %{enable_testsuite}
|
||||||
@ -125,6 +126,7 @@ or more physical volumes and creating one or more logical volumes
|
|||||||
%patch1 -p1 -b .md_component_detection_diff_PV_and_dev_size
|
%patch1 -p1 -b .md_component_detection_diff_PV_and_dev_size
|
||||||
%patch2 -p1 -b .fix_PV_activation_diff_PV_and_dev_size
|
%patch2 -p1 -b .fix_PV_activation_diff_PV_and_dev_size
|
||||||
%patch3 -p1 -b .allow_mirror_conversion_with_stripes
|
%patch3 -p1 -b .allow_mirror_conversion_with_stripes
|
||||||
|
%patch4 -p1 -b .fix_converting_dbus.UInt_types_to_string
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%global _default_pid_dir /run
|
%global _default_pid_dir /run
|
||||||
@ -730,6 +732,9 @@ An extensive functional testsuite for LVM2.
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 27 2019 Adam Williamson <awilliam@redhat.com> - 2.03.05-3
|
||||||
|
- Backport fix for converting dbus.UInt to string in Python 3.8 (#1745597)
|
||||||
|
|
||||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.03.05-2
|
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.03.05-2
|
||||||
- Rebuilt for Python 3.8
|
- Rebuilt for Python 3.8
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user