#! /bin/sh -e ## prep.dpatch by Sven Luther ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Added a prep-boot partition flag. ## DP: Closes: #245451 . $(dirname $0)/DPATCH @DPATCH@ diff -urN parted-1.6.11-disk_dos/doc/parted.texi parted-1.6.11-prep/doc/parted.texi --- parted-1.6.11-disk_dos/doc/parted.texi 2004-03-09 11:17:08.000000000 +0100 +++ parted-1.6.11-prep/doc/parted.texi 2004-11-01 12:49:32.987465936 +0100 @@ -1106,8 +1106,12 @@ physical volume. @item PALO -(MS-DOS) - this flag can be enabled to that the partition for use by -the Linux/PA-RISC boot loader, palo. +(MS-DOS) - this flag can be enabled so that the partition can be used +by the Linux/PA-RISC boot loader, palo. + address@hidden PREP +(MS-DOS) - this flag can be enabled so that the partition can be used +as a PReP-boot partition on PowerPC PReP or IBM RS6K/CHRP hardware. @end table diff -urN parted-1.6.11-disk_dos/include/parted/disk.h parted-1.6.11-prep/include/parted/disk.h --- parted-1.6.11-disk_dos/include/parted/disk.h 2004-03-09 11:17:08.000000000 +0100 +++ parted-1.6.11-prep/include/parted/disk.h 2004-11-01 12:47:58.608813672 +0100 @@ -48,10 +48,11 @@ PED_PARTITION_LVM=6, PED_PARTITION_LBA=7, PED_PARTITION_HPSERVICE=8, - PED_PARTITION_PALO=9 + PED_PARTITION_PALO=9, + PED_PARTITION_PREP=10 } PedPartitionFlag; #define PED_PARTITION_FIRST_FLAG PED_PARTITION_BOOT -#define PED_PARTITION_LAST_FLAG PED_PARTITION_PALO +#define PED_PARTITION_LAST_FLAG PED_PARTITION_PREP typedef enum { PED_DISK_TYPE_EXTENDED=1, /* supports extended partitions */ diff -urN parted-1.6.11-disk_dos/libparted/disk.c parted-1.6.11-prep/libparted/disk.c --- parted-1.6.11-disk_dos/libparted/disk.c 2004-03-09 11:17:08.000000000 +0100 +++ parted-1.6.11-prep/libparted/disk.c 2004-11-01 12:50:11.503610592 +0100 @@ -1763,6 +1763,8 @@ return N_("hp-service"); case PED_PARTITION_PALO: return N_("palo"); + case PED_PARTITION_PREP: + return N_("prep-boot"); default: ped_exception_throw ( diff -urN parted-1.6.11-disk_dos/libparted/disk_dos.c parted-1.6.11-prep/libparted/disk_dos.c --- parted-1.6.11-disk_dos/libparted/disk_dos.c 2004-11-01 12:01:57.462571704 +0100 +++ parted-1.6.11-prep/libparted/disk_dos.c 2004-11-01 12:47:58.695800448 +0100 @@ -81,6 +81,7 @@ #define PARTITION_DELL_DIAG 0xde #define PARTITION_GPT 0xee #define PARTITION_PALO 0xf0 +#define PARTITION_PREP 0x41 #define PARTITION_LINUX_RAID 0xfd #define PARTITION_LINUX_LVM_OLD 0xfe @@ -120,6 +121,7 @@ int lvm; int lba; int palo; + int prep; } DosPartitionData; static PedDiskType msdos_disk_type; @@ -606,6 +608,7 @@ || raw_part->type == PARTITION_LINUX_LVM; dos_data->lba = raw_part_is_lba (raw_part); dos_data->palo = raw_part->type == PARTITION_PALO; + dos_data->prep = raw_part->type == PARTITION_PREP; return part; } @@ -927,6 +930,7 @@ dos_data->lvm = 0; dos_data->lba = 0; dos_data->palo = 0; + dos_data->prep = 0; } else { part->disk_specific = NULL; } @@ -962,6 +966,7 @@ new_dos_data->lvm = old_dos_data->lvm; new_dos_data->lba = old_dos_data->lba; new_dos_data->palo = old_dos_data->palo; + new_dos_data->prep = old_dos_data->prep; return new_part; } @@ -999,6 +1004,7 @@ dos_data->raid = 0; dos_data->lvm = 0; dos_data->palo = 0; + dos_data->prep = 0; if (dos_data->lba) dos_data->system = PARTITION_EXT_LBA; else @@ -1018,6 +1024,10 @@ dos_data->system = PARTITION_PALO; return 1; } + if (dos_data->prep) { + dos_data->system = PARTITION_PREP; + return 1; + } if (!fs_type) dos_data->system = PARTITION_LINUX; @@ -1086,6 +1096,7 @@ dos_data->hidden = 0; dos_data->lvm = 0; dos_data->palo = 0; + dos_data->prep = 0; } dos_data->raid = state; return ped_partition_set_system (part, part->fs_type); @@ -1095,6 +1106,7 @@ dos_data->hidden = 0; dos_data->raid = 0; dos_data->palo = 0; + dos_data->prep = 0; } dos_data->lvm = state; return ped_partition_set_system (part, part->fs_type); @@ -1112,6 +1124,15 @@ dos_data->palo = state; return ped_partition_set_system (part, part->fs_type); + case PED_PARTITION_PREP: + if (state) { + dos_data->hidden = 0; + dos_data->raid = 0; + dos_data->lvm = 0; + } + dos_data->prep = state; + return ped_partition_set_system (part, part->fs_type); + default: return 0; } @@ -1145,6 +1166,9 @@ case PED_PARTITION_PALO: return dos_data->palo; + case PED_PARTITION_PREP: + return dos_data->prep; + default: return 0; } @@ -1161,6 +1185,7 @@ case PED_PARTITION_LVM: case PED_PARTITION_LBA: case PED_PARTITION_PALO: + case PED_PARTITION_PREP: return 1; default: