Fix FTBFS against parted-3.5
This commit is contained in:
parent
63d99ae9e9
commit
11508455b5
2
.gitignore
vendored
2
.gitignore
vendored
@ -10,3 +10,5 @@
|
||||
/pyparted-3.11.5.tar.gz.asc
|
||||
/pyparted-3.11.7.tar.gz
|
||||
/pyparted-3.11.7.tar.gz.asc
|
||||
/pyparted-3.12.0.tar.gz
|
||||
/pyparted-3.12.0.tar.gz.asc
|
||||
|
||||
115
pyparted-3.12.0-types.patch
Normal file
115
pyparted-3.12.0-types.patch
Normal file
@ -0,0 +1,115 @@
|
||||
diff -up pyparted-3.12.0/src/parted/__init__.py.orig pyparted-3.12.0/src/parted/__init__.py
|
||||
--- pyparted-3.12.0/src/parted/__init__.py.orig 2022-03-07 12:38:56.000000000 -0500
|
||||
+++ pyparted-3.12.0/src/parted/__init__.py 2022-07-14 12:28:09.687155151 -0400
|
||||
@@ -217,6 +217,14 @@ from _ped import DISK_GPT_PMBR_BOOT
|
||||
from _ped import DISK_TYPE_EXTENDED
|
||||
from _ped import DISK_TYPE_PARTITION_NAME
|
||||
|
||||
+if hasattr(_ped, 'DISK_TYPE_PARTITION_TYPE_ID'):
|
||||
+ # pylint: disable=E0611
|
||||
+ from _ped import DISK_TYPE_PARTITION_TYPE_ID
|
||||
+
|
||||
+if hasattr(_ped, 'DISK_TYPE_PARTITION_TYPE_UUID'):
|
||||
+ # pylint: disable=E0611
|
||||
+ from _ped import DISK_TYPE_PARTITION_TYPE_UUID
|
||||
+
|
||||
from _ped import EXCEPTION_TYPE_INFORMATION
|
||||
from _ped import EXCEPTION_TYPE_WARNING
|
||||
from _ped import EXCEPTION_TYPE_ERROR
|
||||
diff -up pyparted-3.12.0/src/_pedmodule.c.orig pyparted-3.12.0/src/_pedmodule.c
|
||||
--- pyparted-3.12.0/src/_pedmodule.c.orig 2022-03-07 12:49:11.000000000 -0500
|
||||
+++ pyparted-3.12.0/src/_pedmodule.c 2022-07-14 12:59:46.270416021 -0400
|
||||
@@ -648,42 +648,20 @@ MOD_INIT(_ped) {
|
||||
PyModule_AddIntConstant(m, "PARTITION_BIOS_GRUB", PED_PARTITION_BIOS_GRUB);
|
||||
PyModule_AddIntConstant(m, "PARTITION_DIAG", PED_PARTITION_DIAG);
|
||||
PyModule_AddIntConstant(m, "PARTITION_LEGACY_BOOT", PED_PARTITION_LEGACY_BOOT);
|
||||
-
|
||||
- /* NOTE: You cannot evaluate the enum PED_PARTITION_* values using the
|
||||
- * preprocessor. DO NOT use #if or #ifdef with them.
|
||||
- *
|
||||
- * Conditionally add constants, based on PED_PARTITION_LAST_FLAG, and what
|
||||
- * we know about parted/disk.h
|
||||
- */
|
||||
-#if PED_PARTITION_LAST_FLAG > 15
|
||||
PyModule_AddIntConstant(m, "PARTITION_MSFT_DATA", PED_PARTITION_MSFT_DATA);
|
||||
-#endif
|
||||
-
|
||||
-#if PED_PARTITION_LAST_FLAG > 16
|
||||
PyModule_AddIntConstant(m, "PARTITION_IRST", PED_PARTITION_IRST);
|
||||
-#endif
|
||||
-
|
||||
-#if PED_PARTITION_LAST_FLAG > 17
|
||||
PyModule_AddIntConstant(m, "PARTITION_ESP", PED_PARTITION_ESP);
|
||||
-#endif
|
||||
-
|
||||
-#if PED_PARTITION_LAST_FLAG > 18
|
||||
PyModule_AddIntConstant(m, "PARTITION_CHROMEOS_KERNEL", PED_PARTITION_CHROMEOS_KERNEL);
|
||||
-#endif
|
||||
-
|
||||
-#if PED_PARTITION_LAST_FLAG > 19
|
||||
PyModule_AddIntConstant(m, "PARTITION_BLS_BOOT", PED_PARTITION_BLS_BOOT);
|
||||
-#endif
|
||||
-
|
||||
-#if PED_PARTITION_LAST_FLAG > 20
|
||||
PyModule_AddIntConstant(m, "PARTITION_LINUX_HOME", PED_PARTITION_LINUX_HOME);
|
||||
-#endif
|
||||
|
||||
PyModule_AddIntConstant(m, "DISK_CYLINDER_ALIGNMENT", PED_DISK_CYLINDER_ALIGNMENT);
|
||||
PyModule_AddIntConstant(m, "DISK_GPT_PMBR_BOOT", PED_DISK_GPT_PMBR_BOOT);
|
||||
|
||||
PyModule_AddIntConstant(m, "DISK_TYPE_EXTENDED", PED_DISK_TYPE_EXTENDED);
|
||||
PyModule_AddIntConstant(m, "DISK_TYPE_PARTITION_NAME", PED_DISK_TYPE_PARTITION_NAME);
|
||||
+ PyModule_AddIntConstant(m, "DISK_TYPE_PARTITION_TYPE_ID", PED_DISK_TYPE_PARTITION_TYPE_ID);
|
||||
+ PyModule_AddIntConstant(m, "DISK_TYPE_PARTITION_TYPE_UUID", PED_DISK_TYPE_PARTITION_TYPE_UUID);
|
||||
|
||||
/* add PedFileSystemType as _ped.FileSystemType */
|
||||
if (PyType_Ready(&_ped_FileSystemType_Type_obj) < 0)
|
||||
diff -up pyparted-3.12.0/tests/test__ped_disktype.py.orig pyparted-3.12.0/tests/test__ped_disktype.py
|
||||
--- pyparted-3.12.0/tests/test__ped_disktype.py.orig 2018-01-12 13:31:40.000000000 -0500
|
||||
+++ pyparted-3.12.0/tests/test__ped_disktype.py 2022-07-14 12:28:09.687155151 -0400
|
||||
@@ -63,11 +63,22 @@ class DiskTypeCheckFeatureTestCase(Requi
|
||||
self.assertTrue(self.disktype[name].check_feature(_ped.DISK_TYPE_EXTENDED))
|
||||
self.assertFalse(self.disktype[name].check_feature(_ped.DISK_TYPE_PARTITION_NAME))
|
||||
|
||||
+ if hasattr(_ped, "DISK_TYPE_PARTITION_TYPE_ID"):
|
||||
+ self.assertTrue(self.disktype[name].check_feature(_ped.DISK_TYPE_PARTITION_TYPE_ID))
|
||||
+
|
||||
+ if hasattr(_ped, "DISK_TYPE_PARTITION_TYPE_UUID"):
|
||||
+ self.assertFalse(self.disktype[name].check_feature(_ped.DISK_TYPE_PARTITION_TYPE_UUID))
|
||||
+
|
||||
# The following types support DISK_TYPE_PARTITION_NAME
|
||||
for name in ['amiga', 'gpt', 'mac', 'pc98']:
|
||||
self.assertFalse(self.disktype[name].check_feature(_ped.DISK_TYPE_EXTENDED))
|
||||
self.assertTrue(self.disktype[name].check_feature(_ped.DISK_TYPE_PARTITION_NAME))
|
||||
|
||||
+ # The following types support DISK_TYPE_PARTITION_TYPE_UUID
|
||||
+ for name in ['gpt']:
|
||||
+ if hasattr(_ped, "DISK_TYPE_PARTITION_TYPE_UUID"):
|
||||
+ self.assertTrue(self.disktype[name].check_feature(_ped.DISK_TYPE_PARTITION_TYPE_UUID))
|
||||
+
|
||||
# The following types support all features
|
||||
for name in ['dvh']:
|
||||
self.assertTrue(self.disktype[name].check_feature(_ped.DISK_TYPE_EXTENDED))
|
||||
@@ -75,11 +86,20 @@ class DiskTypeCheckFeatureTestCase(Requi
|
||||
|
||||
class DiskTypeStrTestCase(RequiresDiskTypes):
|
||||
def runTest(self):
|
||||
- self.assertEqual(str(self.disktype['msdos']), '_ped.DiskType instance --\n name: msdos features: 1')
|
||||
+ if hasattr(_ped, "DISK_TYPE_PARTITION_TYPE_ID"):
|
||||
+ self.assertEqual(str(self.disktype['msdos']), '_ped.DiskType instance --\n name: msdos features: 5')
|
||||
+ else:
|
||||
+ self.assertEqual(str(self.disktype['msdos']), '_ped.DiskType instance --\n name: msdos features: 1')
|
||||
+
|
||||
self.assertEqual(str(self.disktype['aix']), '_ped.DiskType instance --\n name: aix features: 0')
|
||||
self.assertEqual(str(self.disktype['sun']), '_ped.DiskType instance --\n name: sun features: 0')
|
||||
self.assertEqual(str(self.disktype['amiga']), '_ped.DiskType instance --\n name: amiga features: 2')
|
||||
- self.assertEqual(str(self.disktype['gpt']), '_ped.DiskType instance --\n name: gpt features: 2')
|
||||
+
|
||||
+ if hasattr(_ped, "DISK_TYPE_PARTITION_TYPE_UUID"):
|
||||
+ self.assertEqual(str(self.disktype['gpt']), '_ped.DiskType instance --\n name: gpt features: 10')
|
||||
+ else:
|
||||
+ self.assertEqual(str(self.disktype['gpt']), '_ped.DiskType instance --\n name: gpt features: 2')
|
||||
+
|
||||
self.assertEqual(str(self.disktype['mac']), '_ped.DiskType instance --\n name: mac features: 2')
|
||||
self.assertEqual(str(self.disktype['bsd']), '_ped.DiskType instance --\n name: bsd features: 0')
|
||||
self.assertEqual(str(self.disktype['pc98']), '_ped.DiskType instance --\n name: pc98 features: 2')
|
||||
@ -33,8 +33,8 @@
|
||||
Summary: Python module for GNU parted
|
||||
Name: pyparted
|
||||
Epoch: 1
|
||||
Version: 3.11.7
|
||||
Release: 4%{?dist}
|
||||
Version: 3.12.0
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2+
|
||||
URL: https://github.com/dcantrell/pyparted
|
||||
|
||||
@ -43,9 +43,14 @@ Source1: https://github.com/dcantrell/pyparted/releases/download/v%{version}/%{n
|
||||
Source2: keyring.gpg
|
||||
Source3: trustdb.gpg
|
||||
|
||||
# Support new disk type features from parted 3.5:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2098792
|
||||
# https://github.com/dcantrell/pyparted/issues/91
|
||||
Patch0: pyparted-3.12.0-types.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: parted-devel >= 3.3
|
||||
BuildRequires: parted-devel >= 3.5
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: e2fsprogs
|
||||
BuildRequires: gnupg2
|
||||
@ -53,6 +58,7 @@ BuildRequires: gnupg2
|
||||
%if %{with python3}
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-six
|
||||
BuildRequires: python3-setuptools
|
||||
%endif
|
||||
|
||||
%if %{with python2}
|
||||
@ -92,6 +98,7 @@ partition tables. This package provides Python 3 bindings for parted.
|
||||
gpg --no-default-keyring --keyring %{SOURCE2} --trustdb-name %{SOURCE3} --verify %{SOURCE1} %{SOURCE0} || exit 1
|
||||
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%if %{with python3}
|
||||
everything=$(ls)
|
||||
@ -149,6 +156,12 @@ popd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Jun 21 2022 David Cantrell <dcantrell@redhat.com> - 1:3.12.0-1
|
||||
- Patch pyparted to handle PED_DISK_TYPE_PARTITION_TYPE_ID for the
|
||||
msdos disk type and PED_DISK_TYPE_PARTITION_TYPE_UUID for the gpt
|
||||
label
|
||||
Resolves: rhbz#2103243
|
||||
|
||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1:3.11.7-4
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (pyparted-3.11.7.tar.gz) = 41018989c21aab577cd1d51f521128d072b346afb9dcdcc27490cdbc2ed4382a854e4bd16780da72a0a95bbd521f14ee0e7f02816f34656cbae734d43a4f0b83
|
||||
SHA512 (pyparted-3.11.7.tar.gz.asc) = 669770930307f57bfd8b1d11418f3fbc1415747aec5cde001efe7b132724996e42271f4df79148e616c2ba76527dfafceeeb1d3374cbd14a16bd545dd716c15c
|
||||
SHA512 (pyparted-3.12.0.tar.gz) = 0179e5334be8c04287b10b47d407ad339933cd3e20514d2142fe968acf8a36c40e541ee5165e2b3699a40b133d8f1948d8d12ccf307d3a1736090fb33f28b7e7
|
||||
SHA512 (pyparted-3.12.0.tar.gz.asc) = 452d386fbc8b84fa0dc186bb75c6c12eb051c8a37575e5a3a0cf504d13c4b2a0134d7e486928f9af7d142d25802bda05c97fd95ff80721ae6f6c0abedb8b1614
|
||||
|
||||
Loading…
Reference in New Issue
Block a user