upm/docker/Dockerfile.base

69 lines
2.7 KiB
Docker
Raw Normal View History

FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
# Prepare apt-get
RUN apt-get update && apt-get -y --no-install-recommends install software-properties-common
# Add Mraa Repository
RUN add-apt-repository ppa:mraa/mraa && \
# Update apt-get
apt-get -y update && \
# Install apt-utils
apt-get -y --no-install-recommends install apt-utils && \
# Main Build Dependencies
apt-get -y --no-install-recommends install git build-essential cmake swig clang-3.8 gcc-5 g++-5 libpthread-stubs0-dev pkg-config wget unzip \
# Mraa Build Dependencies
libmraa1 libmraa-dev mraa-tools \
# Docs Build Dependencies
python-sphinx doxygen graphviz \
# Sensor Specific Build Dependencies
libjpeg-dev
# Test Build Dependencies
RUN apt-get -y --no-install-recommends install python python-dev python-pip && \
pip install chardet
# Install gcc-6 g++-6
RUN add-apt-repository ppa:ubuntu-toolchain-r/test && \
apt-get update && \
apt-get -y --no-install-recommends install gcc-6 g++-6
WORKDIR /opt
# Install libbacnet 0.3.12
RUN wget https://downloads.sourceforge.net/project/bacnet/bacnet-stack/bacnet-stack-0.8.3/bacnet-stack-0.8.3.zip && \
unzip -qq bacnet-stack-0.8.3.zip && cd bacnet-stack-0.8.3 && \
BACDL_DEFINE=-DBACDL_MSTP=1 MAKE_DEFINE=-fPIC make clean all && \
cp /opt/bacnet-stack-0.8.3/lib/libbacnet.a /usr/lib/libbacnet.a && \
echo "prefix=/usr" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "exec_prefix=\${prefix}" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "libdir=\${exec_prefix}/lib" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "includedir=\${exec_prefix}/include" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "Name: bacnet" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "Description: BACnet library" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "Version: 0.8.3" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "Libs: -L\${libdir} -lbacnet" >> /usr/lib/pkgconfig/libbacnet.pc && \
echo "Cflags: -I\${includedir}/bacnet" >> /usr/lib/pkgconfig/libbacnet.pc && \
mkdir /usr/include/bacnet && \
cp /opt/bacnet-stack-0.8.3/include/* /usr/include/bacnet/ && \
rm -fr /opt/bacnet-stack-0.8.3.zip
# Install libmodbus 3.1.4
RUN wget http://libmodbus.org/releases/libmodbus-3.1.4.tar.gz && \
tar xf libmodbus-3.1.4.tar.gz && cd libmodbus-3.1.4 && \
./configure && make -j8 && make install && \
rm -fr /opt/libmodbus-3.1.4.tar.gz
# Install openzwave
RUN apt-get update && apt-get -y --no-install-recommends install libudev-dev && \
git clone --depth 1 https://github.com/OpenZWave/open-zwave.git && cd open-zwave && make -j8 install && \
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/openzwave.conf
# Set Workdir
ARG UPM_SRC_DIR=/usr/src/app
ENV UPM_SRC_DIR $UPM_SRC_DIR
WORKDIR $UPM_SRC_DIR
CMD bash