How to setup bloom to generate a local deb, outside of ros.org buildfarm
Hi. This question is related to this one: http://answers.ros.org/question/17380...
Basically, what we need to do is to provide our ros packages to project partners and clients. But we do not want to distribute the source code for some of the nodes (some yes, and some no). And we don’t want either to appear yet in the official ROS buildfarm/jenkins/repo for project confidentiality required by some clients. And we will want in the future to add obfuscation of python code and license management for C++ code with LMX for example...
So we’ve been digging around the ROS release process. But things are not really clear to us yet.
Would you know how to do, or how would you advise us to do in order to generate such installers so that our clients can easily install it and that we can check release numbers, and send only compiled code. I think there are 2 ways:
The “easier” but not sure if it works well: generate a tar.gz of the catkin workspace after having cleaned it from source code…. Do you have experience on this? Do we need to remove the devel folder? if we remove the src folder this doesn't work, do we need to leave at least the config and lanch files? more?... Is this documented somewhere? Maybe we need to compile catkin with release flag?
The more complex but cleaner and more long-term: generating a debian and putting it on a server. I’ve seen that we can use Bloom to generate a debian automatically in GitHub. And then there is pull generated to populate the ROS buildfarm…
- But then, where is it compiled? In local? By github? By ros.org?
- How can we specify/include in the debian only compiled code and not source code? (or a mix)
- Can we generate only one debian for a metapackage? or will we have to generate as many .debs as packages?
- Do you know how to disable this pull to ros.org? and to github (or how to configure the deb to be generated on our git server?)
- If we don’t publish it on ros.org , can we still get the track feature to manage release version and tags etc…
If/when we'll have generated the .deb, what kind of server would we need to implement to get a private server to be able to run apt-get? (or any similar method) Might PPA be the solution? Or can one call an apt-get on a private git server since the release debian will be there?
And finally, how/where does the obfuscation popsup in this process?
Thanks in advance for any advice and guidelines. You will have understood that we know more or less what we want, but have little idea of the available options and how to implement this... what a program :-)
For the question point 2, for a first package that in particular defines its own services, we ...
@Damien I haven't forgotten about this, I'm at ROSCon right now, so it might be a few days before I get to this. Sorry!