Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add script to get all Debian packages corresponding to a gazebodistro file #4

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

j-rivero
Copy link
Contributor

@j-rivero j-rivero commented May 14, 2020

Stupid script to generate a debian package list of all packages available in the osrfoundation repo to be uploaded to ROS repositories for a given gazebodistro file.

i.e: bash -e gazebodistro_to_pkgs_for_ros.bash ../collection-citadel.yaml

What the script does (note that it must be executed in the desired target platform):

  1. it goes through all dependencies listed in the gazebodistro file (output prefix 1.) and use apt-cache search <dep-with-tricks> to find all packages that match the keys (assuming all our binary packages has that pattern in filenames)
  2. From all the binary packages found in the previous step, go through all of them (output prefix 2.) and collect all the dependencies recursively.
  3. With the whole list of all binary packages that compose the string of dependencies, go through it (output prefix 3.) and check if it is not present in Ubuntu or ROS repositories. If it is not, it should be in packages.osrfoundation.org.

Using it to generate the package list to be uploaded to ros repositories for new versions using Gazebo11.

tools/gazebodistro_to_pkgs_for_ros.bash Outdated Show resolved Hide resolved
echo

echo "LIST OF PACKAGES:"
echo "${osrf_pkgs}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I run bash -e gazebodistro_to_pkgs_for_ros.bash ../collection-citadel.yaml nothing is printed here. Is this expected? I guess I don't fully understand what this script is meant to do.

This is my full output
This tool reads a gazebodistro file and look in the system for
all available pkgs corresponding to that distro file

 1. Getting packages using: ignition-cmake2
 1. Getting packages using: ignition-common3
 1. Getting packages using: ignition-fuel-tools4
 1. Getting packages using: ignition-gazebo3
 1. Getting packages using: ignition-gui3
 1. Getting packages using: ignition-launch2
 1. Getting packages using: ignition-math6
 1. Getting packages using: ignition-msgs5
 1. Getting packages using: ignition-physics2
 1. Getting packages using: ignition-plugin1
 1. Getting packages using: ignition-rendering3
 1. Getting packages using: ignition-sensors3
 1. Getting packages using: ignition-tools1
 1. Getting packages using: ignition-transport8
 1. Getting packages using: sdformat9

 2. Get dependencies of: libignition-cmake2-dev
 2. Get dependencies of: libignition-common3
 2. Get dependencies of: libignition-common3-av
 2. Get dependencies of: libignition-common3-av-dev
 2. Get dependencies of: libignition-common3-core-dev
 2. Get dependencies of: libignition-common3-dev
 2. Get dependencies of: libignition-common3-events
 2. Get dependencies of: libignition-common3-events-dev
 2. Get dependencies of: libignition-common3-graphics
 2. Get dependencies of: libignition-common3-graphics-dev
 2. Get dependencies of: libignition-common3-profiler
 2. Get dependencies of: libignition-common3-profiler-dev
 2. Get dependencies of: libignition-fuel-tools4
 2. Get dependencies of: libignition-fuel-tools4-dev
 2. Get dependencies of: libignition-gazebo3
 2. Get dependencies of: libignition-gazebo3-dbg
 2. Get dependencies of: libignition-gazebo3-dev
 2. Get dependencies of: libignition-gazebo3-plugins
 2. Get dependencies of: libignition-gui3
 2. Get dependencies of: libignition-gui3-dev
 2. Get dependencies of: libignition-launch2
 2. Get dependencies of: libignition-launch2-dev
 2. Get dependencies of: libignition-math6
 2. Get dependencies of: libignition-math6-dbg
 2. Get dependencies of: libignition-math6-dev
 2. Get dependencies of: libignition-math6-eigen3-dev
 2. Get dependencies of: libignition-msgs5
 2. Get dependencies of: libignition-msgs5-dev
 2. Get dependencies of: libignition-physics2
 2. Get dependencies of: libignition-physics2-core-dev
 2. Get dependencies of: libignition-physics2-dartsim
 2. Get dependencies of: libignition-physics2-dartsim-dev
 2. Get dependencies of: libignition-physics2-dev
 2. Get dependencies of: libignition-physics2-mesh-dev
 2. Get dependencies of: libignition-physics2-sdf-dev
 2. Get dependencies of: libignition-plugin
 2. Get dependencies of: libignition-plugin-dbg
 2. Get dependencies of: libignition-plugin-dev
 2. Get dependencies of: libignition-plugin0
 2. Get dependencies of: libignition-plugin0-dbg
 2. Get dependencies of: libignition-plugin0-dev
 2. Get dependencies of: libignition-rendering3
 2. Get dependencies of: libignition-rendering3-core-dev
 2. Get dependencies of: libignition-rendering3-dev
 2. Get dependencies of: libignition-rendering3-ogre1
 2. Get dependencies of: libignition-rendering3-ogre1-dev
 2. Get dependencies of: libignition-rendering3-ogre2
 2. Get dependencies of: libignition-rendering3-ogre2-dev
 2. Get dependencies of: libignition-sensors3
 2. Get dependencies of: libignition-sensors3-air-pressure
 2. Get dependencies of: libignition-sensors3-air-pressure-dev
 2. Get dependencies of: libignition-sensors3-altimeter
 2. Get dependencies of: libignition-sensors3-altimeter-dev
 2. Get dependencies of: libignition-sensors3-camera
 2. Get dependencies of: libignition-sensors3-camera-dev
 2. Get dependencies of: libignition-sensors3-core-dev
 2. Get dependencies of: libignition-sensors3-depth-camera
 2. Get dependencies of: libignition-sensors3-depth-camera-dev
 2. Get dependencies of: libignition-sensors3-dev
 2. Get dependencies of: libignition-sensors3-gpu-lidar
 2. Get dependencies of: libignition-sensors3-gpu-lidar-dev
 2. Get dependencies of: libignition-sensors3-imu
 2. Get dependencies of: libignition-sensors3-imu-dev
 2. Get dependencies of: libignition-sensors3-lidar
 2. Get dependencies of: libignition-sensors3-lidar-dev
 2. Get dependencies of: libignition-sensors3-logical-camera
 2. Get dependencies of: libignition-sensors3-logical-camera-dev
 2. Get dependencies of: libignition-sensors3-magnetometer
 2. Get dependencies of: libignition-sensors3-magnetometer-dev
 2. Get dependencies of: libignition-sensors3-rendering
 2. Get dependencies of: libignition-sensors3-rendering-dev
 2. Get dependencies of: libignition-sensors3-rgbd-camera
 2. Get dependencies of: libignition-sensors3-rgbd-camera-dev
 2. Get dependencies of: libignition-sensors3-thermal-camera
 2. Get dependencies of: libignition-sensors3-thermal-camera-dev
 2. Get dependencies of: ignition-tools
 2. Get dependencies of: libignition-tools-dev
 2. Get dependencies of: libignition-transport8
 2. Get dependencies of: libignition-transport8-core-dev
 2. Get dependencies of: libignition-transport8-dbg
 2. Get dependencies of: libignition-transport8-dev
 2. Get dependencies of: libignition-transport8-log
 2. Get dependencies of: libignition-transport8-log-dev
 2. Get dependencies of: libsdformat9
 2. Get dependencies of: libsdformat9-dbg
 2. Get dependencies of: libsdformat9-dev
 2. Get dependencies of: sdformat9-doc
 2. Get dependencies of: sdformat9-sdf


LIST OF PACKAGES:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uhm weird, there is no 3. step in your execution could you please run it with bash -x and copy the output somewhere please?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nothing is printed here. Is this expected?

Could be the lack of apt-rdepends package installation.

I guess I don't fully understand what this script is meant to do.

I edited the summary to provide some information.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, installing sudo apt install apt-rdepends did the trick. It would be nice to document that.

This works for me now. Just one last question, what's the rationale for putting this script here instead of release-tools?

@j-rivero
Copy link
Contributor Author

j-rivero commented May 14, 2020

Example of execution on my Ubuntu Bionic system:
jrivero@nium tools $ (tools) ./gazebodistro_to_pkgs_for_ros.bash ../collection-citadel.yaml 

This tool reads a gazebodistro file and look in the system for
all available pkgs corresponding to that distro file

 1. Getting packages using: ignition-cmake2
 1. Getting packages using: ignition-common3
 1. Getting packages using: ignition-fuel-tools4
 1. Getting packages using: ignition-gazebo3
 1. Getting packages using: ignition-gui3
 1. Getting packages using: ignition-launch2
 1. Getting packages using: ignition-math6
 1. Getting packages using: ignition-msgs5
 1. Getting packages using: ignition-physics2
 1. Getting packages using: ignition-plugin1
 1. Getting packages using: ignition-rendering3
 1. Getting packages using: ignition-sensors3
 1. Getting packages using: ignition-tools1
 1. Getting packages using: ignition-transport8
 1. Getting packages using: sdformat9

 2. Get dependencies of: libignition-cmake2-dev
 2. Get dependencies of: libignition-common3
 2. Get dependencies of: libignition-common3-av
 2. Get dependencies of: libignition-common3-av-dev
 2. Get dependencies of: libignition-common3-core-dev
 2. Get dependencies of: libignition-common3-dev
 2. Get dependencies of: libignition-common3-events
 2. Get dependencies of: libignition-common3-events-dev
 2. Get dependencies of: libignition-common3-graphics
 2. Get dependencies of: libignition-common3-graphics-dev
 2. Get dependencies of: libignition-common3-profiler
 2. Get dependencies of: libignition-common3-profiler-dev
 2. Get dependencies of: libignition-fuel-tools4
 2. Get dependencies of: libignition-fuel-tools4-dev
 2. Get dependencies of: libignition-gazebo3
 2. Get dependencies of: libignition-gazebo3-dbg
 2. Get dependencies of: libignition-gazebo3-dev
 2. Get dependencies of: libignition-gazebo3-plugins
 2. Get dependencies of: libignition-gui3
 2. Get dependencies of: libignition-gui3-dev
 2. Get dependencies of: libignition-launch2
 2. Get dependencies of: libignition-launch2-dev
 2. Get dependencies of: libignition-math6
 2. Get dependencies of: libignition-math6-dbg
 2. Get dependencies of: libignition-math6-dev
 2. Get dependencies of: libignition-math6-eigen3-dev
 2. Get dependencies of: libignition-msgs5
 2. Get dependencies of: libignition-msgs5-dev
 2. Get dependencies of: libignition-physics2
 2. Get dependencies of: libignition-physics2-core-dev
 2. Get dependencies of: libignition-physics2-dartsim
 2. Get dependencies of: libignition-physics2-dartsim-dev
 2. Get dependencies of: libignition-physics2-dev
 2. Get dependencies of: libignition-physics2-mesh-dev
 2. Get dependencies of: libignition-physics2-sdf-dev
 2. Get dependencies of: libignition-plugin
 2. Get dependencies of: libignition-plugin-dbg
 2. Get dependencies of: libignition-plugin-dev
 2. Get dependencies of: libignition-rendering3
 2. Get dependencies of: libignition-rendering3-core-dev
 2. Get dependencies of: libignition-rendering3-dev
 2. Get dependencies of: libignition-rendering3-ogre1
 2. Get dependencies of: libignition-rendering3-ogre1-dev
 2. Get dependencies of: libignition-rendering3-ogre2
 2. Get dependencies of: libignition-rendering3-ogre2-dev
 2. Get dependencies of: libignition-sensors3
 2. Get dependencies of: libignition-sensors3-air-pressure
 2. Get dependencies of: libignition-sensors3-air-pressure-dev
 2. Get dependencies of: libignition-sensors3-altimeter
 2. Get dependencies of: libignition-sensors3-altimeter-dev
 2. Get dependencies of: libignition-sensors3-camera
 2. Get dependencies of: libignition-sensors3-camera-dev
 2. Get dependencies of: libignition-sensors3-core-dev
 2. Get dependencies of: libignition-sensors3-depth-camera
 2. Get dependencies of: libignition-sensors3-depth-camera-dev
 2. Get dependencies of: libignition-sensors3-dev
 2. Get dependencies of: libignition-sensors3-gpu-lidar
 2. Get dependencies of: libignition-sensors3-gpu-lidar-dev
 2. Get dependencies of: libignition-sensors3-imu
 2. Get dependencies of: libignition-sensors3-imu-dev
 2. Get dependencies of: libignition-sensors3-lidar
 2. Get dependencies of: libignition-sensors3-lidar-dev
 2. Get dependencies of: libignition-sensors3-logical-camera
 2. Get dependencies of: libignition-sensors3-logical-camera-dev
 2. Get dependencies of: libignition-sensors3-magnetometer
 2. Get dependencies of: libignition-sensors3-magnetometer-dev
 2. Get dependencies of: libignition-sensors3-rendering
 2. Get dependencies of: libignition-sensors3-rendering-dev
 2. Get dependencies of: libignition-sensors3-rgbd-camera
 2. Get dependencies of: libignition-sensors3-rgbd-camera-dev
 2. Get dependencies of: libignition-sensors3-thermal-camera
 2. Get dependencies of: libignition-sensors3-thermal-camera-dev
 2. Get dependencies of: ignition-tools
 2. Get dependencies of: libignition-tools-dev
 2. Get dependencies of: libignition-transport8
 2. Get dependencies of: libignition-transport8-core-dev
 2. Get dependencies of: libignition-transport8-dbg
 2. Get dependencies of: libignition-transport8-dev
 2. Get dependencies of: libignition-transport8-log
 2. Get dependencies of: libignition-transport8-log-dev
 2. Get dependencies of: libsdformat9
 2. Get dependencies of: libsdformat9-dbg
 2. Get dependencies of: libsdformat9-dev
 2. Get dependencies of: sdformat9-doc
 2. Get dependencies of: sdformat9-sdf

 3. Found packages.osrfoundation.org package ignition-tools
 3. Found packages.osrfoundation.org package libdart6
 3. Found packages.osrfoundation.org package libdart6-collision-bullet
 3. Found packages.osrfoundation.org package libdart6-collision-bullet-dev
 3. Found packages.osrfoundation.org package libdart6-collision-ode
 3. Found packages.osrfoundation.org package libdart6-collision-ode-dev
 3. Found packages.osrfoundation.org package libdart6-dev
 3. Found packages.osrfoundation.org package libdart6-external-ikfast-dev
 3. Found packages.osrfoundation.org package libdart6-external-odelcpsolver
 3. Found packages.osrfoundation.org package libdart6-external-odelcpsolver-dev
 3. Found packages.osrfoundation.org package libdart6-utils
 3. Found packages.osrfoundation.org package libdart6-utils-dev
 3. Found packages.osrfoundation.org package libdart6-utils-urdf
 3. Found packages.osrfoundation.org package libdart6-utils-urdf-dev
 3. Found packages.osrfoundation.org package libignition-cmake2-dev
 3. Found packages.osrfoundation.org package libignition-common3
 3. Found packages.osrfoundation.org package libignition-common3-av
 3. Found packages.osrfoundation.org package libignition-common3-av-dev
 3. Found packages.osrfoundation.org package libignition-common3-core-dev
 3. Found packages.osrfoundation.org package libignition-common3-dev
 3. Found packages.osrfoundation.org package libignition-common3-events
 3. Found packages.osrfoundation.org package libignition-common3-events-dev
 3. Found packages.osrfoundation.org package libignition-common3-graphics
 3. Found packages.osrfoundation.org package libignition-common3-graphics-dev
 3. Found packages.osrfoundation.org package libignition-common3-profiler
 3. Found packages.osrfoundation.org package libignition-common3-profiler-dev
 3. Found packages.osrfoundation.org package libignition-fuel-tools4
 3. Found packages.osrfoundation.org package libignition-fuel-tools4-dev
 3. Found packages.osrfoundation.org package libignition-gazebo3
 3. Found packages.osrfoundation.org package libignition-gazebo3-dev
 3. Found packages.osrfoundation.org package libignition-gazebo3-plugins
 3. Found packages.osrfoundation.org package libignition-gui3
 3. Found packages.osrfoundation.org package libignition-gui3-dev
 3. Found packages.osrfoundation.org package libignition-launch2
 3. Found packages.osrfoundation.org package libignition-math6
 3. Found packages.osrfoundation.org package libignition-math6-dev
 3. Found packages.osrfoundation.org package libignition-math6-eigen3-dev
 3. Found packages.osrfoundation.org package libignition-msgs5
 3. Found packages.osrfoundation.org package libignition-msgs5-dev
 3. Found packages.osrfoundation.org package libignition-physics2
 3. Found packages.osrfoundation.org package libignition-physics2-core-dev
 3. Found packages.osrfoundation.org package libignition-physics2-dartsim
 3. Found packages.osrfoundation.org package libignition-physics2-dartsim-dev
 3. Found packages.osrfoundation.org package libignition-physics2-dev
 3. Found packages.osrfoundation.org package libignition-physics2-mesh-dev
 3. Found packages.osrfoundation.org package libignition-physics2-sdf-dev
 3. Found packages.osrfoundation.org package libignition-plugin
 3. Found packages.osrfoundation.org package libignition-plugin-dev
 3. Found packages.osrfoundation.org package libignition-rendering3
 3. Found packages.osrfoundation.org package libignition-rendering3-core-dev
 3. Found packages.osrfoundation.org package libignition-rendering3-dev
 3. Found packages.osrfoundation.org package libignition-rendering3-ogre1
 3. Found packages.osrfoundation.org package libignition-rendering3-ogre1-dev
 3. Found packages.osrfoundation.org package libignition-rendering3-ogre2
 3. Found packages.osrfoundation.org package libignition-rendering3-ogre2-dev
 3. Found packages.osrfoundation.org package libignition-sensors3
 3. Found packages.osrfoundation.org package libignition-sensors3-air-pressure
 3. Found packages.osrfoundation.org package libignition-sensors3-air-pressure-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-altimeter
 3. Found packages.osrfoundation.org package libignition-sensors3-altimeter-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-camera
 3. Found packages.osrfoundation.org package libignition-sensors3-camera-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-core-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-depth-camera
 3. Found packages.osrfoundation.org package libignition-sensors3-depth-camera-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-gpu-lidar
 3. Found packages.osrfoundation.org package libignition-sensors3-gpu-lidar-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-imu
 3. Found packages.osrfoundation.org package libignition-sensors3-imu-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-lidar
 3. Found packages.osrfoundation.org package libignition-sensors3-lidar-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-logical-camera
 3. Found packages.osrfoundation.org package libignition-sensors3-logical-camera-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-magnetometer
 3. Found packages.osrfoundation.org package libignition-sensors3-magnetometer-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-rendering
 3. Found packages.osrfoundation.org package libignition-sensors3-rendering-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-rgbd-camera
 3. Found packages.osrfoundation.org package libignition-sensors3-rgbd-camera-dev
 3. Found packages.osrfoundation.org package libignition-sensors3-thermal-camera
 3. Found packages.osrfoundation.org package libignition-sensors3-thermal-camera-dev
 3. Found packages.osrfoundation.org package libignition-tools-dev
 3. Found packages.osrfoundation.org package libignition-transport8
 3. Found packages.osrfoundation.org package libignition-transport8-core-dev
 3. Found packages.osrfoundation.org package libignition-transport8-dev
 3. Found packages.osrfoundation.org package libignition-transport8-log
 3. Found packages.osrfoundation.org package libignition-transport8-log-dev
 3. Found packages.osrfoundation.org package libogre-2.1
 3. Found packages.osrfoundation.org package libogre-2.1-dev
 3. Found packages.osrfoundation.org package libsdformat9
 3. Found packages.osrfoundation.org package libsdformat9-dev
 3. Found packages.osrfoundation.org package sdformat9-sdf

LIST OF PACKAGES:
 ignition-tools libdart6 libdart6-collision-bullet libdart6-collision-bullet-dev libdart6-collision-ode libdart6-collision-ode-dev libdart6-dev libdart6-external-ikfast-dev libdart6-external-odelcpsolver libdart6-external-odelcpsolver-dev libdart6-utils libdart6-utils-dev libdart6-utils-urdf libdart6-utils-urdf-dev libignition-cmake2-dev libignition-common3 libignition-common3-av libignition-common3-av-dev libignition-common3-core-dev libignition-common3-dev libignition-common3-events libignition-common3-events-dev libignition-common3-graphics libignition-common3-graphics-dev libignition-common3-profiler libignition-common3-profiler-dev libignition-fuel-tools4 libignition-fuel-tools4-dev libignition-gazebo3 libignition-gazebo3-dev libignition-gazebo3-plugins libignition-gui3 libignition-gui3-dev libignition-launch2 libignition-math6 libignition-math6-dev libignition-math6-eigen3-dev libignition-msgs5 libignition-msgs5-dev libignition-physics2 libignition-physics2-core-dev libignition-physics2-dartsim libignition-physics2-dartsim-dev libignition-physics2-dev libignition-physics2-mesh-dev libignition-physics2-sdf-dev libignition-plugin libignition-plugin-dev libignition-rendering3 libignition-rendering3-core-dev libignition-rendering3-dev libignition-rendering3-ogre1 libignition-rendering3-ogre1-dev libignition-rendering3-ogre2 libignition-rendering3-ogre2-dev libignition-sensors3 libignition-sensors3-air-pressure libignition-sensors3-air-pressure-dev libignition-sensors3-altimeter libignition-sensors3-altimeter-dev libignition-sensors3-camera libignition-sensors3-camera-dev libignition-sensors3-core-dev libignition-sensors3-depth-camera libignition-sensors3-depth-camera-dev libignition-sensors3-dev libignition-sensors3-gpu-lidar libignition-sensors3-gpu-lidar-dev libignition-sensors3-imu libignition-sensors3-imu-dev libignition-sensors3-lidar libignition-sensors3-lidar-dev libignition-sensors3-logical-camera libignition-sensors3-logical-camera-dev libignition-sensors3-magnetometer libignition-sensors3-magnetometer-dev libignition-sensors3-rendering libignition-sensors3-rendering-dev libignition-sensors3-rgbd-camera libignition-sensors3-rgbd-camera-dev libignition-sensors3-thermal-camera libignition-sensors3-thermal-camera-dev libignition-tools-dev libignition-transport8 libignition-transport8-core-dev libignition-transport8-dev libignition-transport8-log libignition-transport8-log-dev libogre-2.1 libogre-2.1-dev libsdformat9 libsdformat9-dev sdformat9-sdf 
Example of execution on my Ubuntu Focal docker:
This tool reads a gazebodistro file and looks in the system for
all available pkgs corresponding to that distro file

 1. Getting packages using: ignition-cmake2
 1. Getting packages using: ignition-common3
 1. Getting packages using: ignition-fuel-tools4
 1. Getting packages using: ignition-gazebo3
 1. Getting packages using: ignition-gui3
 1. Getting packages using: ignition-launch2
 1. Getting packages using: ignition-math6
 1. Getting packages using: ignition-msgs5
 1. Getting packages using: ignition-physics2
 1. Getting packages using: ignition-plugin1
 1. Getting packages using: ignition-rendering3
 1. Getting packages using: ignition-sensors3
 1. Getting packages using: ignition-tools1
 1. Getting packages using: ignition-transport8
 1. Getting packages using: sdformat9

 2. Get dependencies of: libignition-cmake2-dev
 2. Get dependencies of: libignition-common3
 2. Get dependencies of: libignition-common3-av
 2. Get dependencies of: libignition-common3-av-dev
 2. Get dependencies of: libignition-common3-core-dev
 2. Get dependencies of: libignition-common3-dev
 2. Get dependencies of: libignition-common3-events
 2. Get dependencies of: libignition-common3-events-dev
 2. Get dependencies of: libignition-common3-graphics
 2. Get dependencies of: libignition-common3-graphics-dev
 2. Get dependencies of: libignition-common3-profiler
 2. Get dependencies of: libignition-common3-profiler-dev
 2. Get dependencies of: libignition-fuel-tools4
 2. Get dependencies of: libignition-fuel-tools4-dev
 2. Get dependencies of: libignition-gazebo3
 2. Get dependencies of: libignition-gazebo3-dbg
 2. Get dependencies of: libignition-gazebo3-dev
 2. Get dependencies of: libignition-gazebo3-plugins
 2. Get dependencies of: libignition-gui3
 2. Get dependencies of: libignition-gui3-dev
 2. Get dependencies of: libignition-launch2
 2. Get dependencies of: libignition-launch2-dev
 2. Get dependencies of: libignition-math6
 2. Get dependencies of: libignition-math6-dbg
 2. Get dependencies of: libignition-math6-dev
 2. Get dependencies of: libignition-math6-eigen3-dev
 2. Get dependencies of: libignition-msgs5
 2. Get dependencies of: libignition-msgs5-dev
 2. Get dependencies of: libignition-physics2
 2. Get dependencies of: libignition-physics2-core-dev
 2. Get dependencies of: libignition-physics2-dartsim
 2. Get dependencies of: libignition-physics2-dartsim-dev
 2. Get dependencies of: libignition-physics2-dev
 2. Get dependencies of: libignition-physics2-mesh-dev
 2. Get dependencies of: libignition-physics2-sdf-dev
 2. Get dependencies of: libignition-plugin
 2. Get dependencies of: libignition-plugin-dbg
 2. Get dependencies of: libignition-plugin-dev
 2. Get dependencies of: libignition-rendering3
 2. Get dependencies of: libignition-rendering3-core-dev
 2. Get dependencies of: libignition-rendering3-dev
 2. Get dependencies of: libignition-rendering3-ogre1
 2. Get dependencies of: libignition-rendering3-ogre1-dev
 2. Get dependencies of: libignition-rendering3-ogre2
 2. Get dependencies of: libignition-rendering3-ogre2-dev
 2. Get dependencies of: libignition-sensors3
 2. Get dependencies of: libignition-sensors3-air-pressure
 2. Get dependencies of: libignition-sensors3-air-pressure-dev
 2. Get dependencies of: libignition-sensors3-altimeter
 2. Get dependencies of: libignition-sensors3-altimeter-dev
 2. Get dependencies of: libignition-sensors3-camera
 2. Get dependencies of: libignition-sensors3-camera-dev
 2. Get dependencies of: libignition-sensors3-core-dev
 2. Get dependencies of: libignition-sensors3-depth-camera
 2. Get dependencies of: libignition-sensors3-depth-camera-dev
 2. Get dependencies of: libignition-sensors3-dev
 2. Get dependencies of: libignition-sensors3-gpu-lidar
 2. Get dependencies of: libignition-sensors3-gpu-lidar-dev
 2. Get dependencies of: libignition-sensors3-imu
 2. Get dependencies of: libignition-sensors3-imu-dev
 2. Get dependencies of: libignition-sensors3-lidar
 2. Get dependencies of: libignition-sensors3-lidar-dev
 2. Get dependencies of: libignition-sensors3-logical-camera
 2. Get dependencies of: libignition-sensors3-logical-camera-dev
 2. Get dependencies of: libignition-sensors3-magnetometer
 2. Get dependencies of: libignition-sensors3-magnetometer-dev
 2. Get dependencies of: libignition-sensors3-rendering
 2. Get dependencies of: libignition-sensors3-rendering-dev
 2. Get dependencies of: libignition-sensors3-rgbd-camera
 2. Get dependencies of: libignition-sensors3-rgbd-camera-dev
 2. Get dependencies of: libignition-sensors3-thermal-camera
 2. Get dependencies of: libignition-sensors3-thermal-camera-dev
 2. Get dependencies of: ignition-tools
 2. Get dependencies of: libignition-tools-dev
 2. Get dependencies of: libignition-transport8
 2. Get dependencies of: libignition-transport8-core-dev
 2. Get dependencies of: libignition-transport8-dbg
 2. Get dependencies of: libignition-transport8-dev
 2. Get dependencies of: libignition-transport8-log
 2. Get dependencies of: libignition-transport8-log-dev
 2. Get dependencies of: libsdformat9
 2. Get dependencies of: libsdformat9-dbg
 2. Get dependencies of: libsdformat9-dev
 2. Get dependencies of: sdformat9-doc
 2. Get dependencies of: sdformat9-sdf

 3. Found missing package ignition-tools


 3. Found missing package libignition-common3
 3. Found missing package libignition-common3-av
 3. Found missing package libignition-common3-av-dev
 3. Found missing package libignition-common3-core-dev
 3. Found missing package libignition-common3-dev
 3. Found missing package libignition-common3-events
 3. Found missing package libignition-common3-events-dev
 3. Found missing package libignition-common3-graphics
 3. Found missing package libignition-common3-graphics-dev
 3. Found missing package libignition-common3-profiler
 3. Found missing package libignition-common3-profiler-dev
 3. Found missing package libignition-fuel-tools4
 3. Found missing package libignition-fuel-tools4-dev
 3. Found missing package libignition-gazebo3
 3. Found missing package libignition-gazebo3-dev
 3. Found missing package libignition-gazebo3-plugins
 3. Found missing package libignition-gui3
 3. Found missing package libignition-gui3-dev
 3. Found missing package libignition-launch2
 3. Found missing package libignition-math6
 3. Found missing package libignition-math6-dev
 3. Found missing package libignition-math6-eigen3-dev
 3. Found missing package libignition-msgs5
 3. Found missing package libignition-msgs5-dev
 3. Found missing package libignition-physics2
 3. Found missing package libignition-physics2-core-dev
 3. Found missing package libignition-physics2-dartsim
 3. Found missing package libignition-physics2-dartsim-dev
 3. Found missing package libignition-physics2-dev
 3. Found missing package libignition-physics2-mesh-dev
 3. Found missing package libignition-physics2-sdf-dev
 3. Found missing package libignition-plugin
 3. Found missing package libignition-plugin-dev
 3. Found missing package libignition-rendering3
 3. Found missing package libignition-rendering3-core-dev
 3. Found missing package libignition-rendering3-dev
 3. Found missing package libignition-rendering3-ogre1
 3. Found missing package libignition-rendering3-ogre1-dev
 3. Found missing package libignition-rendering3-ogre2
 3. Found missing package libignition-rendering3-ogre2-dev
 3. Found missing package libignition-sensors3
 3. Found missing package libignition-sensors3-air-pressure
 3. Found missing package libignition-sensors3-air-pressure-dev
 3. Found missing package libignition-sensors3-altimeter
 3. Found missing package libignition-sensors3-altimeter-dev
 3. Found missing package libignition-sensors3-camera
 3. Found missing package libignition-sensors3-camera-dev
 3. Found missing package libignition-sensors3-core-dev
 3. Found missing package libignition-sensors3-depth-camera
 3. Found missing package libignition-sensors3-depth-camera-dev
 3. Found missing package libignition-sensors3-dev
 3. Found missing package libignition-sensors3-gpu-lidar
 3. Found missing package libignition-sensors3-gpu-lidar-dev
 3. Found missing package libignition-sensors3-imu
 3. Found missing package libignition-sensors3-imu-dev
 3. Found missing package libignition-sensors3-lidar
 3. Found missing package libignition-sensors3-lidar-dev
 3. Found missing package libignition-sensors3-logical-camera
 3. Found missing package libignition-sensors3-logical-camera-dev
 3. Found missing package libignition-sensors3-magnetometer
 3. Found missing package libignition-sensors3-magnetometer-dev
 3. Found missing package libignition-sensors3-rendering
 3. Found missing package libignition-sensors3-rendering-dev
 3. Found missing package libignition-sensors3-rgbd-camera
 3. Found missing package libignition-sensors3-rgbd-camera-dev
 3. Found missing package libignition-sensors3-thermal-camera
 3. Found missing package libignition-sensors3-thermal-camera-dev
 3. Found missing package libignition-tools-dev
 3. Found missing package libignition-transport8
 3. Found missing package libignition-transport8-core-dev
 3. Found missing package libignition-transport8-dev
 3. Found missing package libignition-transport8-log
 3. Found missing package libignition-transport8-log-dev
 3. Found missing package libogre-2.1
 3. Found missing package libogre-2.1-dev
 3. Found missing package libsdformat9
 3. Found missing package libsdformat9-dev
 3. Found missing package sdformat9-sdf

LIST OF PACKAGES:
 ignition-tools libignition-common3 libignition-common3-av libignition-common3-av-dev libignition-common3-core-dev libignition-common3-dev libignition-common3-events libignition-common3-events-dev libignition-common3-graphics libignition-common3-graphics-dev libignition-common3-profiler libignition-common3-profiler-dev libignition-fuel-tools4 libignition-fuel-tools4-dev libignition-gazebo3 libignition-gazebo3-dev libignition-gazebo3-plugins libignition-gui3 libignition-gui3-dev libignition-launch2 libignition-math6 libignition-math6-dev libignition-math6-eigen3-dev libignition-msgs5 libignition-msgs5-dev libignition-physics2 libignition-physics2-core-dev libignition-physics2-dartsim libignition-physics2-dartsim-dev libignition-physics2-dev libignition-physics2-mesh-dev libignition-physics2-sdf-dev libignition-plugin libignition-plugin-dev libignition-rendering3 libignition-rendering3-core-dev libignition-rendering3-dev libignition-rendering3-ogre1 libignition-rendering3-ogre1-dev libignition-rendering3-ogre2 libignition-rendering3-ogre2-dev libignition-sensors3 libignition-sensors3-air-pressure libignition-sensors3-air-pressure-dev libignition-sensors3-altimeter libignition-sensors3-altimeter-dev libignition-sensors3-camera libignition-sensors3-camera-dev libignition-sensors3-core-dev libignition-sensors3-depth-camera libignition-sensors3-depth-camera-dev libignition-sensors3-dev libignition-sensors3-gpu-lidar libignition-sensors3-gpu-lidar-dev libignition-sensors3-imu libignition-sensors3-imu-dev libignition-sensors3-lidar libignition-sensors3-lidar-dev libignition-sensors3-logical-camera libignition-sensors3-logical-camera-dev libignition-sensors3-magnetometer libignition-sensors3-magnetometer-dev libignition-sensors3-rendering libignition-sensors3-rendering-dev libignition-sensors3-rgbd-camera libignition-sensors3-rgbd-camera-dev libignition-sensors3-thermal-camera libignition-sensors3-thermal-camera-dev libignition-tools-dev libignition-transport8 libignition-transport8-core-dev libignition-transport8-dev libignition-transport8-log libignition-transport8-log-dev libogre-2.1 libogre-2.1-dev libsdformat9 libsdformat9-dev sdformat9-sdf 

Copy link

@nuclearsandwich nuclearsandwich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a few review comments after discovering this PR but started a duplicate effort recently in ros-infrastructure/reprepro-updater#144

I mention a few pros/cons of our two approaches in that discussion and before doing a more thorough review here would like to decide with you which PR to use as a basis for our combined efforts.

{
local string=${1}

sed 's/ /\n/g' <<< $string | sort | uniq | tr '\n' ' '

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm pretty sure that sort -u is POSIX and that cuts out a pipeline step.

Suggested change
sed 's/ /\n/g' <<< $string | sort | uniq | tr '\n' ' '
sed 's/ /\n/g' <<< $string | sort -u | tr '\n' ' '

echo "all available pkgs corresponding to that distro file"
echo

BRANCH_NAMES=$(grep version: ${GAZEBO_DISTRO} | awk '{ print $2 }')

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eliminate a pipeline step by having awk only print on matching lines.

Suggested change
BRANCH_NAMES=$(grep version: ${GAZEBO_DISTRO} | awk '{ print $2 }')
BRANCH_NAMES=$(awk '/version:/ { print $2 }' < ${GAZEBO_DISTRO})

mad_output=$(apt-cache madison ${new_pkg})
# skip purely virtual
[[ ${mad_output} == "" ]] && continue
if [[ -z $(grep 'packages.ros.org\|archive.ubuntu.com' <<< ${mad_output}) ]]; then

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this line indicating?

If we're looking for packages that are sourced from the packages.osrfoundation.org repositories does it make sense to match packages.osrfoundation.org positively rather than assume packages not from packages.ros.org or archive.ubuntu.com are needed?

Since I don't have a coherent Ubuntu workstation with all three repositories configured I can't easily experiment with this during review.

iche033 pushed a commit that referenced this pull request Nov 14, 2022
* Add workflow for macos-latest
* Set test env to help find plugins

This fixes tests on macOS and windows that were failing to
find and/or load a sensor component library.

In windows CI and the macOS workflow (which runs `make test`
before `make install`) tests were failing with
the message "Unable to find sensor plugin path".
This is fixed by setting the IGN_PLUGIN_PATH in cmake to
the build folder containing the compiled plugins.

In the macOS jenkins build (which runs `make test` after
`make install`) tests were failing with the message
"SDF sensor type does not match template type". It was
difficult to track down, but it appears to be caused by
a failure to properly dlopen all the shared libraries
linked by the component plugins when a test finds an
installed component library, rather than one from the build
folder. It is fixed by setting DYLD_LIBRARY_PATH to include
the location of the installed libraries.

Fixes #4.

* Remove redundant AddPluginPaths calls from tests

They don't work on windows, so just depend on the
environment variables set in cmake instead.

Signed-off-by: Steve Peters <[email protected]>
iche033 pushed a commit that referenced this pull request Nov 14, 2022
Fix macOS/windows tests that failed to load library (#60)

* Add workflow for macos-latest
* Set test env to help find plugins

This fixes tests on macOS and windows that were failing to
find and/or load a sensor component library.

In windows CI and the macOS workflow (which runs `make test`
before `make install`) tests were failing with
the message "Unable to find sensor plugin path".
This is fixed by setting the IGN_PLUGIN_PATH in cmake to
the build folder containing the compiled plugins.

In the macOS jenkins build (which runs `make test` after
`make install`) tests were failing with the message
"SDF sensor type does not match template type". It was
difficult to track down, but it appears to be caused by
a failure to properly dlopen all the shared libraries
linked by the component plugins when a test finds an
installed component library, rather than one from the build
folder. It is fixed by setting DYLD_LIBRARY_PATH to include
the location of the installed libraries.

Fixes #4.

* Remove redundant AddPluginPaths calls from tests

They don't work on windows, so just depend on the
environment variables set in cmake instead.

Signed-off-by: Steve Peters <[email protected]>
iche033 pushed a commit that referenced this pull request Nov 14, 2022
* Prepare fo 3.2.0 release (#94)

Signed-off-by: Nate Koenig <[email protected]>

Co-authored-by: Nate Koenig <[email protected]>

* Backport #60 from ign-sensors4

Fix macOS/windows tests that failed to load library (#60)

* Add workflow for macos-latest
* Set test env to help find plugins

This fixes tests on macOS and windows that were failing to
find and/or load a sensor component library.

In windows CI and the macOS workflow (which runs `make test`
before `make install`) tests were failing with
the message "Unable to find sensor plugin path".
This is fixed by setting the IGN_PLUGIN_PATH in cmake to
the build folder containing the compiled plugins.

In the macOS jenkins build (which runs `make test` after
`make install`) tests were failing with the message
"SDF sensor type does not match template type". It was
difficult to track down, but it appears to be caused by
a failure to properly dlopen all the shared libraries
linked by the component plugins when a test finds an
installed component library, rather than one from the build
folder. It is fixed by setting DYLD_LIBRARY_PATH to include
the location of the installed libraries.

Fixes #4.

* Remove redundant AddPluginPaths calls from tests

They don't work on windows, so just depend on the
environment variables set in cmake instead.

Signed-off-by: Steve Peters <[email protected]>

* 👩‍🌾 Clear Windows warnings (backport #58) (#102)

Signed-off-by: Louise Poubel <[email protected]>

Co-authored-by: Alejandro Hernández Cordero <[email protected]>

* Master branch updates (#106)

Signed-off-by: Louise Poubel <[email protected]>

Co-authored-by: Nate Koenig <[email protected]>
Co-authored-by: Nate Koenig <[email protected]>
Co-authored-by: Steve Peters <[email protected]>
Co-authored-by: Alejandro Hernández Cordero <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants