diff --git a/dummy-bootcode-only-for-x86.patch b/dummy-bootcode-only-for-x86.patch new file mode 100644 index 0000000..13ade9b --- /dev/null +++ b/dummy-bootcode-only-for-x86.patch @@ -0,0 +1,25 @@ +Index: parted-2.4/libparted/labels/dos.c +=================================================================== +--- parted-2.4.orig/libparted/labels/dos.c ++++ parted-2.4/libparted/labels/dos.c +@@ -1260,6 +1260,12 @@ msdos_write (const PedDisk* disk) + return 0; + DosRawTable *table = (DosRawTable *) s0; + ++/* ++ * Some ARM devices, such as the OMAP3 series, have a buggy boot rom that ++ * simply goes into nirvana if it finds non-0 in the first 4 bytes of the SD ++ * card. ++ */ ++#if defined(__x86_64__) || defined(__i386__) + /* either no bootrecord at all, or AIX IPL signature ... */ + if ( (!table->boot_code[0]) || + ( table->boot_code[0] == (char) 0xc9 && +@@ -1270,6 +1276,7 @@ msdos_write (const PedDisk* disk) + memset (table->boot_code, 0, 512); + memcpy (table->boot_code, MBR_BOOT_CODE, sizeof (MBR_BOOT_CODE)); + } ++#endif + + /* If there is no unique identifier, generate a random one */ + if (!table->mbr_signature) diff --git a/parted-fix-cciss-partition-naming.patch b/parted-fix-cciss-partition-naming.patch new file mode 100644 index 0000000..085dbd4 --- /dev/null +++ b/parted-fix-cciss-partition-naming.patch @@ -0,0 +1,18 @@ +Index: parted-2.4/libparted/arch/linux.c +=================================================================== +--- parted-2.4.orig/libparted/arch/linux.c ++++ parted-2.4/libparted/arch/linux.c +@@ -2226,8 +2226,11 @@ _device_get_part_path (PedDevice *dev, i + result = zasprintf ("%.*s/part%d", + (int) (path_len - 5), dev->path, num); + } else { +- char const *p = (dev->type == PED_DEVICE_DAC960 +- || dev->type == PED_DEVICE_CPQARRAY ++ const char *p; ++ if (dev->type == PED_DEVICE_CPQARRAY) ++ p = "p"; ++ else ++ p = (dev->type == PED_DEVICE_DAC960 + || dev->type == PED_DEVICE_ATARAID + || dev->type == PED_DEVICE_DM + || isdigit (dev->path[path_len - 1]) diff --git a/parted.changes b/parted.changes index 17e7900..868b965 100644 --- a/parted.changes +++ b/parted.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jul 3 13:31:20 UTC 2012 - puzel@suse.com + +- copy dummy bootcode to MBR only on x86 because it can cause + problems to certain ARM machine (bnc#769789) + - add: dummy-bootcode-only-for-x86.patch + +------------------------------------------------------------------- +Tue Apr 17 13:59:13 UTC 2012 - puzel@suse.com + +- fix informing the kernel about partitions on cciss devices + (bnc#757225) + - add: parted-fix-cciss-partition-naming.patch + ------------------------------------------------------------------- Fri Dec 30 08:42:23 UTC 2011 - puzel@suse.com diff --git a/parted.spec b/parted.spec index b5d19ba..1d5e1b9 100644 --- a/parted.spec +++ b/parted.spec @@ -1,7 +1,7 @@ # # spec file for package parted # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: parted Version: 2.4 Release: 0 @@ -42,6 +43,8 @@ Patch14: parted-gpt-sync-mbr-label.patch Patch15: parted-use-ext-range.patch Patch16: parted-improve-loop-support.patch Patch17: fix-nilfs2-probe-function.patch +Patch18: parted-fix-cciss-partition-naming.patch +Patch19: dummy-bootcode-only-for-x86.patch Requires: /sbin/udevadm BuildRequires: check-devel BuildRequires: device-mapper-devel >= 1.02.33 @@ -78,8 +81,8 @@ Summary: Parted Include Files and Libraries necessary for Development Group: Development/Libraries/C and C++ Requires: device-mapper-devel >= 1.02.33 Requires: e2fsprogs-devel -Requires: libreiserfs-devel Requires: libparted0 = %version +Requires: libreiserfs-devel # bug437293 %ifarch ppc64 Obsoletes: parted-devel-64bit @@ -107,6 +110,8 @@ to develop applications that require these. %patch15 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 +%patch19 -p1 %build export CFLAGS="%{optflags} `ncursesw6-config --cflags`"