Browse code

Fixed arm arch image maker to support arm versions other than 7

Signed-off-by: Dillon Dixon <dillondixon@gmail.com>

Dillon Dixon authored on 2016/07/04 05:14:24
Showing 2 changed files
... ...
@@ -48,7 +48,8 @@ IFS=','
48 48
 PKGIGNORE="${PKGIGNORE[*]}"
49 49
 unset IFS
50 50
 
51
-case "$(uname -m)" in
51
+arch="$(uname -m)"
52
+case "$arch" in
52 53
 	armv*)
53 54
 		if pacman -Q archlinuxarm-keyring >/dev/null 2>&1; then
54 55
 			pacman-key --init
... ...
@@ -57,12 +58,18 @@ case "$(uname -m)" in
57 57
 			echo "Could not find archlinuxarm-keyring. Please, install it and run pacman-key --populate archlinuxarm"
58 58
 			exit 1
59 59
 		fi
60
-		PACMAN_CONF='./mkimage-archarm-pacman.conf'
60
+		PACMAN_CONF=$(mktemp ${TMPDIR:-/var/tmp}/pacman-conf-archlinux-XXXXXXXXX)
61
+		version="$(echo $arch | cut -c 5)"
62
+		sed "s/Architecture = armv/Architecture = armv${version}h/g" './mkimage-archarm-pacman.conf' > "${PACMAN_CONF}"
61 63
 		PACMAN_MIRRORLIST='Server = http://mirror.archlinuxarm.org/$arch/$repo'
62 64
 		PACMAN_EXTRA_PKGS='archlinuxarm-keyring'
63
-		EXPECT_TIMEOUT=120
65
+		if [ "$version" -lt 7 ]; then
66
+			EXPECT_TIMEOUT=1800 # Some armv6 based devices can be very slow (e.g. RPiv1)
67
+		else
68
+			EXPECT_TIMEOUT=120
69
+		fi
64 70
 		ARCH_KEYRING=archlinuxarm
65
-		DOCKER_IMAGE_NAME=archlinuxarm
71
+		DOCKER_IMAGE_NAME="armv${version}h/archlinux"
66 72
 		;;
67 73
 	*)
68 74
 		PACMAN_CONF='./mkimage-arch-pacman.conf'
... ...
@@ -89,6 +96,7 @@ expect <<EOF
89 89
 		-exact "anyway? \[Y/n\] " { send -- "n\r"; exp_continue }
90 90
 		-exact "(default=all): " { send -- "\r"; exp_continue }
91 91
 		-exact "installation? \[Y/n\]" { send -- "y\r"; exp_continue }
92
+		-exact "delete it? \[Y/n\]" { send -- "y\r"; exp_continue }
92 93
 	}
93 94
 EOF
94 95
 
... ...
@@ -19,7 +19,7 @@ HoldPkg     = pacman glibc
19 19
 #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
20 20
 #CleanMethod = KeepInstalled
21 21
 #UseDelta    = 0.7
22
-Architecture = armv7h
22
+Architecture = armv
23 23
 
24 24
 # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
25 25
 #IgnorePkg   =