clearpathrobotics / public-rosdistro

http://packages.clearpathrobotics.com
2 stars 15 forks source link

How to make rosdep resolve both official ros and cpr binary package names #1107

Open kbrameld opened 2 months ago

kbrameld commented 2 months ago

We have a dingo robot, and we're trying to set up a CI system using custom forks of some dingo-related packages. During the rosdep install step, it is not resolving binary packages provided by cpr. I have followed instructions on APT and rosdep configuration to set up sources.

Running rosdep resolve puma_motor_driver on the robot returns

ERROR: no rosdep rule for 'puma_motor_driver'

If I set the ROSDISTRO_INDEX_URL, I am able to resolve clearpath's packages, but then I'm unable to resolve core ros packages.

export ROSDISTRO_INDEX_URL=https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/index.yaml
rosdep resolve puma_motor_driver   # resolves correctly
rosdep resolve roscpp  # doesn't resolve

How can i set up rosdep such that both core ros packages and clearpath packages can be resolved by rosdep?


Here is a dockerfile to illustrate my issue

FROM osrf/ros:noetic-desktop-full

RUN apt update
RUN apt install python3-rosdep wget -y
RUN wget https://packages.clearpathrobotics.com/public.key -O - | apt-key add -
RUN sh -c 'echo "deb https://packages.clearpathrobotics.com/stable/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/clearpath-latest.list'
RUN apt update
RUN wget https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/50-clearpath.list -O /etc/ros/rosdep/sources.list.d/50-clearpath.list
RUN rosdep update
RUN rosdep resolve puma_motor_driver  # Returns "ERROR: no rosdep rule for 'puma_motor_driver'"
tonybaltovski commented 1 month ago

Can you try adding it using this https://wiki.ros.org/ClearpathRobotics/Packages?

kbrameld commented 1 month ago

The steps provided in that link are identical to the steps in the dockerfile i posted above.

tonybaltovski commented 1 month ago

Does RUN rosdep update show it is accessing /etc/ros/rosdep/sources.list.d/50-clearpath.list?

kbrameld commented 1 month ago

Yes, here's the output from rosdep update:

root@61ee6ad0ab6a:/#  rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Warning: running 'rosdep update' as root is not recommended.
  You should run 'sudo rosdep fix-permissions' and invoke 'rosdep update' again without sudo.
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/hydro.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/indigo.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/kinetic.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/melodic.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/noetic.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/foxy.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/galactic.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/humble.yaml
Hit https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/extras.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Skip end-of-life distro "foxy"
Skip end-of-life distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Add distro "iron"
Skip end-of-life distro "jade"
Add distro "jazzy"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Skip end-of-life distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /root/.ros/rosdep/sources.cache

followed by the output of rosdep resolve puma_motor_driver

root@61ee6ad0ab6a:/# rosdep resolve puma_motor_driver:
ERROR: no rosdep rule for 'puma_motor_driver'