diff --git a/0002-Support-new-sfdisk-version-2.26.patch b/0002-Support-new-sfdisk-version-2.26.patch new file mode 100644 index 0000000..c782c2d --- /dev/null +++ b/0002-Support-new-sfdisk-version-2.26.patch @@ -0,0 +1,88 @@ +From 1895d10a7539d055a4e0206af1e7a9e5ea32a4f7 Mon Sep 17 00:00:00 2001 +From: Juerg Haefliger +Date: Wed, 25 Mar 2015 13:59:20 +0100 +Subject: [PATCH] Support new sfdisk version 2.26 + +The sfdisk usage with version 2.26 changed. Specifically, the option +--show-pt-geometry and functionality for CHS have been removed. +Also, restoring a backup MBR now needs to be done using dd. +--- + bin/growpart | 28 ++++++++++------------------ + 1 file changed, 10 insertions(+), 18 deletions(-) + +diff --git a/bin/growpart b/bin/growpart +index 595c40b..d4c995b 100755 +--- a/bin/growpart ++++ b/bin/growpart +@@ -28,7 +28,6 @@ PART="" + PT_UPDATE=false + DRY_RUN=0 + +-MBR_CHS="" + MBR_BACKUP="" + GPT_BACKUP="" + _capture="" +@@ -133,7 +132,8 @@ bad_Usage() { + } + + mbr_restore() { +- sfdisk --no-reread "${DISK}" ${MBR_CHS} -I "${MBR_BACKUP}" ++ dd if="${MBR_BACKUP}-${DISK#/dev/}-0x00000000.bak" of="${DISK}" bs=1 \ ++ conv=notrunc + } + + sfdisk_worked_but_blkrrpart_failed() { +@@ -148,34 +148,26 @@ sfdisk_worked_but_blkrrpart_failed() { + + mbr_resize() { + RESTORE_HUMAN="${TEMP_D}/recovery" +- MBR_BACKUP="${TEMP_D}/orig.save" ++ MBR_BACKUP="${TEMP_D}/backup" + + local change_out=${TEMP_D}/change.out + local dump_out=${TEMP_D}/dump.out + local new_out=${TEMP_D}/new.out + local dump_mod=${TEMP_D}/dump.mod +- local tmp="${TEMP_D}/tmp.out" +- local err="${TEMP_D}/err.out" + +- local _devc cyl _w1 heads _w2 sectors _w3 tot dpart ++ local tot dpart + local pt_start pt_size pt_end max_end new_size change_info + +- # --show-pt-geometry outputs something like +- # /dev/sda: 164352 cylinders, 4 heads, 32 sectors/track +- rqe sfd_geom sfdisk "${DISK}" --show-pt-geometry >"${tmp}" && +- read _devc cyl _w1 heads _w2 sectors _w3 <"${tmp}" && +- MBR_CHS="-C ${cyl} -H ${heads} -S ${sectors}" || +- fail "failed to get CHS from ${DISK}" ++ tot=$(sfdisk --list "${DISK}" | awk '{ print $(NF-1) ; exit }') || ++ fail "failed to get total number of sectors from ${DISK}" + +- tot=$((${cyl}*${heads}*${sectors})) ++ debug 1 "total number of sectors of ${DISK} is ${tot}" + +- debug 1 "geometry is ${MBR_CHS}. total size=${tot}" +- rqe sfd_dump sfdisk ${MBR_CHS} --unit=S --dump "${DISK}" \ ++ rqe sfd_dump sfdisk --dump "${DISK}" \ + >"${dump_out}" || + fail "failed to dump sfdisk info for ${DISK}" +- + { +- echo "## sfdisk ${MBR_CHS} --unit=S --dump ${DISK}" ++ echo "## sfdisk --dump ${DISK}" + cat "${dump_out}" + } >"${RESTORE_HUMAN}" + [ $? -eq 0 ] || fail "failed to save sfdisk -d output" +@@ -237,7 +229,7 @@ mbr_resize() { + exit 0 + fi + +- LANG=C sfdisk --no-reread "${DISK}" ${MBR_CHS} --force \ ++ LANG=C sfdisk --no-reread "${DISK}" --force \ + -O "${MBR_BACKUP}" <"${new_out}" >"${change_out}" 2>&1 + ret=$? + [ $ret -eq 0 ] || RESTORE_FUNC="mbr_restore" +-- +2.1.4 + diff --git a/cloud-utils.spec b/cloud-utils.spec index 79a8a83..e228e44 100644 --- a/cloud-utils.spec +++ b/cloud-utils.spec @@ -1,7 +1,7 @@ Summary: Cloud image management utilities Name: cloud-utils Version: 0.27 -Release: 12%{?dist} +Release: 13%{?dist} License: GPLv3 Group: System Environment/Base URL: https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz @@ -9,6 +9,7 @@ URL: https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.ta Source0: %{name}-%{version}.tar.gz Source1: LICENSE Patch0: 0001-supress-partx-usage-error.patch +Patch1: 0002-Support-new-sfdisk-version-2.26.patch # Don't build the cloud-utils main package on EPEL architectures that don't # have qemu-img. Which means we need to make it a no-noarch package for EPEL @@ -67,6 +68,7 @@ package to grow the root partition on first boot. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build @@ -124,6 +126,9 @@ cp man/growpart.* $RPM_BUILD_ROOT/%{_mandir}/man1/ %changelog +* Wed Mar 25 2015 Juerg Haefliger - 0.27-13 +- [1197894] sfdisk dropped --show-pt-geometry option + * Fri Jul 11 2014 Tom Callaway - 0.27-12 - fix license handling