Compare commits

...
Sign in to create a new pull request.

60 commits

Author SHA1 Message Date
Fedora Release Engineering
66c2ad5f01 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 23:58:58 +00:00
Brian C. Lane
a13c518ae5 - doc: Fix some groff/mandoc linting complaints (bcl)
- nilfs2: Fixed possible sigsegv in case of corrupted superblock (abutenko)
- libparted: Do not detect ext4 without journal as ext2 (pascal)
- tests: probing ext4 without journal should still indicate ext4 (bcl)
2025-05-30 10:49:27 -07:00
Fedora Release Engineering
2e579d4323 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 22:26:33 +00:00
Brian C. Lane
c89e7cb3be - tests: Add test for dvh with a bad checksum (bcl)
- libparted: Fix dvh disklabel unhandled exception (bcl)
- tests: Add test for SUN disklabel handling (bcl)
- libparted: Fix sun disklabel unhandled exception (bcl)
2025-01-15 10:19:36 -08:00
Brian C. Lane
b1522a9711 - parted: Fix do_version declaration (rudi) 2024-11-20 09:35:26 -08:00
Brian C. Lane
b58c412aed Properly bump the release number 2024-10-17 16:59:43 -07:00
Brian C. Lane
ff0683d294 - libparted: Fail early when detecting nilfs2 (oldium.pro) 2024-10-17 16:57:17 -07:00
Brian C. Lane
b8c84c9982 - tests: Move to tmt tests and switch to a functional test (bcl) 2024-08-23 08:18:17 -07:00
Brian C. Lane
c438024286 tests: Move to tmt tests and switch to a functional test
Instead of repeating the build unit testing, this tests the installed
parted with a simple disk image partitioning scheme to verify basic
functionality.
2024-07-31 09:36:00 -07:00
Fedora Release Engineering
7a70ad0b82 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 21:31:19 +00:00
Brian C. Lane
92a16b9fb1 - doc: Document IEC unit behavior in the manpage (bcl)
- parted: Print the Fixing... message to stderr (bcl)
2024-07-16 17:40:39 -07:00
Fedora Release Engineering
33a7d91cd0 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 12:04:58 +00:00
Fedora Release Engineering
dd51fedd16 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 11:54:19 +00:00
Fedora Release Engineering
e932a887a1 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 18:42:01 +00:00
Brian C. Lane
5243164589 - Upstream 3.6 stable release 2023-04-10 17:07:12 -07:00
Brian C. Lane
7fdac872b5 - Upstream 3.5.28 Alpha release
- Dropped all patches included in new upstream release
- Bumped minor version on libparted.so and libparted-fs-resize.so
2023-03-27 08:19:36 -07:00
Brian C. Lane
d747d1a8fe - parted: Fix ending sector location when using kibi IEC suffix (bcl)
- tests: Fix formatting and snprintf warnings in tests. (bcl)
- ui: Add checks for prompt being NULL (bcl)
- strlist: Handle realloc error in wchar_to_str (bcl)
- libparted: Fix potential NULL dereference in ped_disk_next_partition (bcl)
- filesys: Check for null from close_fn (bcl)
2023-03-20 09:51:40 -07:00
Brian C. Lane
dc75c40906 - libparted: Fix problem with creating 1s partitions
- tests: Fixing libparted test framework usage
2023-02-07 16:44:57 -08:00
Brian C. Lane
fb7cd25e73 SPDX migration 2023-01-30 15:09:42 -08:00
Fedora Release Engineering
270e49b966 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 23:25:37 +00:00
Brian C. Lane
d2e6c54e3e tests: Add gating.yaml so tests will be required 2022-12-14 15:45:52 -08:00
Brian C. Lane
7fc0182f62 - libparted: Fix handling of msdos partition types
- tests: Add a libparted test for ped_partition_set_system on msdos
- parted: Add display of GPT UUIDs in JSON output
- Add no_automount flag support
- increase xfs size to 300M
2022-12-14 10:13:44 -08:00
Brian C. Lane
8298c363a4 - Fix ped_partition_set_system handling of existing flags 2022-08-10 16:14:00 -07:00
Brian C. Lane
cc64ab77d5 - Update enum patch description for upstream 2022-08-04 11:54:17 -07:00
Fedora Release Engineering
3318fc5238 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 02:44:37 +00:00
Adam Williamson
8b0c9ee0a5 Set _FIRST_ and _LAST_ macro values directly 2022-06-20 13:10:26 -07:00
Brian C. Lane
953543a358 - tests: t3200-type-change now passes (bcl)
- parted: Reset the filesystem type when changing the id/uuid (bcl)
- libparted: add swap flag for DASD label (aschnell)
- parted: add type command (aschnell)
- maint: post-release administrivia (bcl)
2022-05-17 16:23:46 -07:00
Brian C. Lane
4cce40f55c - Upstream 3.5 stable release 2022-04-18 13:29:03 -07:00
Brian C. Lane
dc62f3b119 - Upstream 3.4.64 Alpha release
- Dropped all patches included in new upstream release
- Bumped minor version on libparted.so and libparted-fs-resize.so
2022-03-30 10:26:37 -07:00
Brian C. Lane
e0dc6bb4b8 - gnulib: Use newer cdefs.h from gnulib (bcl)
- Update parted.spec to allow flatpak builds
2022-02-17 15:47:27 -08:00
Jay W
e78da4c42a Update parted.spec to allow flatpak builds 2022-02-11 07:45:56 +00:00
Fedora Release Engineering
514b0689bd - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 22:56:40 +00:00
Brian C. Lane
ece299beb7 - docs: Update documentation to be consistent 2021-10-06 15:55:47 -07:00
Brian C. Lane
fb6ff33ba9 - gpt: Revert to filesystem GUID when setting flag to off (bcl)
- tests: Add a test to make sure GPT GUIDs default to filesystem (bcl)
- doc: Document gpt linux-home flag (bcl)
- gpt: Add linux-home flag (aschnell)
- gpt: Map PED_PARTITON_ flags to GUID values (aschnell)
2021-10-06 15:30:12 -07:00
Brian C. Lane
27d77ddc17 Forgot to bump release to -9 2021-09-23 16:42:24 -07:00
Brian C. Lane
e3d368e543 - keep GUID specific attributes (aschnell)
- hurd: Implement partition table rereading (cjwatson)
- hurd: Support rumpdisk-based device names (samuel.thibault)
- hurd: Fix partition paths (cjwatson)
2021-09-23 16:31:49 -07:00
Brian C. Lane
152bd148e9 - parted: Add --json cmdline switch to output JSON (aschnell)
- parted: Allow empty string for partition name (aschnell)
- libparted: Check devpath before passing to strlen (bcl)
2021-08-25 15:36:37 -07:00
Brian C. Lane
e7b34705b0 - libparted: Tell libdevmapper to retry remove when BUSY (bcl)
-   Resolves: rhbz#1980697
- parted: Escape colons and backslashes in machine output (bcl)
- tests: check for vfat kernel support and tools (ross.burton)
- tests: add a helper to check the kernel knows about a file system (ross.burton)
- tests: add aarch64 and mips64 as a valid 64-bit machines (ross.burton)
- libparted: Add swap flag to msdos disklabel (bcl)
- Move Exception Option values into enum (bcl)
2021-08-10 16:24:56 -07:00
Brian C. Lane
ce8126ec00 - tests/t3000: Use mkfs.hfsplus and fsck.hfsplus for resize tests (bcl)
- tests/t3000: Check for hfs and vfat support separately (bcl)
- tests: Reduce memory usage for tests using scsi_debug module (bcl)
- spec: Install to /usr/sbin and /usr/lib64 (bcl)
2021-08-03 16:18:33 -07:00
Brian C. Lane
1a6875dda1 spec: Install to /usr/sbin and /usr/lib64
parted has, forever, installed to /sbin and /lib64. There is no need to
override this anymore.
2021-08-03 16:16:37 -07:00
Fedora Release Engineering
cabbcbc983 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 17:45:34 +00:00
Brian C. Lane
9017fc8519 - Fix issues that covscan classifies as important
Resolves: rhbz#1938836
- Update gpg key for bcl@redhat.com
- Work around a mkswap bug
2021-06-14 15:34:07 -07:00
Brian C. Lane
c9bde538a7 - Use autoreconf -fiv for autoconf 2.71 support
Works with both 2.69 and 2.71
2021-03-10 10:24:35 -08:00
Brian C. Lane
4ff1a768b4 - Add --fix support from upstream 2021-02-03 09:43:00 -08:00
Brian C. Lane
a0755650de Trim changelog back to v3.3 and remove old patches from git 2021-02-03 09:25:25 -08:00
Brian C. Lane
8207dbd150 - New stable upstream release v3.4 2021-01-27 16:50:54 -08:00
Fedora Release Engineering
04d1488083 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 23:00:08 +00:00
Brian C. Lane
e59dafa4c9 - New upstream ALPHA release v3.3.52
- Includes all patches
2020-12-14 10:27:46 -08:00
Brian C. Lane
633c371306 - Add upstream commits to fix various gcc 10 warnings (bcl) 2020-12-01 09:27:24 -08:00
Brian C. Lane
28a7decb69 - Do not link to libselinux 2020-11-05 09:38:13 -08:00
Brian C. Lane
0dd29ac6e1 - tests: Add a test for resizepart on a busy partition (bcl)
- parted: Preserve resizepart End when prompted for busy partition (bcl)
- tests: Add f2fs to the fs probe test (romain.perier)
- Add support for the F2FS filesystem (romain.perier)
- Removed reference to ped_file_system_create (max)
2020-09-25 10:13:17 -07:00
Fedora Release Engineering
7bd556f35f - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 13:12:47 +00:00
Brian C. Lane
ec86b620a2 Switch to using %autosetup instead of %setup and git 2020-07-24 08:30:29 -07:00
Bruno Goncalves
c4782e273c update test.yml
make sure git is installed in the VM before extracting the source
2020-07-23 13:59:53 +02:00
Tom Stellard
a21276aead Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-14 02:28:02 +00:00
Brian C. Lane
ac53ea06ad - Add chromeos_kernel partition flag for gpt disklabels
- Add bls_boot partition flag for msdos and gpt disklabels
2020-03-06 11:43:36 -08:00
Fedora Release Engineering
5dbd295bd4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 20:57:28 +00:00
Brian C. Lane
512a61e4a8 - tests: Test incomplete resizepart command
- Fix end_input usage in do_resizepart
  Resolves: rhbz#1701411
2019-12-16 14:31:02 -08:00
Brian C. Lane
9afea59440 - New upstream release v3.3
Includes the DASD virtio-blk fix.
- Dropping pre-3.2 changelog entries
2019-10-11 08:41:15 -07:00
Brian C. Lane
5f329fbe24 - libparted/s390: Re-enabled virtio-attached DASD heuristics
Fixes DASD backed virtblk devices
2019-10-02 10:12:38 -07:00
24 changed files with 841 additions and 1407 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

15
.gitignore vendored
View file

@ -13,3 +13,18 @@ clog
/parted-3.2.tar.xz.sig
/parted-3.2.153.tar.xz
/parted-3.2.153.tar.xz.sig
/parted-3.3.tar.xz
/parted-3.3.tar.xz.sig
/parted-3.3.52.tar.xz
/parted-3.3.52.tar.xz.sig
/parted-3.4.tar.xz
/parted-3.4.tar.xz.sig
/parted-3.4.64.tar.xz
/parted-3.4.64.tar.xz.sig
/parted-3.5.tar.xz
/parted-3.5.tar.xz.sig
/parted-3.5.28.tar.xz
/parted-3.5.28.tar.xz.sig
/parted-3.6.tar.xz
/parted-3.6.tar.xz.sig
/parted-3.6.tar.xz.sug

View file

@ -0,0 +1,28 @@
From fc16e90a9fd64e2db12a815417b538b193fe48db Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 10 Jul 2024 15:41:16 -0700
Subject: [PATCH 1/2] parted: Print the Fixing... message to stderr
Otherwise it messes up stdout of things like --json
Thanks to Mikael Q for reporting this.
---
parted/ui.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/parted/ui.c b/parted/ui.c
index 33a1808..d6d1da4 100644
--- a/parted/ui.c
+++ b/parted/ui.c
@@ -645,7 +645,7 @@ exception_handler (PedException* ex)
/* script-mode and fix? */
int fix_is_an_option = (ex->options & PED_EXCEPTION_FIX);
if (opt_script_mode && opt_fix_mode && fix_is_an_option) {
- printf ("Fixing, due to --fix\n");
+ fprintf (stderr, "Fixing, due to --fix\n");
return PED_EXCEPTION_FIX;
}
--
2.45.2

View file

@ -0,0 +1,37 @@
From e34c1477cfa446f1b44287b10425a9e69602b519 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Fri, 12 Jul 2024 16:24:58 -0700
Subject: [PATCH 2/2] doc: Document IEC unit behavior in the manpage
Previously this has only been documented in the info page.
---
doc/C/parted.8 | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/doc/C/parted.8 b/doc/C/parted.8
index 3069c33..171269c 100644
--- a/doc/C/parted.8
+++ b/doc/C/parted.8
@@ -151,6 +151,19 @@ Toggle the state of the disk \fIflag\fP.
.B version
Display version information and a copyright message.
.RE
+.SH UNITS
+\fBparted\fP will compute sensible ranges for the locations you specify when using
+units like "GB", "MB", etc. Use the sector unit "s" or IEC binary units like
+"GiB", "MiB", to specify exact locations.
+
+When you specify start or end values using IEC binary units like "MiB",
+"GiB", "TiB", etc., \fBparted\fP treats those values as exact, and equivalent to
+the same number specified in bytes (i.e., with the "B" suffix), in that it
+provides no helpful range of sloppiness. Contrast that with a partition
+start request of "4GB", which may actually resolve to some sector up to 500MB
+before or after that point. Thus, when creating a partition in an exact location
+you should use units of bytes ("B"), sectors ("s"), or IEC binary units like
+"MiB", "GiB", but not "MB", "GB", etc.
.SH REPORTING BUGS
Report bugs to <bug-parted@gnu.org>
.SH SEE ALSO
--
2.45.2

View file

@ -0,0 +1,55 @@
From 8623f65e1fd064a679f75e3e075dff86f30282a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Old=C5=99ich=20Jedli=C4=8Dka?= <oldium.pro@gmail.com>
Date: Sat, 6 Apr 2024 19:21:11 +0200
Subject: [PATCH] libparted: Fail early when detecting nilfs2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When the disk is encrypted with TCG Opal HW encryption (supported by
cryptsetup 2.7.0+), the partition initially contains locked area, which
shows reading errors in kernel logs and may lead to configuring the disk
to work with lower reading speed. When the disk area is unlocked with
password, the reading succeeds. The beginning of the protected partition is
not locked and contains LUKS header, this is always readable.
To work around the errors when reading from the locked area, try first
detecting nilfs2 at the beginning (may be an unprotected LUKS header area)
and only check the second superblock that is at the end of the area (and
possibly locked) if the first one is valid (meaning the partition is not
LUKS-protected).
This is a change in behavior, but is consistent with the nilfs2 code, which
considers both superblocks mandatory, see [1].
[1] https://github.com/nilfs-dev/nilfs-utils/blob/master/lib/sb.c#L135-L158
Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
Signed-off-by: Brian C. Lane <bcl@redhat.com>
---
libparted/fs/nilfs2/nilfs2.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libparted/fs/nilfs2/nilfs2.c b/libparted/fs/nilfs2/nilfs2.c
index 6204542..40f8567 100644
--- a/libparted/fs/nilfs2/nilfs2.c
+++ b/libparted/fs/nilfs2/nilfs2.c
@@ -118,11 +118,12 @@ nilfs2_probe (PedGeometry* geom)
if (ped_geometry_read(geom, buf, 0, sectors))
sb = (struct nilfs2_super_block*)(buf + 1024);
+ if (!sb || !is_valid_nilfs_sb(sb))
+ return NULL;
+
if (ped_geometry_read(geom, buff2, sb2off, sectors2))
sb2 = (struct nilfs2_super_block*)buff2;
-
- if ((!sb || !is_valid_nilfs_sb(sb)) &&
- (!sb2 || !is_valid_nilfs_sb(sb2)))
+ if (!sb2 || !is_valid_nilfs_sb(sb2))
return NULL;
/* reserve 4k bytes for secondary superblock */
--
2.47.0

View file

@ -0,0 +1,41 @@
From 16343bda6ce0d41edf43f8dac368db3bbb63d271 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Wed, 20 Nov 2024 12:22:22 +0000
Subject: [PATCH] bug#74444: [PATCH] parted: fix do_version declaration
With gcc 15-20241117 compile fails with the below error, update the
do_version declaration to match the header in command.h
../../parted/parted.c: In function '_init_commands':
../../parted/parted.c:2469:9: error: passing argument 2 of 'command_create' from incompatible pointer type [-Wincompatible-pointer-types]
2469 | do_version,
| ^~~~~~~~~~
| |
| int (*)(void)
In file included from ../../parted/parted.c:28:
../../parted/command.h:35:39: note: expected 'int (*)(PedDevice **, PedDisk **)' {aka 'int (*)(struct _PedDevice **, struct _PedDisk **)'} but argument is of type 'int (*)(void)'
35 | int (*method) (PedDevice** dev, PedDisk** diskp),
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
Signed-off-by: Brian C. Lane <bcl@redhat.com>
---
parted/parted.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/parted/parted.c b/parted/parted.c
index 3abb52f..fc2aeba 100644
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -2172,7 +2172,7 @@ do_unit (PedDevice** dev, PedDisk** diskp)
}
static int
-do_version ()
+do_version (PedDevice** dev, PedDisk** diskp)
{
printf ("\n%s\n%s",
prog_name,
--
2.47.0

View file

@ -0,0 +1,31 @@
From 95b877cfa36c1571487c2a67a3902f1f5c4dc747 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Tue, 7 Jan 2025 16:50:21 -0800
Subject: [PATCH 5/8] libparted: Fix sun disklabel unhandled exception
The CHS warning should only continue if ignored, not if unhandled.
Script mode, or exception handlers can return PED_EXCEPTION_UNHANDLED
which should act the same as a cancel. Previously it would only exit if
cancel was selected, allowing it to continue to use the bad CHS and
crash later.
---
libparted/labels/sun.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libparted/labels/sun.c b/libparted/labels/sun.c
index 5ed2886..853576b 100644
--- a/libparted/labels/sun.c
+++ b/libparted/labels/sun.c
@@ -284,7 +284,7 @@ _check_geometry_sanity (PedDisk* disk, SunRawLabel* label)
PED_BE16_TO_CPU(label->pcylcount),
PED_BE16_TO_CPU(label->ntrks),
PED_BE16_TO_CPU(label->nsect))
- == PED_EXCEPTION_CANCEL)
+ != PED_EXCEPTION_IGNORE)
return 0;
#endif
dev->bios_geom.sectors = PED_BE16_TO_CPU(label->nsect);
--
2.47.1

View file

@ -0,0 +1,116 @@
From bdb92f73112177c091a764836a9ceaa59f7e9b15 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 8 Jan 2025 11:59:40 -0800
Subject: [PATCH 6/8] tests: Add test for SUN disklabel handling
When fixed the output from script mode should be an unknown disklabel,
not sun.
---
tests/Makefile.am | 3 ++-
tests/sun-badlabel | 42 +++++++++++++++++++++++++++++++++++++
tests/t4002-sun-badlabel.sh | 23 ++++++++++++++++++++
3 files changed, 67 insertions(+), 1 deletion(-)
create mode 100755 tests/sun-badlabel
create mode 100644 tests/t4002-sun-badlabel.sh
diff --git a/tests/Makefile.am b/tests/Makefile.am
index fa27b44..00f4a9d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -67,6 +67,7 @@ TESTS = \
t3400-whole-disk-FAT-partition.sh \
t4000-sun-raid-type.sh \
t4001-sun-vtoc.sh \
+ t4002-sun-badlabel.sh \
t4100-msdos-partition-limits.sh \
t4100-dvh-partition-limits.sh \
t4100-msdos-starting-sector.sh \
@@ -103,7 +104,7 @@ TESTS = \
EXTRA_DIST = \
$(TESTS) t-local.sh t-lvm.sh \
init.cfg init.sh t-lib-helpers.sh gpt-header-munge \
- gpt-header-move msdos-overlap gpt-attrs
+ gpt-header-move msdos-overlap gpt-attrs sun-badlabel
check_PROGRAMS = print-align print-flags print-max dup-clobber duplicate \
fs-resize
diff --git a/tests/sun-badlabel b/tests/sun-badlabel
new file mode 100755
index 0000000..6a28e86
--- /dev/null
+++ b/tests/sun-badlabel
@@ -0,0 +1,42 @@
+#!/usr/bin/python3
+# Mangle the CHS values stored in a SUN disklabel
+# This sets CHS to 1 track, 2 sectors and updates the checksum
+# This triggers a bug in the SUN disklabel code when the CHS
+# error is UNHANDLED (in script mode or with a custom exception
+# handler) and it continues using a bad label which will coredump
+# when .duplicate() is called on it.
+
+import array
+from struct import unpack_from, pack_into
+import sys
+
+file = open(sys.argv[1],'rb+')
+header = file.read(512)
+
+# Make sure it looks like a SUN disklabel first
+magic = unpack_from(">H", header, 0x1FC)[0]
+if magic != 0xDABE:
+ raise RuntimeError("Not a SUN disklabel. magic = 0x%04X" % magic)
+csum = unpack_from(">H", header, 0x1FE)[0]
+ntrks = unpack_from(">H", header, 0x1B4)[0]
+nsect = unpack_from(">H", header, 0x1B6)[0]
+
+header = array.array('B', header)
+# cylinders at 0x1B0
+# modify ntrks at offset 0x1B4
+pack_into('>H', header, 0x1B4, 1)
+# modify nsect at offset 0x1B6
+pack_into('>H', header, 0x1B6, 2)
+
+## Undo old values
+csum ^= ntrks
+csum ^= nsect
+
+## Add new
+csum ^= 1
+csum ^= 2
+pack_into('>H', header, 0x1FE, csum)
+
+file.seek(0)
+file.write(header)
+file.close()
diff --git a/tests/t4002-sun-badlabel.sh b/tests/t4002-sun-badlabel.sh
new file mode 100644
index 0000000..177c0e4
--- /dev/null
+++ b/tests/t4002-sun-badlabel.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Test exception handling on a bad SUN disklabel
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted $srcdir
+ss=$sector_size_
+
+n_sectors=2000 # number of sectors
+dev=sun-disk-file
+# create an empty file as a test disk
+dd if=/dev/zero of=$dev bs=$ss count=$n_sectors 2> /dev/null || fail=1
+
+# label the test disk as a sun disk
+parted -s $dev mklabel sun > out 2>&1 || fail=1
+compare /dev/null out || fail=1
+
+# Mangle the disklabel to have incorrect CHS values, but a valid checksum
+sun-badlabel $dev || fail=1
+
+# Check the output (this should return 1, but depend on checking the output for the test)
+parted -m -s $dev p > out 2>&1
+grep unknown out || { cat out; fail=1; }
+
+Exit $fail
--
2.47.1

View file

@ -0,0 +1,29 @@
From 1480769f2a7071c5a251b6c69658808199e8b05b Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 8 Jan 2025 13:35:04 -0800
Subject: [PATCH 7/8] libparted: Fix dvh disklabel unhandled exception
When an exception is using PED_EXCEPTION_IGNORE_CANCEL it should check
for !PED_EXCEPTION_IGNORE so that an unhandled exception is treated the
same as cancel. Otherwise it could lead to using the disklabel with
incorrect values.
---
libparted/labels/dvh.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libparted/labels/dvh.c b/libparted/labels/dvh.c
index 0f9124d..7d7dae3 100644
--- a/libparted/labels/dvh.c
+++ b/libparted/labels/dvh.c
@@ -308,7 +308,7 @@ dvh_read (PedDisk* disk)
PED_EXCEPTION_IGNORE_CANCEL,
_("Checksum is wrong, indicating the partition "
"table is corrupt."))
- == PED_EXCEPTION_CANCEL)
+ != PED_EXCEPTION_IGNORE)
return 0;
}
--
2.47.1

View file

@ -0,0 +1,57 @@
From 82b582996ce691eb635bed124603207515b92efe Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 8 Jan 2025 14:01:39 -0800
Subject: [PATCH 8/8] tests: Add test for dvh with a bad checksum
When using script mode it should return an unknown partition type, not
dvh, because the exception is unhandled.
---
tests/Makefile.am | 1 +
tests/t4101-dvh-badlabel.sh | 23 +++++++++++++++++++++++
2 files changed, 24 insertions(+)
create mode 100644 tests/t4101-dvh-badlabel.sh
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 00f4a9d..5eeab08 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -71,6 +71,7 @@ TESTS = \
t4100-msdos-partition-limits.sh \
t4100-dvh-partition-limits.sh \
t4100-msdos-starting-sector.sh \
+ t4101-dvh-badlabel.sh \
t4200-partprobe.sh \
t4300-nilfs2-tiny.sh \
t4301-nilfs2-badsb2.sh \
diff --git a/tests/t4101-dvh-badlabel.sh b/tests/t4101-dvh-badlabel.sh
new file mode 100644
index 0000000..075c044
--- /dev/null
+++ b/tests/t4101-dvh-badlabel.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Test exception handling on a bad DVH disklabel
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../parted $srcdir
+ss=$sector_size_
+
+n_sectors=2000 # number of sectors
+dev=sun-disk-file
+# create an empty file as a test disk
+dd if=/dev/zero of=$dev bs=$ss count=$n_sectors 2> /dev/null || fail=1
+
+# label the test disk as a dvh disk
+parted -s $dev mklabel dvh > out 2>&1 || fail=1
+compare /dev/null out || fail=1
+
+# Mangle the disklabel to have incorrect checksum
+dd if=/dev/zero of=$dev conv=notrunc bs=4 count=1 seek=1
+
+# Check the output (this should return 1, but depend on checking the output for the test)
+parted -m -s $dev p > out 2>&1
+grep unknown out || { cat out; fail=1; }
+
+Exit $fail
--
2.47.1

View file

@ -0,0 +1,52 @@
From 43c2b908396e8b7baa475e009f3f4dbf9b9beac7 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 28 May 2025 11:24:21 -0700
Subject: [PATCH 09/12] tests: probing ext4 without journal should still
indicate ext4
t1700 tests a fix for the ext filesystem probe code, it was previously
returning ext2 when the filesystem is really ext4 without a journal.
t3200 is updated to reflect the correct filesystem type -- it creates a
fs too small for a journal so it used to identify it as ext2 but now
correctly identifies it as ext4.
---
tests/t1700-probe-fs.sh | 10 ++++++++++
tests/t3200-resize-partition.sh | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/tests/t1700-probe-fs.sh b/tests/t1700-probe-fs.sh
index 7557f92..2bf2810 100755
--- a/tests/t1700-probe-fs.sh
+++ b/tests/t1700-probe-fs.sh
@@ -70,4 +70,14 @@ for feature in uninit_bg flex_bg; do
rm $dev
done
+# ext4 without a journal should still indicate ext4
+# create an ext3 file system
+dd if=/dev/null of=$dev bs=1024 seek=8192 >/dev/null || skip_ "dd failed"
+mkfs.ext4 -O ^has_journal -F $dev >/dev/null || skip_ "mkfs.ext4 failed"
+
+# probe the file system, which should still be ext4
+parted -m -s $dev u s print >out 2>&1 || fail=1
+grep '^1:.*:ext4::;$' out || fail=1
+rm $dev
+
Exit $fail
diff --git a/tests/t3200-resize-partition.sh b/tests/t3200-resize-partition.sh
index 846fbc3..c9decab 100755
--- a/tests/t3200-resize-partition.sh
+++ b/tests/t3200-resize-partition.sh
@@ -111,7 +111,7 @@ compare exp out || fail=1
parted -m -s $dev u s p > out 2>&1 || fail=1
sed -n 3p out > k && mv k out || fail=1
-printf "1:$default_start:$new_end:3073s:ext2::$ms;\n" > exp || fail=1
+printf "1:$default_start:$new_end:3073s:ext4::$ms;\n" > exp || fail=1
compare exp out || fail=1
umount "${dev}1" || fail=1
--
2.49.0

View file

@ -0,0 +1,61 @@
From e61584ddeb952ff04823936dabd1a6a241f04f38 Mon Sep 17 00:00:00 2001
From: Pascal Hambourg <pascal@plouf.fr.eu.org>
Date: Thu, 17 Apr 2025 18:42:33 +0200
Subject: [PATCH 10/12] libparted: Do not detect ext4 without journal as ext2
ext4 may have other incompatible features than journal and cannot be
mounted as ext2 by linux, so detect it as ext4 even without journal
if it has other incompatible features.
Signed-off-by: Brian C. Lane <bcl@redhat.com>
---
libparted/fs/ext2/interface.c | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/libparted/fs/ext2/interface.c b/libparted/fs/ext2/interface.c
index 7e0b197..5f64ab3 100644
--- a/libparted/fs/ext2/interface.c
+++ b/libparted/fs/ext2/interface.c
@@ -52,24 +52,21 @@ _ext2_generic_probe (PedGeometry* geom, int expect_ext_ver)
int is_ext3 = 0;
int is_ext4 = 0;
- is_ext3 = (EXT2_SUPER_FEATURE_COMPAT (*sb)
- & EXT3_FEATURE_COMPAT_HAS_JOURNAL) != 0;
- if (is_ext3) {
- is_ext4 = ((EXT2_SUPER_FEATURE_RO_COMPAT (*sb)
- & EXT4_FEATURE_RO_COMPAT_HUGE_FILE)
- || (EXT2_SUPER_FEATURE_RO_COMPAT (*sb)
- & EXT4_FEATURE_RO_COMPAT_GDT_CSUM)
- || (EXT2_SUPER_FEATURE_RO_COMPAT (*sb)
- & EXT4_FEATURE_RO_COMPAT_DIR_NLINK)
- || (EXT2_SUPER_FEATURE_INCOMPAT (*sb)
- & EXT4_FEATURE_INCOMPAT_EXTENTS)
- || (EXT2_SUPER_FEATURE_INCOMPAT (*sb)
- & EXT4_FEATURE_INCOMPAT_64BIT)
- || (EXT2_SUPER_FEATURE_INCOMPAT (*sb)
- & EXT4_FEATURE_INCOMPAT_FLEX_BG));
- if (is_ext4)
- is_ext3 = 0;
- }
+ is_ext4 = ((EXT2_SUPER_FEATURE_RO_COMPAT (*sb)
+ & EXT4_FEATURE_RO_COMPAT_HUGE_FILE)
+ || (EXT2_SUPER_FEATURE_RO_COMPAT (*sb)
+ & EXT4_FEATURE_RO_COMPAT_GDT_CSUM)
+ || (EXT2_SUPER_FEATURE_RO_COMPAT (*sb)
+ & EXT4_FEATURE_RO_COMPAT_DIR_NLINK)
+ || (EXT2_SUPER_FEATURE_INCOMPAT (*sb)
+ & EXT4_FEATURE_INCOMPAT_EXTENTS)
+ || (EXT2_SUPER_FEATURE_INCOMPAT (*sb)
+ & EXT4_FEATURE_INCOMPAT_64BIT)
+ || (EXT2_SUPER_FEATURE_INCOMPAT (*sb)
+ & EXT4_FEATURE_INCOMPAT_FLEX_BG));
+ if (!is_ext4)
+ is_ext3 = (EXT2_SUPER_FEATURE_COMPAT (*sb)
+ & EXT3_FEATURE_COMPAT_HAS_JOURNAL) != 0;
if (expect_ext_ver == 2 && (is_ext3 || is_ext4))
return NULL;
if (expect_ext_ver == 3 && !is_ext3)
--
2.49.0

View file

@ -0,0 +1,61 @@
From 2fad7d827d27e75298f1d17b5fa6567ddfc4c338 Mon Sep 17 00:00:00 2001
From: Anton Butenko <abutenko@akamai.com>
Date: Fri, 28 Feb 2025 16:09:18 +0100
Subject: [PATCH 11/12] nilfs2: Fixed possible sigsegv in case of corrupted
superblock
bytes value comes from the superblock and it must be at least as long as
s_sum which is a 32 bit value. So sumoff + 4 is the correct lower limit
for it, not sumoff - 4.
Signed-off-by: Brian C. Lane <bcl@redhat.com>
---
libparted/fs/nilfs2/nilfs2.c | 2 +-
tests/t4301-nilfs2-badsb2.sh | 10 ++++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/libparted/fs/nilfs2/nilfs2.c b/libparted/fs/nilfs2/nilfs2.c
index 40f8567..74186f1 100644
--- a/libparted/fs/nilfs2/nilfs2.c
+++ b/libparted/fs/nilfs2/nilfs2.c
@@ -88,7 +88,7 @@ is_valid_nilfs_sb(struct nilfs2_super_block *sb)
return 0;
bytes = PED_LE16_TO_CPU(sb->s_bytes);
- if (bytes > 1024 || bytes < sumoff - 4)
+ if (bytes > 1024 || bytes < sumoff + 4)
return 0;
crc = __efi_crc32(sb, sumoff, PED_LE32_TO_CPU(sb->s_crc_seed));
diff --git a/tests/t4301-nilfs2-badsb2.sh b/tests/t4301-nilfs2-badsb2.sh
index 2a1205b..45b6644 100755
--- a/tests/t4301-nilfs2-badsb2.sh
+++ b/tests/t4301-nilfs2-badsb2.sh
@@ -27,16 +27,22 @@ end=$(($len * 512 / $ss))
parted -s $dev mklabel msdos mkpart primary 1s ${end}s || framework_failure_
# Write a secondary superblock with the nilfs magic number and a nilfs
-# superblock length (s_bytes) field of only 10 bytes.
+# superblock length (s_bytes) field of only 13 bytes.
# struct nilfs2_super_block starts with these four fields...
# uint32_t s_rev_level;
# uint16_t s_minor_rev_level;
# uint16_t s_magic;
# uint16_t s_bytes;
sb2_offset=$(( 24 / ($ss / 512) + 1))
-perl -e "print pack 'LSSS.', 0, 0, 0x3434, 10, $ss" |
+perl -e "print pack 'LSSS.', 0, 0, 0x3434, 13, $ss" |
dd of=$dev bs=$ss seek=$sb2_offset count=1 conv=notrunc
+# Write primary nilfs magic number and a nilfs
+# superblock length (s_bytes) field of only 13 bytes.
+sb_offset=3
+perl -e "print pack 'LSSS.', 0, 0, 0x3434, 13, $ss" |
+ dd of=$dev bs=$ss seek=$sb_offset count=1 conv=notrunc
+
# This used to give parted a sigsegv.
parted -s $dev print || fail=1
--
2.49.0

View file

@ -0,0 +1,90 @@
From a2164c99b4d7d37334f9ca5ece55d8af95d002b7 Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 28 May 2025 13:09:32 -0700
Subject: [PATCH 12/12] doc: Fix some groff/mandoc linting complaints
---
doc/C/parted.8 | 27 ++++++++++++---------------
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/doc/C/parted.8 b/doc/C/parted.8
index 171269c..c852112 100644
--- a/doc/C/parted.8
+++ b/doc/C/parted.8
@@ -54,7 +54,6 @@ Use optimum alignment as given by the disk topology information. This
aligns to a multiple of the physical block size in a way that guarantees
optimal performance.
.RE
-
.SH COMMANDS
.TP
.B [device]
@@ -62,8 +61,7 @@ The block device to be used. When none is given, \fBparted\fP will use the
first block device it finds.
.TP
.B [command [options]]
-Specifies the command to be executed. If no command is given,
-.BR parted
+Specifies the command to be executed. If no command is given, \fBparted\fP
will present a command prompt. Possible commands are:
.RS
.TP
@@ -119,8 +117,8 @@ or an LVM logical volume if necessary.
.B set \fIpartition\fP \fIflag\fP \fIstate\fP
Change the state of the \fIflag\fP on \fIpartition\fP to \fIstate\fP.
Supported flags are: "boot", "root", "swap", "hidden", "raid", "lvm", "lba",
-"legacy_boot", "irst", "msftres", "esp", "chromeos_kernel", "bls_boot", "linux-home",
-"no_automount", "bios_grub", and "palo".
+"legacy_boot", "irst", "msftres", "esp", "chromeos_kernel", "bls_boot",
+"linux-home", "no_automount", "bios_grub", and "palo".
\fIstate\fP should be either "on" or "off".
.TP
.B unit \fIunit\fP
@@ -140,10 +138,10 @@ On MS-DOS set the type aka. partition id of \fIpartition\fP to
the type-uuid of \fIpartition\fP to \fIuuid\fP.
.TP
.B disk_set \fIflag\fP \fIstate\fP
-Change a \fIflag\fP on the disk to \fIstate\fP. A flag can be either "on" or "off".
-Some or all of these flags will be available, depending on what disk label you
-are using. Supported flags are: "pmbr_boot" on GPT to enable the boot flag on the
-GPT's protective MBR partition.
+Change a \fIflag\fP on the disk to \fIstate\fP. A flag can be either "on" or
+"off". Some or all of these flags will be available, depending on what disk
+abel you are using. Supported flags are: "pmbr_boot" on GPT to enable the
+boot flag on the GPT's protective MBR partition.
.TP
.B disk_toggle \fIflag\fP
Toggle the state of the disk \fIflag\fP.
@@ -155,24 +153,23 @@ Display version information and a copyright message.
\fBparted\fP will compute sensible ranges for the locations you specify when using
units like "GB", "MB", etc. Use the sector unit "s" or IEC binary units like
"GiB", "MiB", to specify exact locations.
-
When you specify start or end values using IEC binary units like "MiB",
"GiB", "TiB", etc., \fBparted\fP treats those values as exact, and equivalent to
the same number specified in bytes (i.e., with the "B" suffix), in that it
provides no helpful range of sloppiness. Contrast that with a partition
start request of "4GB", which may actually resolve to some sector up to 500MB
-before or after that point. Thus, when creating a partition in an exact location
-you should use units of bytes ("B"), sectors ("s"), or IEC binary units like
-"MiB", "GiB", but not "MB", "GB", etc.
+before or after that point. Thus, when creating a partition in an exact
+location you should use units of bytes ("B"), sectors ("s"), or IEC binary units
+like "MiB", "GiB", but not "MB", "GB", etc.
.SH REPORTING BUGS
Report bugs to <bug-parted@gnu.org>
.SH SEE ALSO
.BR fdisk (8),
.BR mkfs (8),
The \fIparted\fP program is fully documented in the
-.BR info(1)
+.BR info (1)
format
-.IR "GNU partitioning software"
+.I "GNU partitioning software"
manual.
.SH AUTHOR
This manual page was written by Timshel Knoll <timshel@debian.org>,
--
2.49.0

View file

@ -1,33 +0,0 @@
From 38badae4d6b858da713b383b9bc7bdad6294ca1b Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Wed, 27 Jun 2018 13:47:33 -0700
Subject: [PATCH 92/92] Switch gpt-header-move and msdos-overlap to python3
---
tests/gpt-header-move | 2 +-
tests/msdos-overlap | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/gpt-header-move b/tests/gpt-header-move
index 3dda5cb..18f58d0 100755
--- a/tests/gpt-header-move
+++ b/tests/gpt-header-move
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# open img file, subtract 33 from altlba address, and move the last 33 sectors
# back by 33 sectors
diff --git a/tests/msdos-overlap b/tests/msdos-overlap
index d6ae8d6..b2b03e6 100755
--- a/tests/msdos-overlap
+++ b/tests/msdos-overlap
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
"""
Write an overlapping partition to a msdos disk
--
2.17.1

7
gating.yaml Normal file
View file

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_stable]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

File diff suppressed because it is too large Load diff

8
plans/test-parted.fmf Normal file
View file

@ -0,0 +1,8 @@
summary: Run a basic parted test
prepare:
how: install
package:
- parted
- jq
execute:
script: ./tests/scripts/run_tests.sh

View file

@ -7,13 +7,13 @@ PnOOItj7qbrCMASoBx1TG8Zdg8ufehMnfb85x4xxAebXkqJQpEVTjt4lj4p6BhrW
R+pIW/nBUrz3OsV7WwPKjSLjJtTJFxYX+RFSCqOdfusuysoOxpIHOx1WxjGUOB5j
fnhmq41nWXf8ozb58zSpjDrJ7jGQ9pdUpAtRABEBAAG0HkJyaWFuIEMuIExhbmUg
PGJjbEByZWRoYXQuY29tPokBVAQTAQoAPgIbAwIeAQIXgAULCQgHAwUVCgkICwUW
AgMBABYhBLTGtFHk+otCMsoZHhF+jBaO/jp/BQJczi7GBQkTPx1TAAoJEBF+jBaO
/jp/rvMH/2l/2Welr7i/nupMQYh+f1sUQAtDulMUyy3kT2JIDvAPUPVH/JjuQ9DV
YTRd0A5593Y9fb7V3Gsqz+paG9ThGPyWdS8UmufU1XCeGktYJDkwLSwqrLs3p+HT
qE34B9aWU1nQXpWc0/rX/a7NrgWKTs6iVkwZ3bZ+pgwFf9bPHnCCVkn9TJtU2hhA
8vBZwOqzhSTbppXZrw+76rZK83q+2WS76zOlXrFEVAWn5DrQ+sCGTxkhPWA8zLAq
OAtJ14dwZCQGUHCWr7aFY2odIWCJnhukcFr0ot9pdnx9uy2DfAynd2Q/+tiaz1CL
qnc6THA8VNDyzi5EyeDNAE0meoIpK7eIRgQQEQIABgUCS37G6QAKCRAh+2P+lxLC
AgMBABYhBLTGtFHk+otCMsoZHhF+jBaO/jp/BQJglc7SBQkW+DzfAAoJEBF+jBaO
/jp/H4sH/A/92VVmfKssdC41fIO2iBIokLLfAAYzw75unKS84ovjeussUHqgDVCt
ZzXcHixo6oiYGgtyb5/EXTgEK6blZiUgsiWLFcFAo3tvCpMz9xa3XcaSw7MKwHCI
lmcdZalnQD47cu3E0CjFRoo9p3yueDYh3ZjMEzAFilGiZOBeoMwKxCofVqQCstp0
0XZVMjAD/ZvhuNyXmqYykAcjORY2eVq92tOAdW6cAqv963hlDs6GRdYxBbx6Jorx
8bqpTQA9o/y3g6clt/oPmjAXtBPnHQFH6XlVIXodCPc5iuEe6gFmvL29JDARTkee
hIsqNbrPy11JQkD6EfC6vaWQ5G1DbsWIRgQQEQIABgUCS37G6QAKCRAh+2P+lxLC
zbmrAJ9ENIweBGv/eRERFJAhU5vS+pzqQACfbUM8Bl4ayxWcznUVmIlnAkG1+f+J
AhwEEAEKAAYFAlVhGI8ACgkQ0phFpw9QF94AEBAAj9g/cR2fv6ognKbd3noTz7zt
8unMKD33s4evHaLQCaeqZLa26RPg2LDlPBmUbyAT75KMqEnAo5Mm5cLTrQY0k3mF
@ -72,13 +72,13 @@ psjonaFP8jA3TqL0QK+yzBRKJnMnLEY1nWE1FtkMRccXvzi0Z/XQVhiWQyTvDFoK
tepBFrH9UqWbNHyki22aighumUsW01pcPH2ogSj+HR01r7SfI/y2EkE6loHQfCDy
cHmlqYV+X6GZEvf1qu2+EHEQChsHIAxWyshsxM/ZPmx/8e5S3Xmjl7h/6E9wcsIp
vnf504sLX5j4Km9I5HgJSRxHxgRPpqJ2/XiClAJanO5gCw0RdQARAQABiQE8BBgB
CgAmAhsMFiEEtMa0UeT6i0IyyhkeEX6MFo7+On8FAlzOLuYFCRM/HXMACgkQEX6M
Fo7+On8E9gf+JIm8+RBRhkKv++PMgf94UWOQo4Evro5kZZDl//M0M7TOSrZj1KVi
zfQaLWMAq+GQe74tOSQGVlRmPnrn69rpeKNcjy+YyRlDIvknG3fw+EgZUJ7BaNDn
an6nnKNzmUhxI+a2r1V/k1VjUq1cXGNgPEVcyu2Ph3V23zP7zsVrpN2YeTlr/jQB
r1EoGD6JlL0LftBusXUhBv0UhDjaLDCFGdx2dccGTZalQe9vikMQH2ahDfyXQzHc
yWztzh4xM44VBFLBpMwiuocu4yZZnz47FIbD3Oc3KKasa75Vgeh00HNdIItPwID2
N1oNRAfiyazs6kUwmRHwpvS3JFkcaWhakJkBDQRLfsVzAQgApANWbXDuB+2VBv9G
CgAmAhsMFiEEtMa0UeT6i0IyyhkeEX6MFo7+On8FAmCVzrsFCRb4PMgACgkQEX6M
Fo7+On/svQgAnigeMeQPF3mDhjy88yNwL2cIdP8IPNU/lx70e5IJfL0cOWX8xX7n
n446Tj7KvACWLlFyhCNI3Wm9a2WMTsTKA8gG/WgDFgOONFN+2KyrCza1fgvzgv89
ybovdksM5PGtS660O8SsMAIa7HUyObnTJHWJIUQxyzZrw9EQ6kX/JB1NHEX/zKfN
n5E0CPeBXfDYvNzUnBuJkTyBBk0zMF/k05RQ0FrA08SkF/YMAWWrzBbMQTnooSuP
7AHuVudX+P3XIqtVLL3S55HMag0hSA0aW0ghSFqiqabmvtLmJOHL7Ai3/FKCafou
SEd7AfZKfWLGgBslnLrcST5ytRNs4LI9KZkBDQRLfsVzAQgApANWbXDuB+2VBv9G
i+EZWSKM7KK18xa60wLCRB73cvqxwh98UXBc+iDG3wjnVfqCsZQz+z0tL1in6scJ
HpzlLreaPW99rg3RTFuCGxVxEPeALkkKUo6PD5VTJv+daZpkcXSc8j569GA9/JlS
uqlBGCyP+M10oBZOPdxk/GOJtzdfDv/snj5zjiLY+6m6wjAEqAcdUxvGXYPLn3oT
@ -104,5 +104,5 @@ UH6H0kR9up567mQO3xy6Rw4NdiLwpGpBjofH8u69vkFMNXxWYwlscM70Ye3uCP6E
TFYYdlnD+KHlXtaCKqu4vh9QEVV9lx6qx3Gh4gNcKYQwsGBtNi+QcGlR+cQZnIfQ
yNDmEqwON6sW2LqKSrkBjwN18jK3kDSSTMXKAEIM4OTTayqD9jdoA+j6pJ3QF8m5
MupQVzWmw8NNbNuPfGmsE/s=
=a7qH
=Frrv
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,2 +1,2 @@
SHA512 (parted-3.2.153.tar.xz) = 149772c95f12430f6eb64ae1dc83a905059263bf8ec9a84bb2d2ff573d3a1b76d5dd67dfb511973f9fb63a9843e098b126e5f5c2c93cec7c926b6a1abe646a43
SHA512 (parted-3.2.153.tar.xz.sig) = 6c84f7434fd36da94472f2a8c59ce3b0a5aa22f474ea5f90def27f1db391c86bd700a851ebc82519fa7dc44a9f23c4efc2c3374b9e6f04b845d2e34399d06702
SHA512 (parted-3.6.tar.xz) = 034a44b25718acba175212019d24f092972a791c5bd1d921ae91e17478657a77c5c5dd0c832bed7968c3a07ec6c65c0785acfac2f90c1ca5e1692f3c141693ef
SHA512 (parted-3.6.tar.xz.sig) = 7c845026937b29fb49085ef9e3354226b73a1c3b5f9082d440d9a8ac13d76b1d07dae0bc10d8c974d4e57bc582f38c0a908e80718dd1ff1adfad3b04699c672c

View file

@ -1,5 +0,0 @@
---
standard-inventory-qcow2:
qemu:
m: 4G

30
tests/scripts/run_tests.sh Executable file
View file

@ -0,0 +1,30 @@
#!/usr/bin/bash
set -eux
DISK=/var/tmp/parted-disk.img
# Make a temporary disk image to use for tests
fallocate -l 100MiB $DISK
# Make a disklabel and a couple of partitions
parted -s $DISK mklabel gpt
parted -s $DISK mkpart vfat 1MiB 10MiB
parted -s $DISK mkpart ext4 10MiB 50MiB
parted -s $DISK mkpart ext4 50MiB 75MiB
parted -s $DISK set 1 boot
parted -s $DISK set 3 linux-home
# Check p1 for ESP UUID c12a7328-f81f-11d2-ba4b-00a0c93ec93b
P1_TYPE=$(parted -s $DISK --json u MiB p | jq -r '.disk.partitions[0]."type-uuid"')
[ "$P1_TYPE" == "c12a7328-f81f-11d2-ba4b-00a0c93ec93b" ] || exit 1
# Check p2 for linux data type 0fc63daf-8483-4772-8e79-3d69d8477de4
P2_TYPE=$(parted -s $DISK --json u MiB p | jq -r '.disk.partitions[1]."type-uuid"')
[ "$P2_TYPE" == "0fc63daf-8483-4772-8e79-3d69d8477de4" ] || exit 1
# Check p3 for linux home type 933ac7e1-2eb4-4f13-b844-0e14e2aef915
P3_TYPE=$(parted -s $DISK --json u MiB p | jq -r '.disk.partitions[2]."type-uuid"')
[ "$P3_TYPE" == "933ac7e1-2eb4-4f13-b844-0e14e2aef915" ] || exit 1
echo "PASS"
exit 0

View file

@ -1,29 +0,0 @@
#!/bin/sh
set -eux
: ${1?"Usage: $0 TESTSDIR"}
TESTSDIR="$1"
SOURCEDIR="${TESTSDIR}/source/"
PACKAGE=parted
cd "${TESTSDIR}"
if [ ! -e ${PACKAGE}.spec ]; then
echo "Missing ${PACKAGE}.spec"
pwd
ls
exit 1
fi
# This runs from the ./tests/ directory
# Install the dependencies from the spec which MUST be copied over by tests.yml
dnf -y build-dep ${PACKAGE}.spec
# Flattened sources from standard-role-sources
cd "${SOURCEDIR}" || exit
# Rebuild the package in place, also runs the %check
# skip %prep, it was already run on the source before it was copied over
rpmbuild --noprep --nodeps -bb --build-in-place "${TESTSDIR}/${PACKAGE}.spec"
RET=$?
exit ${RET}

View file

@ -1,33 +0,0 @@
---
# Run parted's tests by rebuilding the rpm and running the %check section
- hosts: localhost
vars:
package: parted
tenv_workdir: "/tmp/workdir"
tags:
- classic
tasks:
- name: Copy the spec file over to the workdir
copy:
src: "{{ playbook_dir }}/../{{ package }}.spec"
dest: "{{ tenv_workdir }}/"
- hosts: localhost
vars:
tenv_workdir: "/tmp/workdir"
roles:
- role: standard-test-source
tags:
- always
- role: standard-test-basic
tags:
- classic
required_packages:
- dnf
- rpm-build
tests:
- simple:
run: "./run_tests.sh {{ tenv_workdir }}"