Add mkimage support for mageia using urpmi
| ... | ... |
@@ -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 |
|
| 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 |