Compare commits

..

No commits in common. "rawhide" and "f27" have entirely different histories.

9 changed files with 66 additions and 346 deletions

View file

@ -1 +0,0 @@
1

13
.gitignore vendored
View file

@ -1,16 +1,3 @@
/pyparted-3.10.6.tar.gz
/pyparted-3.10.7.tar.gz
/pyparted-3.11.0.tar.gz
/pyparted-3.11.2.tar.gz
/pyparted-3.11.2.tar.gz.asc
/pyparted-3.11.3.tar.gz
/pyparted-3.11.4.tar.gz
/pyparted-3.11.4.tar.gz.asc
/pyparted-3.11.5.tar.gz
/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
/pyparted-3.13.0.tar.gz
/pyparted-3.13.0.tar.gz.asc

View file

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
rules:
- !PassingTestCaseRule {test_case_name: dist.depcheck}

Binary file not shown.

View file

@ -1,9 +0,0 @@
summary: Run pyparted tests
prepare:
how: install
package:
- python3-pyparted
execute:
script: |
fallocate -l 1G $PWD/disk.img
./tests/scripts/pyparted-tests $PWD/disk.img

View file

@ -1,259 +1,97 @@
Summary: Python module for GNU parted
Name: pyparted
Epoch: 1
Version: 3.13.0
Release: 17%{?dist}
License: GPL-2.0-or-later
URL: https://github.com/dcantrell/pyparted
%define with_python3 1
Source0: https://github.com/dcantrell/pyparted/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: https://github.com/dcantrell/pyparted/releases/download/v%{version}/%{name}-%{version}.tar.gz.asc
Source2: keyring.gpg
Source3: trustdb.gpg
Summary: Python module for GNU parted
Name: pyparted
Epoch: 1
Version: 3.11.0
Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: https://github.com/rhinstaller/pyparted
BuildRequires: make
BuildRequires: gcc
BuildRequires: parted-devel >= 3.4
Source0: https://github.com/rhinstaller/pyparted/archive/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n)
BuildRequires: python-devel
BuildRequires: python-six
%if 0%{?with_python3}
BuildRequires: python3-devel
BuildRequires: python3-six
%endif
BuildRequires: parted-devel >= 3.2-18
BuildRequires: pkgconfig
BuildRequires: e2fsprogs
BuildRequires: gnupg2
BuildRequires: python3-devel
BuildRequires: python3-setuptools
%description
Python module for the parted library. It is used for manipulating
partition tables.
%if 0%{?with_python3}
%package -n python3-pyparted
Summary: Python 3 module for GNU parted
Group: System Environment/Libraries
%description -n python3-pyparted
Python module for the parted library. It is used for manipulating
partition tables. This package provides Python 3 bindings for parted.
%endif
%prep
# Verify source archive signature
gpg --no-default-keyring --keyring %{SOURCE2} --trustdb-name %{SOURCE3} --verify %{SOURCE1} %{SOURCE0} || exit 1
%setup -q
%autosetup
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
%build
%make_build CFLAGS="%{optflags} -fcommon"
make %{?_smp_mflags}
%if 0%{?with_python3}
pushd %{py3dir}
PYTHON=python3 make %{?_smp_mflags}
popd
%endif
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%if 0%{?with_python3}
pushd %{py3dir}
PYTHON=python3 make install DESTDIR=%{buildroot}
popd
%endif
%check
make test
%install
%make_install
%if 0%{?with_python3}
pushd %{py3dir}
PYTHON=python3 make test
popd
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README TODO
%{python_sitearch}/_ped.so
%{python_sitearch}/parted
%{python_sitearch}/%{name}-%{version}-*.egg-info
%if 0%{?with_python3}
%files -n python3-pyparted
%doc AUTHORS HACKING NEWS README.md RELEASE TODO
%license LICENSE
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README TODO
%{python3_sitearch}/_ped.*.so
%{python3_sitearch}/parted
%{python3_sitearch}/%{name}-%{version}-*.egg-info
%endif
%changelog
* Wed Jul 22 2026 Python Maint <python-maint@redhat.com> - 1:3.13.0-17
- Rebuilt for Python 3.15.0b4 ABI change
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 1:3.13.0-15
- Rebuilt for Python 3.15
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1:3.13.0-13
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1:3.13.0-12
- Rebuilt for Python 3.14.0rc2 bytecode
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Jun 15 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 1:3.13.0-10
- Drop unused six dependency
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 1:3.13.0-9
- Rebuilt for Python 3.14
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1:3.13.0-6
- Rebuilt for Python 3.13
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.13.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 22 2023 Python Maint <python-maint@redhat.com> - 1:3.13.0-2
- Rebuilt for Python 3.12
* Wed Jun 21 2023 David Cantrell <dcantrell@redhat.com> - 1:3.13.0-1
- Upgrade to pyparted-3.13.0
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 1:3.12.0-11
- Rebuilt for Python 3.12
* Wed Jun 14 2023 David Cantrell <dcantrell@redhat.com> - 1:3.12.0-10
- Use non-deprecated syntax for the %%patch macros
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1:3.12.0-9
- Rebuilt for Python 3.12
* Thu Mar 02 2023 David Cantrell <dcantrell@redhat.com> - 1:3.12.0-8
- Fix FTBFS with _ped.disktype test case for gpt (#2171656)
- Update License tag to SPDX expression
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.12.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.12.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 21 2022 David Cantrell <dcantrell@redhat.com> - 1:3.12.0-5
- 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 (#2098792)
* Mon Jun 20 2022 Adam Williamson <awilliam@redhat.com> - 1:3.12.0-4
- Backport PR #92 to fix tests with parted 3.5 (#2098792)
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1:3.12.0-3
- Rebuilt for Python 3.11
* Mon Mar 07 2022 David Cantrell <dcantrell@redhat.com> - 3.12.0-2
- BR python3-setuptools
* Mon Mar 07 2022 David Cantrell <dcantrell@redhat.com> - 3.12.0-1
- Upgrade to pyparted-3.12.0
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jun 03 2021 Python Maint <python-maint@redhat.com> - 1:3.11.7-3
- Rebuilt for Python 3.10
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Oct 23 2020 David Cantrell <dcantrell@redhat.com> - 1:3.11.7-1
- Upgrade to pyparted-3.11.7 (BZ#1890443)
- Set PY_SSIZE_T_CLEAN for the build (bcl)
- add nvme support
- Update RELEASE file to make last step be "make pypi" (dcantrell)
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 1:3.11.5-3
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 1:3.11.5-2
- Rebuilt for Python 3.9
* Mon Mar 09 2020 David Cantrell <dcantrell@redhat.com> - 1:3.11.5-1
- Require at least libparted 3.3 and python 3.7 (dcantrell)
- pedmodule.c: Fix partition enum flag handling (bcl)
- Add support for chromeos_kernel and bls_boot partition flags (bcl)
- Move exception declarations to _pedmodule.c (dcantrell)
* Tue Feb 11 2020 David Cantrell <dcantrell@redhat.com> - 1:3.11.4-1
- Use Decimal for Device.getSize() operations, return a
float (#1801355)
- Update the 'twine upload' line in the Makefile
- Don't intentionally prohibit Python 2 usage (#67)
- mips64 support
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Nov 15 2019 David Cantrell <dcantrell@redhat.com> - 1:3.11.3-1
- Fix deprecation warning in parted/cachedlist.py (#1772060)
* Sun Oct 20 2019 Miro Hrončok <mhroncok@redhat.com> - 1:3.11.2-5
- Remove python2-pyparted from Fedora 32+
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1:3.11.2-4
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 1:3.11.2-3
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 David Cantrell <dcantrell@redhat.com> - 1:3.11.2-1
- pyparted-3.11.2 (dcantrell)
- Do not remove the generated tarballs. (dcantrell)
- Update the RELEASE file. (dcantrell)
- tests: Fix flag_get_name tests (bcl)
- Avoid potential NULL dereferences in pydisk.c and pytimer.c
(dcantrell)
- New - example to query device capacity (jflorian)
- correct spelling mistake (edward)
- _ped's *_flag_get_name methods now throw a PartedException instead of
ValueError on unsupported flags. (lukasz.zemczak)
- Make the partition name a property on parted.Partition objects (#34)
(dcantrell)
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 1:3.11.0-17
- Rebuild with fixed binutils
* Fri Jul 27 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:3.11.0-16
- Rebuild for new binutils
* Thu Jul 26 2018 David Cantrell <dcantrell@redhat.com> - 1:3.11.0-15
- Do not disable python2 builds by default. There are still some packages
that have not been updated to python3 and require python2-pyparted.
* Wed Jul 25 2018 David Cantrell <dcantrell@redhat.com> - 1:3.11.0-14
- Conditionalize python2 and python3 builds to make the SRPM more portable
across releases. On RHEL > 7 and Fedora > 28, do not build for python2.
On RHEL <= 7, do not build for python3.
* Tue Jul 24 2018 David Cantrell <dcantrell@redhat.com> - 1:3.11.0-13
- Use 'python2' when building the Python 2.x bindings (#1605566)
- BuildRequires gcc (#1605566)
- %%{python_sitearch} -> %%{python2_sitearch} (#1605566)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jun 15 2018 Miro Hrončok <mhroncok@redhat.com> - 1:3.11.0-11
- Rebuilt for Python 3.7
* Mon Apr 02 2018 Adam Williamson <awilliam@redhat.com> - 1:3.11.0-10
- Make pyparted provides/obsoletes include the epoch
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1:3.11.0-8
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:3.11.0-7
- Add Provides for the old name without %%_isa
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:3.11.0-6
- Python 2 binary package renamed to python2-pyparted
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.11.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

View file

@ -1,2 +1 @@
SHA512 (pyparted-3.13.0.tar.gz) = a9162afdbee48de5474de98ae8c08df028d485e122fcafae8421dddd47c9ed00d8dd9f40d854b14d4582483d8ea3469128a912491371385e4f18a0dbbbafbfd5
SHA512 (pyparted-3.13.0.tar.gz.asc) = 6f3e973b52584450c3eed97d64266df832d8820a6a72f731fbb9fbd9be06f93f2d53b47bcae01b78a831e3e3cedca3ae8629dc5f9fe35dcc3ed11226a11fd952
SHA512 (pyparted-3.11.0.tar.gz) = da93cd9f2b0f0220c54eaa3f43a15ac48d7dfab6ad2c8c8791f1d2146138ac9f8c12ea7e9222054a241b7fff12b3b0c648ef6e73fe1d3b6db215e77d7574719b

View file

@ -1,88 +0,0 @@
#!/usr/bin/python3
import parted
import sys
def init_disk(disk_img):
# Make a disklabel (failures here will raise an error)
dev = parted.getDevice(disk_img)
disk = parted.freshDisk(dev, "gpt")
# Make a partition
geom = parted.Geometry(device=dev,
start=2048,
end=50*2048)
fs = parted.FileSystem(type="ext4", geometry=geom)
part = parted.Partition(disk=disk,
type=parted.PARTITION_NORMAL,
fs=fs,
geometry=geom)
disk.addPartition(partition=part,
constraint=dev.optimalAlignedConstraint)
part.setFlag(parted.PARTITION_BOOT)
disk.commit()
def read_disk(disk_img):
# Read the disk and check the partitions
dev = parted.getDevice(disk_img)
disk = parted.newDisk(dev)
if dev.length == 0:
print("ERROR: Disk has no length", file=sys.stderr)
sys.exit(1)
if len(disk.partitions) != 1:
print("ERROR: Wrong number of partitions", file=sys.stderr)
sys.exit(1)
part = disk.partitions[0]
if part.geometry.end != 50*2048:
print("ERROR: Partition is wrong length", file=sys.stderr)
sys.exit(1)
if part.geometry.start != 2048:
print("ERROR: Parition doesn't start at sector 2048", file=sys.stderr)
sys.exit(1)
def remove_partition(disk_img):
# Remove partition and check disk
dev = parted.getDevice(disk_img)
disk = parted.newDisk(dev)
if len(disk.partitions) != 1:
print("ERROR: Wrong number of partitions", file=sys.stderr)
sys.exit(1)
disk.removePartition(partition=disk.partitions[0])
disk.commit()
dev = parted.getDevice(disk_img)
disk = parted.newDisk(dev)
if len(disk.partitions) != 0:
print("ERROR: Failed to delete partition", file=sys.stderr)
sys.exit(1)
def main(disk_img):
print(f"Running tests on {disk_img}")
try:
init_disk(disk_img)
read_disk(disk_img)
remove_partition(disk_img)
except Exception as e:
print(f"ERROR: {str(e)}", file=sys.stderr)
sys.exit(1)
print("PASS", file=sys.stderr)
sys.exit(0)
if __name__ == '__main__':
if len(sys.argv) < 2:
print("Usage: %s <disk.img>" % sys.argv[0], file=sys.stderr)
sys.exit(1)
main(sys.argv[1])

Binary file not shown.