summaryrefslogtreecommitdiff
path: root/helpers
diff options
context:
space:
mode:
authorScott Moser <[email protected]>2013-09-19 05:35:26 -0400
committerScott Moser <[email protected]>2013-09-19 05:35:26 -0400
commit949ffba1b910cb86ad4f3be1c0164cca04171f4b (patch)
tree2e03e57aa5cbcfe04e327b809afa8197c0af7a71 /helpers
parent98a26449478abc25936b0f95ab0f09f2c034c2f6 (diff)
whitespace
bzr-revno: 79
Diffstat (limited to 'helpers')
-rw-r--r--helpers/common150
1 files changed, 76 insertions, 74 deletions
diff --git a/helpers/common b/helpers/common
index 2de36645..82b95a42 100644
--- a/helpers/common
+++ b/helpers/common
@@ -44,90 +44,92 @@ partition() {
}
is_md() {
- case "${1##*/}" in
- md[0-9]) return 0;;
- esac
- return 1
+ case "${1##*/}" in
+ md[0-9]) return 0;;
+ esac
+ return 1
}
install_grub() {
- local mp="$1"
- local cmdline tmp
+ local mp="$1"
+ local cmdline tmp
shift
local grubdevs
grubdevs=( "$@" )
-
- tmp=$(chroot "$mp" dpkg-query --show \
- --showformat='${Status}\n' grub-pc) ||
- { error "failed to check if grub-pc installed"; return 1; }
- case "$tmp" in
- install\ ok\ installed) :;;
- *) debug 1 "grub-pc not installed, not doing anything";
- return 0;;
- esac
+
+ tmp=$(chroot "$mp" dpkg-query --show \
+ --showformat='${Status}\n' grub-pc) ||
+ { error "failed to check if grub-pc installed"; return 1; }
+ case "$tmp" in
+ install\ ok\ installed) :;;
+ *) debug 1 "grub-pc not installed, not doing anything";
+ return 0;;
+ esac
- # copy anything after '--' on cmdline to install'd cmdline
- read cmdline < /proc/cmdline
- local reconf="" newargs=""
+ # copy anything after '--' on cmdline to install'd cmdline
+ read cmdline < /proc/cmdline
+ local reconf="" newargs=""
- tmp="${cmdline##* -- }"
- if [ "$tmp" != "$cmdline" ]; then
- # there was an explicit '--', so copy stuff after it
- newargs="$tmp"
- elif [ "${cmdline#* console=}" != "${cmdline}" ]; then
- # there are 'console=' params, copy those.
- newargs=$(set -f; c=""; for p in $cmdline; do
- [ "${p#console}" = "$p" ] || c="$c $p"; done; echo "${c# }")
- fi
+ tmp="${cmdline##* -- }"
+ if [ "$tmp" != "$cmdline" ]; then
+ # there was an explicit '--', so copy stuff after it
+ newargs="$tmp"
+ elif [ "${cmdline#* console=}" != "${cmdline}" ]; then
+ # there are 'console=' params, copy those.
+ newargs=$(set -f; c=""; for p in $cmdline; do
+ [ "${p#console}" = "$p" ] || c="$c $p"; done; echo "${c# }")
+ fi
- if [ -n "$newargs" ]; then
- local n="GRUB_CMDLINE_LINUX_DEFAULT"
- local sede="s|$n=.*|$n=\"$newargs\"|"
- sed -i "$sede" "$mp/etc/default/grub" ||
- { error "failed to update /etc/default/grub"; return 1; }
- grep "$n" "$mp/etc/default/grub"
- reconf="dpkg-reconfigure grub-pc"
- debug 1 "updating cmdline to '${newargs}'"
+ if [ -n "$newargs" ]; then
+ local n="GRUB_CMDLINE_LINUX_DEFAULT"
+ local sede="s|$n=.*|$n=\"$newargs\"|"
+ sed -i "$sede" "$mp/etc/default/grub" ||
+ { error "failed to update /etc/default/grub"; return 1; }
+ grep "$n" "$mp/etc/default/grub"
+ reconf="dpkg-reconfigure grub-pc"
+ debug 1 "updating cmdline to '${newargs}'"
- # LP: #1179940 . this fix was applied to raring, which
- # made changes above not stick. This might not be the best
- # way to handle this, but we'll do it for now.
- local cicfg="etc/default/grub.d/50-cloudimg-settings.cfg"
- if [ -f "$mp/$cicfg" ]; then
- debug 1 "moved $cicfg out of the way"
- mv "$mp/$cicfg" "$mp/$cicfg.disabled"
- fi
- fi
+ # LP: #1179940 . this fix was applied to raring, which
+ # made changes above not stick. This might not be the best
+ # way to handle this, but we'll do it for now.
+ local cicfg="etc/default/grub.d/50-cloudimg-settings.cfg"
+ if [ -f "$mp/$cicfg" ]; then
+ debug 1 "moved $cicfg out of the way"
+ mv "$mp/$cicfg" "$mp/$cicfg.disabled"
+ fi
+ fi
- local short="" bd="" grubdev grubdevs_new=""
- grubdevs_new=()
- for grubdev in "${grubdevs[@]}"; do
- if is_md "$grubdev"; then
- short=${grubdev##*/}
- for bd in "/sys/block/$short/slaves/"/*; do
- [ -d "$bd" ] || continue
- bd=${bd##*/}
- bd="/dev/${bd%[0-9]}" # hack: part2bd
- grubdevs_new[${#grubdevs_new[@]}]="$bd"
- done
- else
- grubdevs_new[${#grubdevs_new[@]}]="$grubdev"
- fi
- done
- grubdevs=( "${grubdevs_new[@]}" )
+ local short="" bd="" grubdev grubdevs_new=""
+ grubdevs_new=()
+ for grubdev in "${grubdevs[@]}"; do
+ if is_md "$grubdev"; then
+ short=${grubdev##*/}
+ for bd in "/sys/block/$short/slaves/"/*; do
+ [ -d "$bd" ] || continue
+ bd=${bd##*/}
+ bd="/dev/${bd%[0-9]}" # hack: part2bd
+ grubdevs_new[${#grubdevs_new[@]}]="$bd"
+ done
+ else
+ grubdevs_new[${#grubdevs_new[@]}]="$grubdev"
+ fi
+ done
+ grubdevs=( "${grubdevs_new[@]}" )
- debug 1 "installing grub to: ${grubdevs[*]}"
- chroot "$mp" env DEBIAN_FRONTEND=noninteractive sh -ec '
- reconf=$1; shift;
- prober="/etc/grub.d/30_os-prober"
- [ -x $prober ] && chmod -x /etc/grub.d/30_os-prober
- if [ -z "$reconf" ]; then
- $reconf
- else
- update-grub
- fi
- [ -f $prober ] && chmod +x $prober
- for d in "$@"; do grub-install "$d" || exit; done' \
- -- "$reconf" "${grubdevs[@]}" </dev/null ||
- { error "failed to install grub!"; return 1; }
+ debug 1 "installing grub to: ${grubdevs[*]}"
+ chroot "$mp" env DEBIAN_FRONTEND=noninteractive sh -ec '
+ reconf=$1; shift;
+ prober="/etc/grub.d/30_os-prober"
+ [ -x $prober ] && chmod -x /etc/grub.d/30_os-prober
+ if [ -z "$reconf" ]; then
+ $reconf
+ else
+ update-grub
+ fi
+ [ -f $prober ] && chmod +x $prober
+ for d in "$@"; do grub-install "$d" || exit; done' \
+ -- "$reconf" "${grubdevs[@]}" </dev/null ||
+ { error "failed to install grub!"; return 1; }
}
+
+# vi: ts=4 expandtab syntax=shell