Changeset View
Changeset View
Standalone View
Standalone View
image/Dockerfile
1 | FROM ubuntu:wily | 1 | FROM ubuntu:bionic | ||
---|---|---|---|---|---|
2 | 2 | | |||
3 | LABEL Description="KDE on Android SDK" | 3 | LABEL Description="KDE on Android SDK" | ||
4 | MAINTAINER Andreas Cord-Landwehr <cordlandwehr@kde.org> | 4 | MAINTAINER Andreas Cord-Landwehr <cordlandwehr@kde.org> | ||
5 | 5 | | |||
6 | ENV DEBIAN_FRONTEND noninteractive | ||||
7 | ENV DEBCONF_NONINTERACTIVE_SEEN true | ||||
8 | | ||||
6 | ENV ADIR /opt/android | 9 | ENV ADIR /opt/android | ||
7 | RUN mkdir -p $ADIR | 10 | RUN mkdir -p $ADIR | ||
8 | 11 | | |||
9 | # set ANDROID_* environment variables globally | 12 | # set ANDROID_* environment variables globally | ||
10 | RUN echo "\n\ | 13 | RUN echo "\n\ | ||
11 | ANDROID_NDK=/opt/android/android-ndk-r10e\n\ | 14 | ANDROID_NDK=/opt/android/android-ndk-r10e\n\ | ||
12 | ANDROID_SDK_ROOT=/opt/android/android-sdk-linux\n\ | 15 | ANDROID_SDK_ROOT=/opt/android/android-sdk-linux\n\ | ||
13 | " >> /etc/environment | 16 | " >> /etc/environment | ||
14 | 17 | | |||
15 | # skeleton files that are used for all users | 18 | # skeleton files that are used for all users | ||
16 | RUN echo "\n\ | 19 | RUN echo "\n\ | ||
17 | export ADIR=$ADIR\n\ | 20 | export ADIR=$ADIR\n\ | ||
18 | export Qt5_android=$ADIR/Qt5.6.0/5.6/android_armv7/\n\ | 21 | export Qt5_android=$ADIR/Qt5.8.0/5.8/android_armv7/\n\ | ||
19 | export PATH=$ADIR/android-sdk-linux/platform-tools/:$PATH\n\ | 22 | export PATH=$ADIR/android-sdk-linux/platform-tools/:$PATH\n\ | ||
20 | export ANT=/usr/bin/ant\n\ | 23 | export ANT=/usr/bin/ant\n\ | ||
21 | export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/\n\ | 24 | export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/\n\ | ||
22 | \n\ | 25 | \n\ | ||
23 | function cmakeandroid {\n\ | 26 | function cmakeandroid {\n\ | ||
24 | cmake \$@ -DCMAKE_INSTALL_PREFIX=$ADIR/kde/install -DCMAKE_PREFIX_PATH=\"$ADIR/Qt5.6.0/5.6/android_armv7/;$ADIR/kde/install\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$ADIR/kde/install/share/ECM/toolchain/Android.cmake\n\ | 27 | cmake \$@ -DCMAKE_INSTALL_PREFIX=$ADIR/kde/install -DCMAKE_PREFIX_PATH=\"$ADIR/Qt5.8.0/5.8/android_armv7/;$ADIR/kde/install\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$ADIR/kde/install/share/ECM/toolchain/Android.cmake\n\ | ||
25 | }\n\ | 28 | }\n\ | ||
26 | " >> /etc/skel/.bashrc | 29 | " >> /etc/skel/.bashrc | ||
27 | 30 | | |||
28 | RUN echo "deb [arch=armhf] http://ports.ubuntu.com/ wily main universe restricted\n\ | 31 | RUN echo "deb [arch=armhf] http://ports.ubuntu.com/ bionic main universe restricted\n\ | ||
29 | deb-src [arch=armhf] http://ports.ubuntu.com/ wily main universe restricted\n\ | 32 | deb-src [arch=armhf] http://ports.ubuntu.com/ bionic main universe restricted\n\ | ||
30 | \n\ | 33 | \n\ | ||
31 | deb [arch=armhf] http://ports.ubuntu.com/ wily-updates main universe restricted\n\ | 34 | deb [arch=armhf] http://ports.ubuntu.com/ bionic-updates main universe restricted\n\ | ||
32 | deb-src [arch=armhf] http://ports.ubuntu.com/ wily-updates main universe restricted\n\ | 35 | deb-src [arch=armhf] http://ports.ubuntu.com/ bionic-updates main universe restricted\n\ | ||
33 | \n\ | 36 | \n\ | ||
34 | deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu wily main universe restricted\n\ | 37 | deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu bionic main universe restricted\n\ | ||
35 | deb-src [arch=i386,amd64] http://archive.ubuntu.com/ubuntu wily main universe restricted\n\ | 38 | deb-src [arch=i386,amd64] http://archive.ubuntu.com/ubuntu bionic main universe restricted\n\ | ||
36 | \n\ | 39 | \n\ | ||
37 | deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu wily-updates main universe restricted\n\ | 40 | deb [arch=i386,amd64] http://archive.ubuntu.com/ubuntu bionic-updates main universe restricted\n\ | ||
38 | deb-src [arch=i386,amd64] http://archive.ubuntu.com/ubuntu wily-updates main universe restricted\n\ | 41 | deb-src [arch=i386,amd64] http://archive.ubuntu.com/ubuntu bionic-updates main universe restricted\n\ | ||
39 | " > /etc/apt/sources.list | 42 | " > /etc/apt/sources.list | ||
40 | 43 | | |||
41 | # enable verbose apt-get output | 44 | # enable verbose apt-get output | ||
42 | RUN echo 'Debug::pkgProblemResolver "true";' > /etc/apt/apt.conf.d/debug | 45 | RUN echo 'Debug::pkgProblemResolver "true";' > /etc/apt/apt.conf.d/debug | ||
43 | RUN dpkg --add-architecture i386 && apt update && apt-get install -y \ | 46 | RUN dpkg --add-architecture i386 && apt update && apt-get install -y \ | ||
44 | ant \ | 47 | ant \ | ||
45 | build-essential \ | 48 | build-essential \ | ||
46 | cmake \ | 49 | cmake \ | ||
47 | curl \ | 50 | curl \ | ||
48 | expect \ | 51 | expect \ | ||
49 | git \ | 52 | git \ | ||
50 | # required for running kdesrc-build | 53 | # required for running kdesrc-build | ||
51 | libxml-simple-perl \ | 54 | libxml-simple-perl \ | ||
52 | libjson-perl \ | 55 | libjson-perl \ | ||
53 | openjdk-7-jdk \ | 56 | openjdk-8-jdk \ | ||
54 | openjdk-7-jre \ | 57 | openjdk-8-jre \ | ||
55 | qt5-qmake \ | 58 | qt5-qmake \ | ||
56 | ssh \ | 59 | ssh \ | ||
57 | sudo \ | 60 | sudo \ | ||
58 | # required for ki18n | 61 | # required for ki18n | ||
59 | gettext \ | 62 | gettext \ | ||
60 | # virtual framebuffer to provide X window for the Qt installer and unit tests | 63 | # virtual framebuffer to provide X window for the Qt installer and unit tests | ||
61 | xvfb \ | 64 | xvfb \ | ||
62 | # required for CI unit tests | 65 | # required for CI unit tests | ||
▲ Show 20 Lines • Show All 57 Lines • ▼ Show 20 Line(s) | 119 | RUN echo "Download NDK..." && \ | |||
120 | cd $ADIR && \ | 123 | cd $ADIR && \ | ||
121 | ./android-ndk.bin && \ | 124 | ./android-ndk.bin && \ | ||
122 | cd / && \ | 125 | cd / && \ | ||
123 | rm $ADIR/android-ndk.bin && \ | 126 | rm $ADIR/android-ndk.bin && \ | ||
124 | echo "NDK: done." | 127 | echo "NDK: done." | ||
125 | 128 | | |||
126 | #get Qt for Android | 129 | #get Qt for Android | ||
127 | RUN echo "Qt Installer: downloading..." && \ | 130 | RUN echo "Qt Installer: downloading..." && \ | ||
128 | curl http://master.qt.io/archive/qt/5.6/5.6.0/qt-opensource-linux-x64-android-5.6.0.run -o $ADIR/qt-installer.run && \ | 131 | curl http://master.qt.io/archive/qt/5.8/5.8.0/qt-opensource-linux-x64-android-5.8.0.run -o $ADIR/qt-installer.run && \ | ||
129 | chmod +x $ADIR/qt-installer.run | 132 | chmod +x $ADIR/qt-installer.run | ||
130 | 133 | | |||
131 | COPY qtinstallerconfig.qs $ADIR/qtinstallerconfig.qs | 134 | COPY qtinstallerconfig.qs $ADIR/qtinstallerconfig.qs | ||
132 | # run visual installer with simulated X window, filter out all warning messages due to not having a proper window | 135 | # run visual installer with simulated X window, filter out all warning messages due to not having a proper window | ||
133 | RUN xvfb-run -a $ADIR/qt-installer.run --script $ADIR/qtinstallerconfig.qs|grep -v "Warning: QPainter" | grep -v "Warning: QWidget" && \ | 136 | RUN xvfb-run -a $ADIR/qt-installer.run --script $ADIR/qtinstallerconfig.qs|grep -v "Warning: QPainter" | grep -v "Warning: QWidget" | grep -v 'Warning: QXcbConnection: XCB error' && \ | ||
134 | echo "Qt Installer: done." | 137 | echo "Qt Installer: done." | ||
135 | 138 | | |||
136 | # cleanup | 139 | # cleanup | ||
137 | RUN sudo apt-get remove -y\ | 140 | RUN sudo apt-get remove -y\ | ||
138 | expect \ | 141 | expect \ | ||
139 | curl && \ | 142 | curl && \ | ||
140 | sudo apt-get autoremove -y && \ | 143 | sudo apt-get autoremove -y && \ | ||
141 | rm $ADIR/qt-installer.run && \ | 144 | rm $ADIR/qt-installer.run && \ | ||
Show All 18 Lines |