Compare commits

..

4 Commits
rawhide ... f28

Author SHA1 Message Date
David Lehman
edd7b3d2f8 Use bcond for with python3, allow it on RHEL > 7 (mhroncok)
Conditionalize the Python 2 subpackage and don't build it on EL > 7 and Fedora > 28 (mhroncok)
2018-04-05 12:37:54 -04:00
David Lehman
47cee3edb0 Merge branch 'master' into f28 2018-03-20 16:05:02 -04:00
David Lehman
29e105fbf4 Merge branch 'master' into f28 2018-03-12 13:44:26 -04:00
Vojtech Trefny
59959af4ca Dasd is a valid label type on s390x (#1538550) 2018-03-07 16:16:02 +01:00
12 changed files with 371 additions and 936 deletions

50
.gitignore vendored
View File

@ -107,53 +107,3 @@
/blivet-2.1.10.tar.gz
/blivet-2.1.11.tar.gz
/blivet-3.0.0.b1.tar.gz
/blivet-3.1.0.b1.tar.gz
/blivet-3.1.0.b2.tar.gz
/blivet-3.1.0.tar.gz
/blivet-3.1.1.tar.gz
/blivet-3.1.2.tar.gz
/blivet-3.1.3.tar.gz
/blivet-3.1.4-tests.tar.gz
/blivet-3.1.4.tar.gz
/blivet-3.1.5-tests.tar.gz
/blivet-3.1.5.tar.gz
/blivet-3.1.6.tar.gz
/blivet-3.1.6-tests.tar.gz
/blivet-3.2.0-tests.tar.gz
/blivet-3.2.0.tar.gz
/blivet-3.2.1-tests.tar.gz
/blivet-3.2.1.tar.gz
/blivet-3.2.2.tar.gz
/blivet-3.2.2-tests.tar.gz
/blivet-3.3.0.tar.gz
/blivet-3.3.0-tests.tar.gz
/blivet-3.3.1.tar.gz
/blivet-3.3.1-tests.tar.gz
/blivet-3.3.2-tests.tar.gz
/blivet-3.3.2.tar.gz
/blivet-3.3.3-tests.tar.gz
/blivet-3.3.3.tar.gz
/blivet-3.4.0.tar.gz
/blivet-3.4.0-tests.tar.gz
/blivet-3.4.1.tar.gz
/blivet-3.4.1-tests.tar.gz
/blivet-3.4.2.tar.gz
/blivet-3.4.2-tests.tar.gz
/blivet-3.4.3-tests.tar.gz
/blivet-3.4.3.tar.gz
/blivet-3.4.4-tests.tar.gz
/blivet-3.4.4.tar.gz
/blivet-3.5.0-tests.tar.gz
/blivet-3.5.0.tar.gz
/blivet-3.6.0.tar.gz
/blivet-3.6.0-tests.tar.gz
/blivet-3.6.1-tests.tar.gz
/blivet-3.6.1.tar.gz
/blivet-3.7.0-tests.tar.gz
/blivet-3.7.0.tar.gz
/blivet-3.7.1.tar.gz
/blivet-3.7.1-tests.tar.gz
/blivet-3.8.0-tests.tar.gz
/blivet-3.8.0.tar.gz
/blivet-3.8.1.tar.gz
/blivet-3.8.1-tests.tar.gz

View File

@ -0,0 +1,25 @@
From 4c58ccbd1aba4904d8d33ce5699b43bbaaffa9ec Mon Sep 17 00:00:00 2001
From: Vendula Poncova <vponcova@redhat.com>
Date: Tue, 27 Feb 2018 13:49:10 +0100
Subject: [PATCH] Dasd is a valid label type on s390x (#1538550)
Add the dasd label type to the list of valid label types for s390x.
This bug was introduced in the commit ebd43b6.
Resolves: rhbz#1538550
---
blivet/formats/disklabel.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/blivet/formats/disklabel.py b/blivet/formats/disklabel.py
index 6251fceb..44f9834c 100644
--- a/blivet/formats/disklabel.py
+++ b/blivet/formats/disklabel.py
@@ -226,7 +226,7 @@ def get_platform_label_types(cls):
elif arch.is_efi() and not arch.is_aarch64():
label_types = ["gpt"]
elif arch.is_s390():
- label_types = ["msdos"] # since 'dasd' is only for DASD, it isn't listed here
+ label_types = ["msdos", "dasd"]
return label_types

View File

@ -0,0 +1,34 @@
From 7a9697eae467fc0ed44022d948f70f30d156d69e Mon Sep 17 00:00:00 2001
From: Adam Williamson <adamw@fedoraproject.org>
Date: Fri, 11 Nov 2016 12:36:12 -0500
Subject: [PATCH] Fix "unknown" SAS device sysfs parsing.
Since the regexp matches the device type as well as the identifying
numbers, we need to pull the numbers from match groups 2 and 3, not 1
and 2.
Resolves: rhbz#1394026
Signed-off-by: Peter Jones <pjones@redhat.com>
---
blivet/devicelibs/edd.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/blivet/devicelibs/edd.py b/blivet/devicelibs/edd.py
index 7a1a1e2..51b7ed8 100644
--- a/blivet/devicelibs/edd.py
+++ b/blivet/devicelibs/edd.py
@@ -316,8 +316,8 @@ class EddEntry(object):
self.sas_address = int(sas_match.group(1), base=16)
self.sas_lun = int(sas_match.group(2), base=16)
elif unknown_match:
- self.sas_address = int(unknown_match.group(1), base=16)
- self.sas_lun = int(unknown_match.group(2), base=16)
+ self.sas_address = int(unknown_match.group(2), base=16)
+ self.sas_lun = int(unknown_match.group(3), base=16)
else:
log.warning("edd: can not match interface for %s: %s",
self.sysfspath, interface)
--
2.7.4

View File

@ -0,0 +1,47 @@
From 4b8bcadc43ed78a0eedb8e330684c626ef8b9d89 Mon Sep 17 00:00:00 2001
From: David Lehman <dlehman@redhat.com>
Date: Wed, 21 Jun 2017 15:36:42 -0400
Subject: [PATCH] Stop enforcing obsolete limits on partition count. (#1460668)
---
blivet/partitioning.py | 10 ++++------
tests/partitioning_test.py | 20 +++++++++-----------
2 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/blivet/partitioning.py b/blivet/partitioning.py
index 05cb4c6..0a973e9 100644
--- a/blivet/partitioning.py
+++ b/blivet/partitioning.py
@@ -136,8 +136,6 @@ def get_next_partition_type(disk, no_primary=None):
part_type = None
extended = disk.getExtendedPartition()
supports_extended = disk.supportsFeature(parted.DISK_TYPE_EXTENDED)
- logical_count = len(disk.getLogicalPartitions())
- max_logicals = disk.getMaxLogicalPartitions()
primary_count = disk.primaryPartitionCount
if primary_count < disk.maxPrimaryPartitionCount:
@@ -153,17 +151,17 @@ def get_next_partition_type(disk, no_primary=None):
# there is an extended and a free primary
if not no_primary:
part_type = parted.PARTITION_NORMAL
- elif logical_count < max_logicals:
- # we have an extended with logical slots, so use one.
+ else:
+ # we have an extended, so use it.
part_type = parted.PARTITION_LOGICAL
else:
# there are two or more primary slots left. use one unless we're
# not supposed to make primaries.
if not no_primary:
part_type = parted.PARTITION_NORMAL
- elif extended and logical_count < max_logicals:
+ elif extended:
part_type = parted.PARTITION_LOGICAL
- elif extended and logical_count < max_logicals:
+ elif extended:
part_type = parted.PARTITION_LOGICAL
return part_type
--
1.8.3.1

View File

@ -1,28 +0,0 @@
From 8b527ee85b6594d506d445ff4c30579cccef8ae6 Mon Sep 17 00:00:00 2001
From: Vojtech Trefny <vtrefny@redhat.com>
Date: Wed, 11 Nov 2020 13:24:55 +0100
Subject: [PATCH] Remove btrfs from requested libblockdev plugins
---
blivet/__init__.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/blivet/__init__.py b/blivet/__init__.py
index 14bd5c61..1410d78e 100644
--- a/blivet/__init__.py
+++ b/blivet/__init__.py
@@ -63,9 +63,9 @@ gi.require_version("BlockDev", "2.0")
from gi.repository import GLib
from gi.repository import BlockDev as blockdev
if arch.is_s390():
- _REQUESTED_PLUGIN_NAMES = set(("lvm", "btrfs", "swap", "crypto", "loop", "mdraid", "mpath", "dm", "s390", "nvdimm"))
+ _REQUESTED_PLUGIN_NAMES = set(("lvm", "swap", "crypto", "loop", "mdraid", "mpath", "dm", "s390", "nvdimm"))
else:
- _REQUESTED_PLUGIN_NAMES = set(("lvm", "btrfs", "swap", "crypto", "loop", "mdraid", "mpath", "dm", "nvdimm"))
+ _REQUESTED_PLUGIN_NAMES = set(("lvm", "swap", "crypto", "loop", "mdraid", "mpath", "dm", "nvdimm"))
# nvme plugin is not generally available
if hasattr(blockdev.Plugin, "NVME"):
--
2.26.2

View File

@ -0,0 +1,31 @@
From 152387afadf3d189539e6c8bd4b6decc0e7f15f7 Mon Sep 17 00:00:00 2001
From: Vojtech Trefny <vtrefny@redhat.com>
Date: Wed, 7 Mar 2018 10:45:46 +0100
Subject: [PATCH] Do not try to update potfile during make all
---
po/Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/po/Makefile b/po/Makefile
index 2f845cd..bbc6b5e 100644
--- a/po/Makefile
+++ b/po/Makefile
@@ -27,7 +27,7 @@ MOFILES = $(patsubst %.po,%.mo,$(POFILES))
PYSRC = $(wildcard ../blivet/*.py ../blivet/*/*.py)
SRCFILES = $(PYSRC)
-all:: update-po $(MOFILES)
+all:: refresh-po $(MOFILES)
$(POTFILE): $(SRCFILES)
$(XGETTEXT) -L Python --keyword=_ --keyword=N_ --keyword=P_:1,2 $(SRCFILES)
@@ -65,5 +65,3 @@ install: $(MOFILES)
$(MSGFMT) -o $@ $<
.PHONY: missing depend
-
-
--
1.8.3.1

View File

@ -0,0 +1,32 @@
From 39aa7041481f6e5cf954e67661f2cb55d43f9441 Mon Sep 17 00:00:00 2001
From: David Lehman <dlehman@redhat.com>
Date: Thu, 8 Mar 2018 11:40:48 -0500
Subject: [PATCH] Allow device specification by node to udev.get_device.
(#1524700)
---
blivet/udev.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/blivet/udev.py b/blivet/udev.py
index 6936a230..6eb7dab0 100644
--- a/blivet/udev.py
+++ b/blivet/udev.py
@@ -56,9 +56,12 @@ def device_to_dict(device):
return result
-def get_device(sysfs_path):
+def get_device(sysfs_path=None, device_node=None):
try:
- device = pyudev.Devices.from_sys_path(global_udev, sysfs_path)
+ if sysfs_path is not None:
+ device = pyudev.Devices.from_sys_path(global_udev, sysfs_path)
+ elif device_node is not None:
+ device = pyudev.Devices.from_device_file(global_udev, device_node)
except pyudev.DeviceNotFoundError as e:
log.error(e)
result = None
--
2.14.3

View File

@ -0,0 +1,32 @@
From 9dfe3cfa695f788716655e51915dfb4fa9d8fcd6 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Mon, 19 Mar 2018 16:48:38 -0700
Subject: [PATCH] Don't use a 'wwn' kwarg for MDBiosRaidArrayDevice (#1557957)
MDBiosRaidArrayDevice's parent class doesn't take a 'wwn' kwarg,
so the populator for it shouldn't pass one.
For more details, see comment 15 on the bug.
Resolves: rhbz#1557957
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
blivet/populator/helpers/disk.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/blivet/populator/helpers/disk.py b/blivet/populator/helpers/disk.py
index e2757b12..6c03f698 100644
--- a/blivet/populator/helpers/disk.py
+++ b/blivet/populator/helpers/disk.py
@@ -172,6 +172,7 @@ class MDBiosRaidDevicePopulator(DiskDevicePopulator):
del kwargs["serial"]
del kwargs["vendor"]
del kwargs["bus"]
+ del kwargs["wwn"]
return kwargs
--
2.14.3

30
530.patch Normal file
View File

@ -0,0 +1,30 @@
From 67d36789c8ff88b4ba14da7022f63b6831d75da3 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Thu, 22 Dec 2016 15:09:47 -0800
Subject: [PATCH] Shallow copy another alignment property (#1408282)
Several blivet classes use custom __deepcopy__ methods to avoid
deep copying some parted objects which we know can't be deep
copied. Unfortunately the list of attributes excepted from deep
copying for `DiskLabel` was missing one parted Alignment object,
and with Python 3.6, we blow up trying to deepcopy that. This
fixes the problem by adding that attribute to the list of ones
we know have to be shallow copied.
---
blivet/formats/disklabel.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/blivet/formats/disklabel.py b/blivet/formats/disklabel.py
index f6b9d83..2dad706 100644
--- a/blivet/formats/disklabel.py
+++ b/blivet/formats/disklabel.py
@@ -90,7 +90,8 @@ def __deepcopy__(self, memo):
We can't do copy.deepcopy on parted objects, which is okay.
"""
return util.variable_copy(self, memo,
- shallow=('_parted_device', '_optimal_alignment', '_minimal_alignment',),
+ shallow=('_parted_device', '_optimal_alignment', '_minimal_alignment',
+ '_disk_label_alignment'),
duplicate=('_parted_disk', '_orig_parted_disk'))
def __repr__(self):

File diff suppressed because it is too large Load Diff

40
rhbz1445302.patch Normal file
View File

@ -0,0 +1,40 @@
From 7ef50d3b7061353838e44c8dc202eb5f6b012f40 Mon Sep 17 00:00:00 2001
From: Vratislav Podzimek <vpodzime@redhat.com>
Date: Thu, 4 May 2017 13:03:06 +0200
Subject: [PATCH] Look the disk up for a partition by name not sys_name
udev.device_get_partition_disk() returns the device name as given
by device_get_name() not sys_name. So when trying to find a match
we need to compare it to the same value for devices we iterate
over.
Also don't call resolve_devspec() on the returned value,
udev.device_get_partition_disk() is already doing it.
Resolves: rhbz#1445302
---
blivet/populator/helpers/partition.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/blivet/populator/helpers/partition.py b/blivet/populator/helpers/partition.py
index 617b5e7..73b15f1 100644
--- a/blivet/populator/helpers/partition.py
+++ b/blivet/populator/helpers/partition.py
@@ -57,13 +57,13 @@ def run(self):
return device
disk = None
- sys_name = udev.device_get_partition_disk(self.data)
- if sys_name:
- disk_name = udev.resolve_devspec(sys_name)
+ disk_name = udev.device_get_partition_disk(self.data)
+ if disk_name:
disk = self._devicetree.get_device_by_name(disk_name)
if disk is None:
# create a device instance for the disk
- disk_info = next((i for i in udev.get_devices() if i.sys_name == sys_name), None)
+ disk_info = next((i for i in udev.get_devices()
+ if udev.device_get_name(i) == disk_name), None)
if disk_info is not None:
self._devicetree.handle_device(disk_info)
disk = self._devicetree.get_device_by_name(disk_name)

View File

@ -1,2 +1 @@
SHA512 (blivet-3.8.1.tar.gz) = ada376aee554f953334008eb491a16f8577eebb811d284a185ce2efadad87f2fcf9cc0f76eefca85b5f36e70b18463e6d42910d90e2d35537b4405be85dbf18f
SHA512 (blivet-3.8.1-tests.tar.gz) = 5a13bcf00db17cb33f5c33419ab8fcdf89286462c8a8a0919cfa5c40180b28896a7e4191b122917f55b48dfa2ea23358cc6b6a69ad666ba0bbdae01d0e51014a
SHA512 (blivet-3.0.0.b1.tar.gz) = 398c55c7a45505aed538fe7503aabc904f1b7ef6a5b7f347e43dc75c35ab776923de015f8ebcafbd0a50357672928cca59e6a0673aec2a7d263adcd0ed984c74