FROM ubuntu:focal

RUN apt-get update
ARG DEBIAN_FRONTEND=noninteractive
RUN apt install -y tzdata
RUN apt install -y keyboard-configuration

RUN apt install -y gnupg2
RUN apt install -y lsb-core 

RUN apt install -y python3-minimal
RUN test -f /usr/bin/python || ln -s $(which python3) /usr/bin/python
RUN apt install -y python3-pip
RUN test -f /usr/bin/pip || ln -s $(which pip3) /usr/bin/pip
RUN pip install --upgrade pip
RUN pip install awscli
RUN pip install boto3
RUN pip install kafka-python
RUN pip install redshift_connector
RUN pip install numpy
RUN pip install pyquaternion
RUN pip install open3d

RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 
RUN apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 
RUN apt-get update

RUN apt install -y ros-noetic-desktop-full 
RUN echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
RUN /bin/bash -c "source ~/.bashrc"
RUN apt install -y python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
RUN apt install -y python3-rosdep

RUN rosdep init
RUN rosdep update
RUN pip install  catkin_pkg
RUN apt install -y ros-noetic-rosbridge-suite

ENV ROS_ROOT=/opt/ros/noetic/share/ros
ENV PKG_CONFIG_PATH=/opt/ros/noetic/lib/pkgconfig
ENV ROS_PACKAGE_PATH=/opt/ros/noetic/share
ENV ROS_ETC_DIR=/opt/ros/noetic/etc/ros
ENV CMAKE_PREFIX_PATH=/opt/ros/noetic
ENV PYTHONPATH=/opt/ros/noetic/lib/python3/dist-packages
ENV LD_LIBRARY_PATH=/opt/ros/noetic/lib
ENV PATH=/opt/ros/noetic/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

RUN apt install -y libpcap-dev
COPY catkin_ws /catkin_ws
RUN git clone https://github.com/ros-drivers/velodyne.git
RUN mv velodyne /catkin_ws/src/
RUN rm -rf /catkin_ws/build /catkin_ws/devel
RUN cd /catkin_ws && catkin_make 

ENV PKG_CONFIG_PATH=/catkin_ws/devel/lib/pkgconfig:$PKG_CONFIG_PATH
ENV ROS_PACKAGE_PATH=/catkin_ws/src:$ROS_PACKAGE_PATH
ENV CMAKE_PREFIX_PATH=/catkin_ws/devel:$CMAKE_PREFIX_PATH
ENV PYTHONPATH=/catkin_ws/devel/lib/python3/dist-packages:$PYTHONPATH
ENV LD_LIBRARY_PATH=/catkin_ws/devel/lib:$LD_LIBRARY_PATH

COPY python-from-s3.sh /
ENTRYPOINT [ "/python-from-s3.sh" ]