0
$\begingroup$

I want to have both a release and pre-release version of my ros pack installed on a robot, so I can easily change between them. my idea was to install the pre-release to a separate workspace in /opt/ros/pre-release and just source that workspace then I need the pre-release versions else the release version is installed under normal Ros. but I cannot seem to find a way to create a Debian package to be installed in a different location

I am running Ros noetic on Ubuntu

$\endgroup$

2 Answers 2

0
$\begingroup$

I think with debian packages this will be difficult, but maybe you could also do this with different workspaces? Or have the release as debian and the pre-release as workspace? Than you could source the workspace or not depending on if you want to use the release or pre-release packages.

$\endgroup$
1
  • $\begingroup$ the idea was to have the release and pre-release easy to change to and then a dev workspace for development, I dint want to make to many workspace if It would be possible to use a installed version also for easy update $\endgroup$ Feb 21 at 11:43
0
$\begingroup$

This looks like a nice setup for a containerized solution like docker. You will need to do a little bit of work to launch the containers so they have the necessary permissions for the hardware and network.

You can download a docker container from Docker Hub (https://hub.docker.com/u/osrf) if you want different ROS libraries as well as your own processes.

$\endgroup$
5
  • $\begingroup$ i cant use docker containers as we have limited space as it is and I think docker container's fill use to much storage space $\endgroup$ Feb 21 at 11:44
  • $\begingroup$ You say you need 2 copies of the ROS debs, which is going to be a problem if you don't have storage space. You could also consider a chroot environment. $\endgroup$
    – proan
    Feb 21 at 15:28
  • $\begingroup$ do have some extra storage space but I don't want multiple complete ROS environments but only multiple of the packages I develop myself $\endgroup$ Feb 22 at 9:07
  • $\begingroup$ Are all the packages you are looking to duplicate built from source? If so, @Lars' answer below is the way to go. Just remember to source the correct workspace when you open a new terminal. If not, you're looking at some sort of containerizing. $\endgroup$
    – proan
    Feb 22 at 15:34
  • $\begingroup$ If you want to use the same source but build with different options, you could probably set up multiple workspaces where the src/ directory is linked to one true source directory. Then you'd need to make sure no one ever does a --symlink-install during build. But this idea makes more sense if you have a CI system building your different versions and you just download and run the container with the built workspace. $\endgroup$
    – proan
    Feb 22 at 16:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.