aboutsummaryrefslogtreecommitdiffstats
path: root/main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-11-07 14:18:10 +0100
committerNatanael Copa <ncopa@alpinelinux.org>2013-11-07 14:19:08 +0100
commite8e6a319136ef5ae19027fca8da11f38842785ac (patch)
tree2fceacc871efd70ddcaea5c0921b627356a69fde /main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch
parent322a40fc00b45588028ab40cd38f6c20364de9e5 (diff)
downloadaports-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.patch119
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
+