diff --git a/parted-1.9.0-diskflags.patch b/parted-1.9.0-diskflags.patch index 2c66dec..6d53473 100644 --- a/parted-1.9.0-diskflags.patch +++ b/parted-1.9.0-diskflags.patch @@ -287,17 +287,20 @@ diff -up parted-1.9.0/libparted/labels/dos.c.diskflags parted-1.9.0/libparted/la } #ifndef DISCOVER_ONLY -@@ -2029,7 +2083,9 @@ msdos_partition_align (PedPartition* par +@@ -2029,8 +2082,11 @@ msdos_partition_align (PedPartition* par partition_probe_bios_geometry (part, &bios_geom); -- if (ped_disk_align_to_cylinders_on()) +- if (_align (part, &bios_geom, constraint)) +- return 1; + DosDiskData *disk_specific = part->disk->disk_specific; -+ if (ped_disk_align_to_cylinders_on() && -+ disk_specific->cylinder_alignment) - if (_align (part, &bios_geom, constraint)) - return 1; ++ if (disk_specific->cylinder_alignment) ++ if (_align (part, &bios_geom, constraint)) ++ return 1; ++ if (_align_no_geom (part, constraint)) + return 1; + @@ -2324,6 +2380,10 @@ static PedDiskOps msdos_disk_ops = { write: NULL, #endif diff --git a/parted-1.9.0-export-alignment-info.patch b/parted-1.9.0-export-alignment-info.patch index d765abe..ac9a0b9 100644 --- a/parted-1.9.0-export-alignment-info.patch +++ b/parted-1.9.0-export-alignment-info.patch @@ -68,15 +68,14 @@ diff -up parted-1.9.0/include/parted/disk.h.export-align parted-1.9.0/include/pa }; struct _PedDiskType { -@@ -263,6 +264,8 @@ extern int ped_disk_get_last_partition_n +@@ -263,6 +264,7 @@ extern int ped_disk_get_last_partition_n extern int ped_disk_get_max_primary_partition_count (const PedDisk* disk); extern bool ped_disk_get_max_supported_partition_count(const PedDisk* disk, int* supported); +extern PedAlignment *ped_disk_get_partition_alignment(const PedDisk *disk); -+ - extern int ped_disk_align_to_cylinders_on(); - extern int ped_disk_align_to_cylinders_toggle(); + /** @} */ + diff -up parted-1.9.0/include/parted/natmath.h.export-align parted-1.9.0/include/parted/natmath.h --- parted-1.9.0/include/parted/natmath.h.export-align 2009-07-23 19:52:08.000000000 +0200 +++ parted-1.9.0/include/parted/natmath.h 2009-11-03 11:30:46.000000000 +0100 diff --git a/parted-1.9.0-lo-as-file-rh546622.patch b/parted-1.9.0-lo-as-file-rh546622.patch index a3bf65a..3ed2cbf 100644 --- a/parted-1.9.0-lo-as-file-rh546622.patch +++ b/parted-1.9.0-lo-as-file-rh546622.patch @@ -18,3 +18,19 @@ diff -up parted-1.9.0/libparted/arch/linux.c.orig parted-1.9.0/libparted/arch/li } else { dev->type = PED_DEVICE_UNKNOWN; } +@@ -1048,6 +1048,15 @@ init_file (PedDevice* dev) + if (!ped_device_open (dev)) + goto error; + ++ dev->sector_size = PED_SECTOR_SIZE_DEFAULT; ++ char *p = getenv ("PARTED_SECTOR_SIZE"); ++ if (p) { ++ int s = atoi (p); ++ if (0 < s && s % 512 == 0) ++ dev->sector_size = s; ++ } ++ dev->phys_sector_size = dev->sector_size; ++ + if (S_ISBLK(dev_stat.st_mode)) + dev->length = _device_get_length (dev); + else diff --git a/parted-1.9.0-partition-limits-rh533417.patch b/parted-1.9.0-partition-limits-rh533417.patch index 3535bf3..4cb577a 100644 --- a/parted-1.9.0-partition-limits-rh533417.patch +++ b/parted-1.9.0-partition-limits-rh533417.patch @@ -1,15 +1,14 @@ --- parted-1.9.0.orig/include/parted/disk.h 2009-12-15 10:32:24.000000000 +0100 +++ parted-1.9.0/include/parted/disk.h 2009-12-15 10:59:26.000000000 +0100 -@@ -266,6 +266,9 @@ +@@ -265,6 +265,8 @@ extern int ped_disk_get_max_primary_part + extern bool ped_disk_get_max_supported_partition_count(const PedDisk* disk, int* supported); extern PedAlignment *ped_disk_get_partition_alignment(const PedDisk *disk); - +extern PedSector ped_disk_max_partition_length (const PedDisk *disk); +extern PedSector ped_disk_max_partition_start_sector (const PedDisk *disk); -+ - extern int ped_disk_align_to_cylinders_on(); - extern int ped_disk_align_to_cylinders_toggle(); + /** @} */ + --- parted-1.9.0.orig/libparted/disk.c 2009-12-15 10:32:24.000000000 +0100 +++ parted-1.9.0/libparted/disk.c 2009-12-15 10:55:16.000000000 +0100 @@ -738,6 +738,40 @@ diff --git a/parted.spec b/parted.spec index f4b7cc9..08648c3 100644 --- a/parted.spec +++ b/parted.spec @@ -4,7 +4,7 @@ Summary: The GNU disk partition manipulation program Name: parted Version: 1.9.0 -Release: 24%{?dist} +Release: 25%{?dist} License: GPLv3+ Group: Applications/System URL: http://www.gnu.org/software/parted @@ -14,7 +14,6 @@ Patch1: %{name}-1.9.0-appletv-support.patch Patch2: %{name}-1.9.0-extended-mbr.patch Patch3: %{name}-1.9.0-noheaders.patch Patch4: %{name}-1.9.0-pop-push-error.patch -Patch5: %{name}-1.9.0-no-cylinder-align.patch Patch6: %{name}-1.9.0-remove-struct-elem.patch Patch7: %{name}-1.9.0-move-function-declarations.patch Patch10: %{name}-1.9.0-handle-dup-error.patch @@ -78,7 +77,6 @@ Parted library, you need to install this package. %patch2 -p1 -b .extended-mbr %patch3 -p1 -b .noheaders %patch4 -p1 -b .pop-push-error -%patch5 -p1 -b .no-cylinder-align %patch6 -p1 -b .remove-struct-elem %patch7 -p1 -b .move-function-declarations %patch10 -p1 -b .handle-dup-error @@ -164,7 +162,15 @@ fi %{_exec_prefix}/%{_lib}/libparted.so %{_exec_prefix}/%{_lib}/pkgconfig/libparted.pc + %changelog +* Sun Dec 20 2009 Hans de Goede 1.9.0-25 +- Fix crash when partitioning loopback devices (#546622) +- Drop no-cylinder-align patch: + - its functionality is superseeded by the per disk flags + - its only user (pyparted) has been updated to use those + - this is not upstream so we don't want other programs to start using it + * Fri Dec 18 2009 Hans de Goede 1.9.0-24 - Allow partitioning of loopback devices (#546622) - Add libparted function to query maximum partition length and start