Browse code

Merge pull request #6136 from thatsamguy/add-mageia-mkimage

Add mkimage support for mageia using urpmi

Tianon Gravi authored on 2014/06/26 08:33:39
Showing 3 changed files
... ...
@@ -9,6 +9,8 @@ usage() {
9 9
 	echo >&2 "       $mkimg -t someuser/ubuntu debootstrap --include=ubuntu-minimal --components main,universe trusty"
10 10
 	echo >&2 "       $mkimg -t someuser/busybox busybox-static"
11 11
 	echo >&2 "       $mkimg -t someuser/centos:5 rinse --distribution centos-5"
12
+	echo >&2 "       $mkimg -t someuser/mageia:4 mageia-urpmi --version=4"
13
+	echo >&2 "       $mkimg -t someuser/mageia:4 mageia-urpmi --version=4 --mirror=http://somemirror/"
12 14
 	exit 1
13 15
 }
14 16
 
... ...
@@ -13,7 +13,7 @@ shift
13 13
 	#  docs
14 14
 	rm -rf usr/share/{man,doc,info,gnome/help}
15 15
 	#  cracklib
16
-	#rm -rf usr/share/cracklib
16
+	rm -rf usr/share/cracklib
17 17
 	#  i18n
18 18
 	rm -rf usr/share/i18n
19 19
 	#  yum cache
20 20
new file mode 100755
... ...
@@ -0,0 +1,61 @@
0
+#!/usr/bin/env bash
1
+#
2
+# Needs to be run from Mageia 4 or greater for kernel support for docker.
3
+#
4
+# Mageia 4 does not have docker available in official repos, so please
5
+# install and run the docker binary manually.
6
+#
7
+# Tested working versions are for Mageia 2 onwards (inc. cauldron).
8
+#
9
+set -e
10
+
11
+rootfsDir="$1"
12
+shift
13
+
14
+optTemp=$(getopt --options '+v:,m:' --longoptions 'version:,mirror:' --name mageia-urpmi -- "$@")
15
+eval set -- "$optTemp"
16
+unset optTemp
17
+
18
+installversion=
19
+mirror=
20
+while true; do
21
+	case "$1" in
22
+		-v|--version) installversion="$2" ; shift 2 ;;
23
+		-m|--mirror) mirror="$2" ; shift 2 ;;
24
+		--) shift ; break ;;
25
+	esac
26
+done
27
+
28
+if [ -z $installversion ]; then
29
+	# Attempt to match host version
30
+	if [ -r /etc/mageia-release ]; then
31
+		installversion="$(sed 's/^[^0-9\]*\([0-9.]\+\).*$/\1/' /etc/mageia-release)"
32
+	else
33
+		echo "Error: no version supplied and unable to detect host mageia version"
34
+		exit 1
35
+	fi
36
+fi
37
+
38
+if [ -z $mirror ]; then
39
+	# No mirror provided, default to mirrorlist
40
+	mirror="--mirrorlist https://mirrors.mageia.org/api/mageia.$installversion.x86_64.list"
41
+fi
42
+
43
+(
44
+	set -x
45
+	urpmi.addmedia --distrib \
46
+		$mirror \
47
+		--urpmi-root "$rootfsDir"
48
+	urpmi basesystem-minimal urpmi \
49
+		--auto \
50
+		--no-suggests \
51
+		--urpmi-root "$rootfsDir" \
52
+		--root "$rootfsDir"
53
+)
54
+
55
+"$(dirname "$BASH_SOURCE")/.febootstrap-minimize" "$rootfsDir"
56
+
57
+if [ -d "$rootfsDir/etc/sysconfig" ]; then
58
+	# allow networking init scripts inside the container to work without extra steps
59
+	echo 'NETWORKING=yes' > "$rootfsDir/etc/sysconfig/network"
60
+fi