Support new sfdisk version 2.26 (#1197894)
This commit is contained in:
parent
5140ddb403
commit
0c00cdf08f
88
0002-Support-new-sfdisk-version-2.26.patch
Normal file
88
0002-Support-new-sfdisk-version-2.26.patch
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
From 1895d10a7539d055a4e0206af1e7a9e5ea32a4f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Juerg Haefliger <juerg.haefliger@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
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
Summary: Cloud image management utilities
|
Summary: Cloud image management utilities
|
||||||
Name: cloud-utils
|
Name: cloud-utils
|
||||||
Version: 0.27
|
Version: 0.27
|
||||||
Release: 12%{?dist}
|
Release: 13%{?dist}
|
||||||
License: GPLv3
|
License: GPLv3
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
URL: https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz
|
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
|
Source0: %{name}-%{version}.tar.gz
|
||||||
Source1: LICENSE
|
Source1: LICENSE
|
||||||
Patch0: 0001-supress-partx-usage-error.patch
|
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
|
# 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
|
# 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
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -124,6 +126,9 @@ cp man/growpart.* $RPM_BUILD_ROOT/%{_mandir}/man1/
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 25 2015 Juerg Haefliger <juergh@gmail.com> - 0.27-13
|
||||||
|
- [1197894] sfdisk dropped --show-pt-geometry option
|
||||||
|
|
||||||
* Fri Jul 11 2014 Tom Callaway <spot@fedoraproject.org> - 0.27-12
|
* Fri Jul 11 2014 Tom Callaway <spot@fedoraproject.org> - 0.27-12
|
||||||
- fix license handling
|
- fix license handling
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user