From e8e6a319136ef5ae19027fca8da11f38842785ac Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 7 Nov 2013 14:18:10 +0100 Subject: alpine-conf: handle new syslinux.cfg location --- ...ble-move-syslinux.cfg-to-boot-syslinux-if.patch | 119 +++++++++++++++++++++ main/alpine-conf/APKBUILD | 12 ++- 2 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 main/alpine-conf/0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch (limited to 'main') 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 000000000..5a73dfdbb --- /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 +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 + diff --git a/main/alpine-conf/APKBUILD b/main/alpine-conf/APKBUILD index 98c9a37a2..588092909 100644 --- a/main/alpine-conf/APKBUILD +++ b/main/alpine-conf/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa pkgname=alpine-conf pkgver=2.14.0 -pkgrel=2 +pkgrel=3 pkgdesc="Alpine configuration management scripts" url=http://git.alpinelinux.org/cgit/$pkgname arch="all" @@ -9,6 +9,7 @@ license="GPL2" depends="openrc" source="http://dev.alpinelinux.org/archive/alpine-conf/alpine-conf-$pkgver.tar.xz 0001-setup-bootable-use-UUID-on-new-USBs.patch + 0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch " _builddir="$srcdir"/$pkgname-$pkgver @@ -36,8 +37,11 @@ package() { } md5sums="94b82dd9d7a2c63aa6909238da3b44b3 alpine-conf-2.14.0.tar.xz -c0eeeebfb67b757c954a2f5100461a7b 0001-setup-bootable-use-UUID-on-new-USBs.patch" +c0eeeebfb67b757c954a2f5100461a7b 0001-setup-bootable-use-UUID-on-new-USBs.patch +6568923677063d92939f85157baf0dc4 0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch" sha256sums="14dc81845b16ffcbb39af9d0c5aeffab68166eec154c822b7c1c9c0697823d5b alpine-conf-2.14.0.tar.xz -754a59868f069c4eb2321034f00539ea02e734ede1a483b9c9ec5360c788f8c1 0001-setup-bootable-use-UUID-on-new-USBs.patch" +754a59868f069c4eb2321034f00539ea02e734ede1a483b9c9ec5360c788f8c1 0001-setup-bootable-use-UUID-on-new-USBs.patch +a410da99de3ef31a7a8a537aeb0fcd0ab53027e6febd95e15c1accdc49c135ee 0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch" sha512sums="39aa74e676221475ce088d82b134563c3dd04a69e90919089d3876b6a4715f6df58aa156352a40d9f817414cbdb603350a3e9c15914fb254a24d8cef4acd6581 alpine-conf-2.14.0.tar.xz -3b2d2fb754421f7dd4c45c7212544c2f34587da9da10e777ee9de153dd77e70d016bf8b270d72dd6ee8299c99a17f2969bddef586afbdcac13b4d76c87bcc35e 0001-setup-bootable-use-UUID-on-new-USBs.patch" +3b2d2fb754421f7dd4c45c7212544c2f34587da9da10e777ee9de153dd77e70d016bf8b270d72dd6ee8299c99a17f2969bddef586afbdcac13b4d76c87bcc35e 0001-setup-bootable-use-UUID-on-new-USBs.patch +32bc771eba2b912623dd5b0c96571d0770afc370c354831353f2ebda5e396323f1cebfddc36d8ac3ee8028a1554a0163ecdaa9cca108097002282f838139f5b6 0001-setup-bootable-move-syslinux.cfg-to-boot-syslinux-if.patch" -- cgit v1.2.3