Skip to content
Snippets Groups Projects
Commit 9bf1b48d authored by Natanael Copa's avatar Natanael Copa
Browse files

main/alpine-conf: backport fix for setup-disk EFI size detection

(cherry picked from commit 8fdbeda2)
parent 6463c455
No related branches found
No related tags found
No related merge requests found
From 4647c6631bbbbb5aa535a5cc1f0ae419078d4896 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Tue, 19 Nov 2024 11:04:22 +0100
Subject: [PATCH] setup-disk: fix find_efi_size for multidisk
---
setup-disk.in | 6 ++----
tests/setup_disk_test | 21 +++++++++++++++++++++
2 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/setup-disk.in b/setup-disk.in
index d274e1e..a3d2e9a 100644
--- a/setup-disk.in
+++ b/setup-disk.in
@@ -699,11 +699,9 @@ find_swap_size() {
# figure out decent default EFI partition size in mega bytes
find_efi_size() {
- local diskdevs="$*"
-
- local blocksize=$(cat "$(echo "$diskdevs" | sed -E "s:/?dev/([^ ]+):${ROOT}sys/block/\1/queue/logical_block_size:g")" \
+ local blocksize=$(cat $(echo "$@" | sed -E "s:/?dev/([^ ]+):${ROOT}sys/block/\1/queue/logical_block_size:g") \
| sort -n | tail -n 1 || echo 512)
- local disksize_blk=$(cat "$(echo "$diskdevs" | sed -E "s:/?dev/([^ ]+):${ROOT}sys/block/\1/size:g")" \
+ local disksize_blk=$(cat $(echo "$@" | sed -E "s:/?dev/([^ ]+):${ROOT}sys/block/\1/size:g") \
| sort -n | tail -n 1 || echo 0)
local disksize_mb=$(( blocksize * disksize_blk / 1024 / 1024 ))
diff --git a/tests/setup_disk_test b/tests/setup_disk_test
index 92279b9..c64965e 100755
--- a/tests/setup_disk_test
+++ b/tests/setup_disk_test
@@ -9,6 +9,7 @@ init_tests \
setup_disk_func_setup_partitions_dos \
setup_disk_func_setup_partitions_gpt \
setup_disk_func_find_efi_size \
+ setup_disk_func_find_efi_size_multi \
setup_disk_func_uuid_or_device \
setup_disk_non_existing_block_dev \
setup_disk_sys \
@@ -208,6 +209,26 @@ setup_disk_func_find_efi_size_body() {
done
}
+setup_disk_func_find_efi_size_multi_body() {
+ init_env
+ # size:blocksize:expected
+ for i in 10000::512 4000::264 1000::160 \
+ 10000:4096:512 4000:4096:264 1000:4096:264; do
+
+ local diskdata=${i%:*}
+ local disksize=${diskdata%:*}
+ local blocksize=${diskdata#*:}
+ local expected=${i##*:}
+
+ fake_disk vda $disksize $blocksize
+ fake_disk vdb $disksize $blocksize
+ SETUP_DISK_TESTFUNC=find_efi_size \
+ atf_check -s exit:0 \
+ -o match:"^$expected$" \
+ setup-disk /dev/vda /dev/vdb
+ done
+}
+
setup_disk_func_uuid_or_device_body() {
init_env
fake_bin blkid <<-EOF
--
2.47.0
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alpine-conf
pkgver=3.18.1
pkgrel=0
pkgrel=1
pkgdesc="Alpine configuration management scripts"
url="https://git.alpinelinux.org/alpine-conf/about"
arch="all"
license="MIT"
depends="openrc>=0.24.1-r6 busybox>=1.26.1-r3"
checkdepends="kyua sfdisk"
source="https://gitlab.alpinelinux.org/alpine/alpine-conf/-/archive/$pkgver/alpine-conf-$pkgver.tar.gz"
source="https://gitlab.alpinelinux.org/alpine/alpine-conf/-/archive/$pkgver/alpine-conf-$pkgver.tar.gz
0001-setup-disk-fix-find_efi_size-for-multidisk.patch
"
build() {
make VERSION=$pkgver-r$pkgrel
......@@ -27,4 +29,5 @@ check() {
sha512sums="
6a9d342bf05ff7f9df6af921265cdbd204a28796e8ea2b271a63fa3e13235504e4a74316a21704b3b2d933199d694c96ef13a4159231aa9b7e822650d7ad3141 alpine-conf-3.18.1.tar.gz
6ee23218f2240677b4a3e9042a77e52983028929111a4c4b0902d032ed5b845ad246e780a7625059d18c7321089f44850f4a597030997f2171f7fc49c62b7607 0001-setup-disk-fix-find_efi_size-for-multidisk.patch
"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment