aboutsummaryrefslogtreecommitdiffstats
path: root/core/mkinitfs/init.patch
blob: 6f2c367eff10317a2139bf5dd785b592efbd4503 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
commit db606b4b4861076524232f52002411dc900a03ad
Author: Natanael Copa <ncopa@alpinelinux.org>
Date:   Thu Jun 4 14:56:28 2009 +0000

    init: unpack uclibc when dealing with encrypted apkovls
    
    openssl needs libdl which is not there by default.

diff --git a/initramfs-init.in b/initramfs-init.in
index f8827a0..ae82e8a 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -66,6 +66,14 @@ retry_mount() {
 	return 1
 }
 
+unpack_apk() {
+	local i
+	for i in $ALPINE_MNT/*/*/$1-[0-9]*.apk $ALPINE_MNT/*/$1-[0-9]*.apk; do
+		[ -f "$i" ] && tar --numeric-owner -C / -zxf $i && return 0
+	done
+	return 1
+}
+
 unpack_apkovl() {
 	local ovl="$1"
 	local dest="$2"
@@ -76,9 +84,8 @@ unpack_apkovl() {
 		return $?
 	fi
 
-	for i in $ALPINE_MNT/*/*/openssl-[0-9]*.apk $ALPINE_MNT/*/openssl-[0-9]*.apk; do
-		[ -f "$i" ] && tar --numeric-owner -C / -zxf $i && break
-	done
+	unpack_apk uclibc
+	unpack_apk openssl
 
 	if ! openssl list-cipher-commands | grep "^$suffix$" > /dev/null; then
 		errstr="Cipher $suffix is not supported"