What are practices for deploying robot-specific packages?
Tutorials on the wiki demonstrate how to create and work with packages within a catkin_workspace, but they don't show how to deploy the resulting robot-specific packages for the target robot.
As far as I understand the official guide for deployment is this bloom tutorial. It results in a .deb package ready for install on target machine. The guide however results in publishing the package on official ROS sites. I don't have a problem with that, but I don't think that's a correct way of deployment of robot-specific packages which contain code like button handlers, movement routines and stuff. I think releasing such modules this way would pollute package with useless crap. Am I right about this, or maybe I'm doing the packages wrong by creating packages specific to my usecase?
It looks like deployment should be done by recreating the catkin workspace on the target system. The workspace should contain a package which depends on packages neccesary to run the robot and have a roslaunch file which starts all the neccesary nodes. Are there ways to make that easier by packaging the workspace? Or maybe there are other ways to do this?