diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-11-07 14:18:10 +0100 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-11-07 14:19:08 +0100 |
commit | e8e6a319136ef5ae19027fca8da11f38842785ac (patch) | |
tree | 2fceacc871efd70ddcaea5c0921b627356a69fde /main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch | |
parent | 322a40fc00b45588028ab40cd38f6c20364de9e5 (diff) | |
download | aports-e8e6a319136ef5ae19027fca8da11f38842785ac.tar.bz2 aports-e8e6a319136ef5ae19027fca8da11f38842785ac.tar.xz |
alpine-conf: handle new syslinux.cfg location
Diffstat (limited to 'main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch')
-rw-r--r-- | main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch b/main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch new file mode 100644 index 0000000000..5a73dfdbb9 --- /dev/null +++ b/main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch @@ -0,0 +1,119 @@ +From e8c99e12ef55bbc4d5a3bbb1d4075fb9d8bb8cae Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Thu, 7 Nov 2013 14:14:03 +0100 +Subject: [PATCH] setup-bootable: move syslinux.cfg to /boot/syslinux/ if + needed + +--- + setup-bootable.in | 55 +++++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 37 insertions(+), 18 deletions(-) + +diff --git a/setup-bootable.in b/setup-bootable.in +index 2df03e6..374a40c 100644 +--- a/setup-bootable.in ++++ b/setup-bootable.in +@@ -174,7 +174,7 @@ parent_dev=$(find_disk_dev $dev) + # check if this files exist and not in upgrade mode + if [ -z "$upgrade" ] && [ -z "$force" ]; then + for i in boot apks syslinux.cfg .alpine-release; do +- [ -e "$destdir"/$i ] && die "$destdir/$i already exists. Aborting" ++ [ -e "$destdir"/$i ] && die "$destdir/$i already exists. Use -u to upgrade." + done + fi + +@@ -207,15 +207,17 @@ available_space=$(( $free_blocks / $blocks_per_mb )) + vecho "Available space: $available_space MiB" + + if [ -n "$srcdir" ]; then +- needed_space=$(cd "$srcdir" && du -m -s -c boot apks syslinux.cfg .alpine-release | awk '$2 == "total" {print $1}') ++ needed_space=$(cd "$srcdir" && du -m -s -c boot apks .alpine-release | awk '$2 == "total" {print $1}') + vecho "Needed space: $needed_space MiB" + [ $available_space -lt $needed_space ] \ + && die "Not enough space on $destdir. Aborting." + + # copy the files to .new + for i in boot apks syslinux.cfg .alpine-release; do +- vecho "Copying $srcdir/$i to $destdir/.new/" +- cp -a "$srcdir"/$i "$destdir"/.new/ ++ if [ -e "$srcdir"/$i ]; then ++ vecho "Copying $srcdir/$i to $destdir/.new/" ++ cp -a "$srcdir"/$i "$destdir"/.new/ ++ fi + done + elif [ -n "$srcurl" ]; then + cd "$destdir"/.new +@@ -224,6 +226,19 @@ elif [ -n "$srcurl" ]; then + echo "" + fi + ++# find where new syslinux.cfg is ++for i in boot/syslinux/syslinux.cfg syslinux.cfg; do ++ if [ -e "$destdir"/.new/$i ]; then ++ syslinux_cfg=$i ++ vecho "Found $syslinux_cfg" ++ break ++ fi ++done ++# abort early in case unexpected trouble ++if [ -z "$syslinux_cfg" ]; then ++ die "Could not find any syslinux.cfg on new iso?" ++fi ++ + # make sure files are really there before we replace existing + vecho "Flushing cache..." + sync +@@ -231,18 +246,7 @@ sync + vecho "Replacing existing files..." + mkdir -p "$destdir"/.old || die "Failed to create $destdir/.old" + +-# do we want keep existing syslinux.cfg? +-tomove="boot apks .alpine-release" +-if [ -n "$force" ] || ! [ -e "$destdir"/syslinux.cfg ]; then +- tomove="$tomove syslinux.cfg" +- # update syslinux.cfg unless device is on usb bus +- # this is so we can boot from CF's and harddisk +- if ! on_usb_bus $parent_dev; then +- vecho "Updating syslinux.cfg to use $dest" +- sed -i -e "s/usbdisk/${dest##*/}/g" \ +- "$destdir"/.new/syslinux.cfg +- fi +-fi ++tomove="boot apks syslinux.cfg .alpine-release" + + # move current files to .old + for i in $tomove; do +@@ -251,14 +255,29 @@ for i in $tomove; do + fi + done + ++# keep any existing syslinux.cfg ++if [ -e "$destdir"/.old/$syslinux_cfg ]; then ++ mv "$destdir"/.old/$syslinux_cfg "$destdir"/.new/$syslinux_cfg ++elif [ -e "$destdir"/.old/syslinux.cfg ] \ ++ && [ -e "$destdir"/.new/boot/syslinux/syslinux.cfg ]; then ++ echo "Warning: moving syslinux.cfg to boot/syslinux/syslinux.cfg" >&2 ++ mv "$destdir"/.old/syslinux.cfg "$destdir"/.new/boot/syslinux ++ if [ -z "$syslinux" ]; then ++ echo " You might need run: syslinux $dest" >&2 ++ fi ++fi ++ + # move .new to current + for i in $tomove; do +- mv "$destdir"/.new/$i "$destdir"/ || die "Failed to move $destdir/.new/ to $destdir" ++ if [ -e "$destdir"/.new/$i ]; then ++ mv "$destdir"/.new/$i "$destdir"/ \ ++ || die "Failed to move $destdir/.new/ to $destdir" ++ fi + done + + if [ -n "$replace_alpine_dev" -o -z "$upgrade" ] && [ -n "$UUID" ]; then + sed -i -e "s/alpine_dev=[^ \t:]\+/alpine_dev=UUID=$UUID/" \ +- "$destdir"/syslinux.cfg ++ "$destdir"/$syslinux_cfg + fi + + # cleanup +-- +1.8.4.2 + |