Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
Development_Environment
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Montaño Sarria, Andres Felipe
Development_Environment
Commits
f78a6262
Commit
f78a6262
authored
1 year ago
by
Montaño Sarria, Andres Felipe
Browse files
Options
Downloads
Patches
Plain Diff
Add backup file with workspace dependencies into docker file
parent
5cb69c2e
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
dockerfiles/old_devenv.Dockerfile
+266
-0
266 additions, 0 deletions
dockerfiles/old_devenv.Dockerfile
with
266 additions
and
0 deletions
dockerfiles/old_devenv.Dockerfile
0 → 100644
+
266
−
0
View file @
f78a6262
ARG
ROS_DISTRO
FROM
osrf/ros:${ROS_DISTRO}-desktop-full
RUN
echo
"Building devenv for ROS"
$ROS_DISTRO
# Avoid warnings by switching to noninteractive
ENV
DEBIAN_FRONTEND=noninteractive
# Setup environment
RUN
apt-get update
&&
apt-get
install
-y
apt-utils
RUN
apt-get
install
-y
\
locales
\
&&
sed
-i
'/en_US.UTF-8/s/^# //g'
/etc/locale.gen
&&
locale-gen en_US.UTF-8
ENV
LANG en_US.UTF-8
ENV
LANGUAGE en_US:en
ENV
LC_ALL en_US.UTF-8
# Configure apt and install packages
RUN
apt-get update
&&
apt-get
-y
install
--no-install-recommends
\
apt-transport-https
\
ca-certificates
\
curl
\
dbus-x11
\
gnupg-agent
\
software-properties-common
\
dialog 2>&1
\
checkinstall
\
# clang
clang-format clang-tidy clang-tools clang \
libc++-dev libc++1 libc++abi-dev \
libc++abi1 libclang-dev libclang1 \
libomp-dev libomp5 lld lldb \
llvm-dev llvm-runtime llvm \
# ccmake
cmake-curses-gui \
direnv \
gdb \
git \
git-lfs \
less \
nano \
net-tools \
openssh-client \
terminator \
trash-cli \
valgrind \
xterm \
wget \
zsh
RUN if
[
"
${
ROS_DISTRO
}
"
!=
"humble"
]
;
\
then
\
apt-get
-y
install
\
ros-
${
ROS_DISTRO
}
-catkin
\
ros-
${
ROS_DISTRO
}
-plotjuggler
\
ros-
${
ROS_DISTRO
}
-plotjuggler-ros
\
ros-
${
ROS_DISTRO
}
-rosmon
\
ros-
${
ROS_DISTRO
}
-rqt-controller-manager
\
ros-
${
ROS_DISTRO
}
-rqt-joint-trajectory-controller
;
\
fi
RUN if
[
"
${
ROS_DISTRO
}
"
=
"noetic"
]
;
\
then
\
apt-get
-y
install
\
ipython3
\
python-is-python3
\
python3-catkin-tools
\
python3-click
\
python3-numpy
\
python3-osrf-pycommon
\
python3-vcstool
\
# clang
clangd liblldb-dev libllvm-ocaml-dev python3-clang; \
elif [ "${ROS_DISTRO}" = "melodic" ]; \
then \
apt-get -y install \
ipython \
python-catkin-tools \
python-pip \
python-osrf-pycommon\
python-vcstool; \
else \
echo "Not supported version"; \
fi
# Configure system to look for debian packages in the Artifactory repository
COPY
auth.conf /etc/apt/auth.conf.d/tecnalia.conf
# Import the key in order to be able to use the packages from the repository
RUN
apt-key adv
--keyserver
hkp://keyserver.ubuntu.com:80
--recv-keys
7E72C5B4111A50084C63C9489E7A9B1D990CF897
RUN
curl
-s
https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -
# Configure rosdep
RUN
sh
-c
"echo 'yaml https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/rosdistro/rosdep_tecnalia.yaml'
\
>> /etc/ros/rosdep/sources.list.d/20-default.list"
# Install docker-ce
# RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
# RUN add-apt-repository \
# "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# RUN apt-get update && apt-get -y install \
# docker-ce \
# docker-ce-cli \
# containerd.io \
# docker-compose-plugin
# Install pip3 and packages
RUN
apt-get
install
-y
\
python3-pip
\
&&
pip3
install
sqlite_utils
\
&&
pip3
install
conan
==
1.59
\
&&
conan config
set
general.revisions_enabled
=
1
\
&&
conan profile new default
--detect
>
/dev/null
\
&&
conan profile update settings.compiler
=
gcc default
# Install node for UIs
RUN
curl
-sL
https://deb.nodesource.com/setup_14.x |
sudo
-E
bash
\
&&
apt-get
install
-y
nodejs
&&
npm
-g
install
yarn
# ROS 1 WS dependencies
RUN if
[
"
${
ROS_DISTRO
}
"
!=
"humble"
]
;
\
then
\
apt-get
-y
install
\
cython
\
libceres-dev
\
libcomedi-dev
\
libglfw3-dev
\
libmodbus-dev
\
python-numpy
\
python3-mock
\
socat
\
ros-
${
ROS_DISTRO
}
-ackermann-msgs
\
ros-
${
ROS_DISTRO
}
-amcl
\
ros-
${
ROS_DISTRO
}
-cartesian-trajectory-controller
\
ros-
${
ROS_DISTRO
}
-chomp-motion-planner
\
ros-
${
ROS_DISTRO
}
-collada-urdf
\
ros-
${
ROS_DISTRO
}
-effort-controllers
\
ros-
${
ROS_DISTRO
}
-force-torque-sensor-controller
\
ros-
${
ROS_DISTRO
}
-gmapping
\
ros-
${
ROS_DISTRO
}
-hector-gazebo-plugins
\
ros-
${
ROS_DISTRO
}
-hector-mapping
\
ros-
${
ROS_DISTRO
}
-imu-complementary-filter
\
ros-
${
ROS_DISTRO
}
-imu-tools
\
ros-
${
ROS_DISTRO
}
-industrial-core
\
ros-
${
ROS_DISTRO
}
-industrial-robot-simulator
\
ros-
${
ROS_DISTRO
}
-industrial-robot-status-controller
\
ros-
${
ROS_DISTRO
}
-industrial-robot-status-interface
\
ros-
${
ROS_DISTRO
}
-interactive-marker-twist-server
\
ros-
${
ROS_DISTRO
}
-joint-trajectory-controller
\
ros-
${
ROS_DISTRO
}
-joy
\
ros-
${
ROS_DISTRO
}
-lms1xx
\
ros-
${
ROS_DISTRO
}
-map-server
\
ros-
${
ROS_DISTRO
}
-mavros-msgs
\
ros-
${
ROS_DISTRO
}
-move-base
\
ros-
${
ROS_DISTRO
}
-moveit-commander
\
ros-
${
ROS_DISTRO
}
-moveit-fake-controller-manager
\
ros-
${
ROS_DISTRO
}
-moveit-planners-chomp
\
ros-
${
ROS_DISTRO
}
-moveit-planners-ompl
\
ros-
${
ROS_DISTRO
}
-moveit-resources
\
ros-
${
ROS_DISTRO
}
-moveit-ros-benchmarks
\
ros-
${
ROS_DISTRO
}
-moveit-ros-control-interface
\
ros-
${
ROS_DISTRO
}
-moveit-ros-move-group
\
ros-
${
ROS_DISTRO
}
-moveit-ros-planning-interface
\
ros-
${
ROS_DISTRO
}
-moveit-ros-visualization
\
ros-
${
ROS_DISTRO
}
-moveit-ros-warehouse
\
ros-
${
ROS_DISTRO
}
-moveit-setup-assistant
\
ros-
${
ROS_DISTRO
}
-moveit-simple-controller-manager
\
ros-
${
ROS_DISTRO
}
-moveit-visual-tools
\
ros-
${
ROS_DISTRO
}
-navigation
\
ros-
${
ROS_DISTRO
}
-pass-through-controllers
\
ros-
${
ROS_DISTRO
}
-pilz-industrial-motion
\
ros-
${
ROS_DISTRO
}
-rc-visard
\
ros-
${
ROS_DISTRO
}
-realsense2-camera
\
ros-
${
ROS_DISTRO
}
-realsense2-description
\
ros-
${
ROS_DISTRO
}
-robot-localization
\
ros-
${
ROS_DISTRO
}
-ros-control
\
ros-
${
ROS_DISTRO
}
-ros-control-boilerplate
\
ros-
${
ROS_DISTRO
}
-ros-controllers
\
ros-
${
ROS_DISTRO
}
-ros-industrial-cmake-boilerplate
\
ros-
${
ROS_DISTRO
}
-rosbridge-server
\
ros-
${
ROS_DISTRO
}
-scaled-joint-trajectory-controller
\
ros-
${
ROS_DISTRO
}
-serial
\
ros-
${
ROS_DISTRO
}
-spacenav-node
\
ros-
${
ROS_DISTRO
}
-speed-scaling-interface
\
ros-
${
ROS_DISTRO
}
-speed-scaling-state-controller
\
ros-
${
ROS_DISTRO
}
-teb-local-planner
\
ros-
${
ROS_DISTRO
}
-trac-ik-kinematics-plugin
\
ros-
${
ROS_DISTRO
}
-twist-controller
\
ros-
${
ROS_DISTRO
}
-twist-mux
\
ros-
${
ROS_DISTRO
}
-ur-client-library
\
ros-
${
ROS_DISTRO
}
-ur-msgs
\
ros-
${
ROS_DISTRO
}
-usb-cam
\
ros-
${
ROS_DISTRO
}
-velocity-controllers
\
ros-
${
ROS_DISTRO
}
-warehouse-ros-mongo
;
\
# ROS2 Humble dpendencies
else \
apt-get -y install \
ros-${ROS_DISTRO}-moveit \
ros-${ROS_DISTRO}-ros2-control; \
fi
RUN if
[
"
${
ROS_DISTRO
}
"
=
"noetic"
]
;
\
then
\
apt-get
-y
install
\
ipython3
\
python-is-python3
\
python3-catkin-tools
\
python3-click
\
ros-
${
ROS_DISTRO
}
-libpcan
\
python3-numpy
\
python3-tk
\
python3-osrf-pycommon
;
\
elif
[
"
${
ROS_DISTRO
}
"
=
"melodic"
]
;
\
then
\
apt-get
-y
install
\
ros-
${
ROS_DISTRO
}
-ar-track-alvar
\
python-mock
\
python-funcsigs
\
python-sqlalchemy
\
python3-rospkg-modules
\
python3-yaml
;
\
else
\
echo
"Not supported version"
;
\
fi
WORKDIR
/tmp/srcs/
COPY
/extra_libs/* ./
RUN if
[
"
${
ROS_DISTRO
}
"
=
"noetic"
]
;
\
then
\
dpkg
-i
bat
*
.deb
;
\
dpkg
-i
lsd
*
.deb
;
\
dpkg
-i
ripgrep
*
.deb
;
\
elif
[
"
${
ROS_DISTRO
}
"
=
"melodic"
]
;
\
then
\
dpkg
-i
*
.deb
;
\
else
\
echo
"Not supported version"
;
\
fi
RUN
rm
-rf
*
RUN
apt-get
--reinstall
install
-y
libnotify-bin notify-osd
# Update this date to re-run the image final update
LABEL
image.date=24-08-2023
# Update final image
RUN
apt-get update
\
&&
apt-get
-y
upgrade
\
&&
apt-get
-y
autoremove
\
&&
apt-get
-y
autoclean
# Set entrypoint
COPY
./ros_entrypoint.sh /
RUN
chmod
a+x /ros_entrypoint.sh
ENTRYPOINT
["/ros_entrypoint.sh"]
CMD
["zsh"]
ENV
ROS_DISTRO "${ROS_DISTRO}"
ENV
SHELL /usr/bin/zsh
ENV
RUNNING_IN_DOCKER true
# Switch back to dialog for any ad-hoc use of apt-get
ENV
DEBIAN_FRONTEND=
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment