juergh pushed to cloud-utils (f22). "Support new sfdisk version 2.26 (#1197894)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Thu Mar 26 07:33:46 UTC 2015
>From 0c00cdf08f61fc0cd77e4b92daff26215d10395e Mon Sep 17 00:00:00 2001
From: Juerg Haefliger <juerg.haefliger at hp.com>
Date: Thu, 26 Mar 2015 08:23:40 +0100
Subject: Support new sfdisk version 2.26 (#1197894)
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 <juerg.haefliger at hp.com>
+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 <juergh at gmail.com> - 0.27-13
+- [1197894] sfdisk dropped --show-pt-geometry option
+
* Fri Jul 11 2014 Tom Callaway <spot at fedoraproject.org> - 0.27-12
- fix license handling
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/cloud-utils.git/commit/?h=f22&id=0c00cdf08f61fc0cd77e4b92daff26215d10395e
More information about the scm-commits
mailing list