lucasw / ros_from_src

Build ros from source without using a PPA in a github action. Probably just copy what archlinux is doing. See also https://github.com/ros-o/ros-o
BSD 3-Clause "New" or "Revised" License
104 stars 16 forks source link

ros one for 22.04 in dockerhub #37

Open lucasw opened 8 months ago

lucasw commented 8 months ago

Use debian package from the 0.0.6 release https://github.com/lucasw/ros_from_src/releases/tag/ros2204-v0.0.6

Download the full deb file and extract it in ros_from_src/debian

https://github.com/lucasw/ros_from_src/tree/debianize

Make the lateset here contain the 0.0.6 version: https://hub.docker.com/r/lucasw0/ros_from_src_ubuntu_2204

cd ros_from_src
docker build debian -t ros_from_src_ubuntu_2204
...
docker tag ros_from_src_ubuntu_2204 lucasw0/ros_from_src_ubuntu_2204:latest
docker push lucasw0/ros_from_src_ubuntu_2204:latest

The push refers to repository [docker.io/lucasw0/ros_from_src_ubuntu_2204]

Once tested push to :latest

And once that is done other dockerfiles can use it like this:

FROM lucasw0/ros_from_src_ubuntu_2204:latest
lucasw commented 8 months ago

Having an issue running catkin when using the deb installed in a docker image- rebuild the deb so source /opt/ros/one/setup.bash works and try again.

Actually the issue is that the catkin_tools isn't installed at all into the debian docker image, ubuntu_2204/Dockerfile installs it to /opt/ros/base - nothing puts that into a deb.

For now build those tools separately in debian/Dockerfile, later wrap them up in a deb.

lucasw commented 8 months ago

Now the deb installed in docker isn't producing a ROS_PACKAGE_PATH, can set it manually but commands like rosrun xacro xacro don't work:

root@df3591567419:~# export ROS_PACKAGE_PATH=/opt/ros/one:/usr/share
root@df3591567419:~# rosrun xacro xacro
[rosrun] Couldn't find executable named xacro below /opt/ros/one/share/xacro
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun]   /opt/ros/one/share/xacro
root@df3591567419:~# rospack find xacro
/opt/ros/one/share/xacro
root@df3591567419:~# xacro
Usage: xacro [options] <input>

xacro: error: expected exactly one input file as argument
root@df3591567419:~# which xacro
/opt/ros/one/bin/xacro
lucasw commented 8 months ago

Set it up to use the pre-built install.tgz instead

->

https://hub.docker.com/layers/lucasw0/ros_from_src_ubuntu_2204/v0.0.6/images/sha256-4b2c87fbcdb77ebbec52f014ac3df5468a366a86a2fbfcff225b76dc013cc854?context=explore

lucasw commented 7 months ago

Next will have a v0.0.7 version with https://github.com/lucasw/ros_from_src/releases/tag/ros2204-v0.0.7-vdb-mapping

Need to upload the contents of $DEST in order to use the other built software