Ask Your Question
0

Creating Packages of ros-<distro>-package_name type

asked 2016-11-01 18:57:54 -0500

Pototo gravatar image

Folks,

How do I convert my catking workspace in the equivalent of a, for instance, ros-indigo-openni2_camera type? By that I mean, how can I distribute my packages to other computers without having to share my code?

I want to have the same effect as when I do, for instance, sudo apt-get install ros-indigo-openni2-launch on my terminal.

Thanks.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2016-11-01 20:03:24 -0500

ajain gravatar image

Do catkin_make --install. This will create an install directory and put all your package binaries, launch files and config files in /lib and /share respectively. You can zip this install folder and unzip it in a different catkin workspace. Make sure you copy /lib into /opt/ros/lib and /share to /opt/ros/share.

edit flag offensive delete link more

Comments

seems like the "--" does not go before "install." What if I have personal ".txt" files I need to access? Will they also be installed inside the "install" folder?

Pototo gravatar image Pototo  ( 2016-11-01 20:22:10 -0500 )edit

Yes. You can install rules to copy any directory into your /share directory of install like this -

install(DIRECTORY launch/
  DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch)

This will copy all files inside /launch directory of your package to /share/<pkg_name>/launch .

ajain gravatar image ajain  ( 2016-11-02 00:02:31 -0500 )edit
2

answered 2016-11-01 19:03:08 -0500

ahendrix gravatar image

You can create debs (debain packages) for your package by releasing it to the ROS build farm with bloom.

This means that your source code will be public, and the ROS build farm will download your source code, build binary packages, and make them available through apt on the ROS apt repository.

If you want to keep your source code private you'll need to run your own build server and host your own apt repository.

edit flag offensive delete link more

Comments

Can I create the .deb s without putting it in github, just locally? Then send it to someone through email, or something. You know what I mean?

Pototo gravatar image Pototo  ( 2016-11-01 19:48:15 -0500 )edit

@ahendrix, better answer than the accepted one since OP asks for deb packages installed from apt repos.

Akif gravatar image Akif  ( 2016-11-02 03:42:18 -0500 )edit

@Pototo: bloom has a few assumptions about working with repositories on github, but you could just as easily use local git repositories on your machine and then build the deb locally.

ahendrix gravatar image ahendrix  ( 2016-11-02 11:11:07 -0500 )edit

I see. I'll try the local repositories

Pototo gravatar image Pototo  ( 2016-11-02 14:31:08 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2016-11-01 18:57:54 -0500

Seen: 103 times

Last updated: Nov 01 '16