1+ ARG BASE_IMAGE="ubuntu"
2+ # ARG TAG="18.04"
3+ ARG TAG="22.04"
4+ FROM ${BASE_IMAGE}:${TAG}
5+ WORKDIR /vesc_tool
6+
7+ ARG DEBIAN_FRONTEND=noninteractive
8+ ARG USER_NAME=vesc_tool
9+ ARG USER_UID=1000
10+ ARG USER_GID=1000
11+
12+ RUN groupadd ${USER_NAME} --gid ${USER_GID}\
13+ && useradd -l -m ${USER_NAME} -u ${USER_UID} -g ${USER_GID} -s /bin/bash
14+
15+ RUN apt-get update && apt-get install --no-install-recommends -y \
16+ sudo \
17+ bash-completion \
18+ python3 python-is-python3 perl git openssl libssl-dev\
19+ wget curl iputils-ping build-essential \
20+ make ca-certificates xz-utils bzip2 zip \
21+ # libqt5printsupport5 libqt5quickwidgets5 libqt5gamepad5 libqt5serialport5 \
22+ # libqt5bluetooth5 libqt5positioning5 libqt5bluetooth5 libqt5widgets5 qml-module-qtquick-controls \
23+ # qml-module-qtquick-controls2 qml-module-qtquick-extras qml-module-qt-labs-settings \
24+ # qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools \
25+ # libdrm-dev libgles2-mesa-dev \
26+ # libxcb-xinerama0-dev "^libxcb.*" \
27+ # libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev \
28+ # flex bison gperf libicu-dev libxslt-dev ruby libssl-dev \
29+ # libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev \
30+ # libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev \
31+ # libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev \
32+ # gperf bison libbz2-dev libgcrypt20-dev libdrm-dev libcups2-dev \
33+ # libatkmm-1.6-dev libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
34+ # libbluetooth-dev bluetooth blueman bluez libusb-dev libdbus-1-dev bluez-hcidump \
35+ # bluez-tools
36+
37+ qtbase5-private-dev qtscript5-dev \
38+ qml-module-qt-labs-folderlistmodel qml-module-qtquick-extras \
39+ qml-module-qtquick-controls2 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5quickcontrols2-5 qtquickcontrols2-5-dev \
40+ qtcreator qtcreator-doc libqt5serialport5-dev qml-module-qt3d qt3d5-dev \
41+ qtdeclarative5-dev qtconnectivity5-dev qtmultimedia5-dev qtpositioning5-dev \
42+ libqt5gamepad5-dev qml-module-qt-labs-settings qml-module-qt-labs-platform libqt5svg5-dev
43+
44+
45+
46+ ENV USER=${USER_NAME}
47+
48+ RUN echo "vesc_tool ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${USER_NAME}
49+ RUN chmod 0440 /etc/sudoers.d/${USER_NAME}
50+
51+ RUN chown -R ${USER_NAME}:${USER_NAME} /${USER_NAME}
52+
53+ USER ${USER_NAME}
54+
55+ # RUN cd /opt \
56+ # && sudo mkdir qt5 \
57+ # && sudo chown $USER qt5 \
58+ # && git clone https://code.qt.io/qt/qt5.git \
59+ # && cd qt5 \
60+ # && git checkout 5.15 \
61+ # && perl init-repository --module-subset=default,-qtwebkit,-qtwebkit-examples,-qtwebengine
62+
63+ # RUN sudo mkdir /opt/qt5/build \
64+ # && cd /opt/qt5/build \
65+ # && sudo chown $USER /opt/qt5/build \
66+ # && ../configure -prefix /opt/Qt/5.15-static/ -release -opensource -confirm-license \
67+ # -static -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev \
68+ # -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -qt-pcre -no-glib -no-compile-examples \
69+ # -no-cups -no-iconv -no-tslib -dbus-linked \
70+ # -no-xcb-xlib -no-eglfs -no-directfb -no-linuxfb -no-kms \
71+ # -nomake examples -nomake tests -skip qtwebsockets -skip qtwebchannel \
72+ # -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsensors -skip multimedia \
73+ # -no-libproxy -no-icu -qt-freetype -skip qtimageformats -opengl es2 \
74+ # && make -j$(nproc) \
75+ # && sudo make install
76+
77+ CMD ["bash" ]
0 commit comments