@@ -13,6 +13,13 @@ rm -f /lib/systemd/system/anaconda.target.wants/*;
1313VOLUME [ "/sys/fs/cgroup" ]
1414CMD ["/usr/sbin/init" ]
1515
16+ WORKDIR /tmp
17+
18+ RUN mkdir -p /opt/mlc-python-2.7.11/bin
19+
20+ # Create project structure
21+ ADD mlc_python_scripts/* /opt/mlc-python-2.7.11/bin/
22+
1623# Update the current system
1724RUN yum update -y
1825# RUN yum --enablerepo=extras install epel-release -y
@@ -23,38 +30,18 @@ RUN yum --enablerepo=updates-testing install openssl-devel -y
2330# Install packages
2431RUN yum install tk-devel lapack-devel cmake tcl tcl-devel expect tkinter openssh-server gcc gcc-c++ wget xz make vim openssh-clients rpm-build ruby-devel libpng libpng-devel sqlite-devel libxkbcommon freeglut-devel libxcb libxcb-devel xcb-util xcb-util-devel git -y
2532
26- WORKDIR /tmp
2733# Compile Openssl from scratch. There are dependency problems with this packet in Fedora 20
2834# RUN wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz && \
2935# tar xzvf openssl-1.1.0c.tar.gz && \
3036# cd openssl-1.1.0c && ./config && make && make install
3137
3238# Download python 2.7.11
3339# For more information about the compilation of the Python: http://www.mathworks.com/help/matlab/matlab_external/system-requirements-for-matlab-engine-for-python.html?requestedDomain=www.mathworks.com
34- WORKDIR /tmp
3540RUN wget -q https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz && \
3641 tar xJvf Python-2.7.11.tar.xz && \
3742 cd Python-2.7.11 && ./configure --enable-shared --enable-unicode=ucs4 --prefix=/opt/mlc-python-2.7.11 && make && make install && \
3843 rm -rf /tmp/Python-2.7.11*
3944
40- # Create .sh who will load the desired enviroment to run python within it
41- RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
42- echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
43- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
44- echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
45- echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
46- echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
47- echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
48- echo 'PYTHON="$ROOTPATH/bin/python2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
49- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
50- echo "# Run the dynamically compiled python for matlab" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
51- echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
52- echo ' $PYTHON $@' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
53- echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
54- echo ' $PYTHON' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
55- echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
56- chmod 755 /opt/mlc-python-2.7.11/bin/mlc_python
57-
5845# Install Python Setuptools
5946RUN wget -q https://pypi.python.org/packages/source/s/setuptools/setuptools-20.1.1.tar.gz#md5=10a0f4feb9f2ea99acf634c8d7136d6d && \
6047 tar xzvf setuptools-20.1.1.tar.gz && \
@@ -67,24 +54,6 @@ RUN wget -q https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3
6754 cd pip-8.0.2 && /opt/mlc-python-2.7.11/bin/mlc_python setup.py build && /opt/mlc-python-2.7.11/bin/mlc_python setup.py install && \
6855 rm -rf /tmp/pip-8.0.2*
6956
70- # Create .sh who will load the desired enviroment to run pip within it
71- RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
72- echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
73- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
74- echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
75- echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
76- echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
77- echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
78- echo 'PIP="$ROOTPATH/bin/pip2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
79- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
80- echo "# Run the dynamically compiled pip" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
81- echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
82- echo ' $PIP $@' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
83- echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
84- echo ' $PIP' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
85- echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
86- chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pip
87-
8857# Install Qt5.7
8958RUN git clone git://code.qt.io/qt/qtbase.git && \
9059 cd qtbase && \
@@ -164,47 +133,11 @@ RUN wget https://sourceforge.net/projects/pyqt/files/PyQtDataVisualization/PyQtD
164133 make -j4 && make install && \
165134 rm -rf /tmp/PyQtDataVisualization_gpl-5.7.1*
166135
167- # Create .sh who will load the desired enviroment to run pip within it
168- RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
169- echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
170- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
171- echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
172- echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
173- echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
174- echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
175- echo 'PYUIC="$ROOTPATH/bin/pyuic5"' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
176- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
177- echo "# Run the dynamically compiled pip" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
178- echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
179- echo ' $PYUIC $@' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
180- echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
181- echo ' $PYUIC' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
182- echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
183- chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pyuic5
184-
185136# Install mlc dependencies
186- RUN /opt/mlc-python-2.7.11/bin/mlc_pip install pyserial numpy nose matplotlib scipy pyyaml flask requests
187-
188- # Create .sh who will load the desired enviroment to run nosetests within it
189- RUN echo '#!/bin/bash' > /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
190- echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
191- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
192- echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
193- echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
194- echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
195- echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
196- echo 'NOSETESTS="$ROOTPATH/bin/nosetests"' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
197- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
198- echo "# Run the dynamically compiled nosetests" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
199- echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
200- echo ' $NOSETESTS $@' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
201- echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
202- echo ' $NOSETESTS' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
203- echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
204- chmod 755 /opt/mlc-python-2.7.11/bin/mlc_nosetests
205-
206- RUN echo '[Paths]' > /opt/mlc-python-2.7.11/bin/qt.conf && \
207- echo "Prefix=../Qt-5.7.1" >> /opt/mlc-python-2.7.11/bin/qt.conf
208-
209- # Install fpm and create .deb package
210- RUN gem install fpm && fpm -s dir -t rpm -v 0.6 -n mlc-python-fedora-20 /opt/mlc-python-2.7.11
137+ RUN /opt/mlc-python-2.7.11/bin/mlc_pip install ipython pyserial numpy nose matplotlib scipy pyyaml flask requests
138+
139+ ARG RELEASE
140+ ENV RELEASE ${RELEASE}
141+ ENV OS_VERSION ubuntu-16.04
142+ ADD deploy_scripts/* /tmp/deploy_scripts/
143+ ENTRYPOINT ["/tmp/deploy_scripts/create_MLC_folder.sh" ]
0 commit comments