Background:
I'm planning to create a ROS node that requires a proprietary library. The library, and associated header file, is only available as either a ZIP archive via HTTP or as Debian binary packages from a PPA, not from the Ubuntu repositories. The company distributing the library currently only has x86_64 packages for Ubuntu 14.04, Ubuntu 16.04 and Debian Jessie.
My goal would be to release this ROS node via the ROS Build Farm so that the package is automatically available via the ROS repositories, but I'm beginning to think that this might not be possible.
Reading through Answers.ros.org, I found the ROS Build Farm doesn't allow the inclusion of arbitrary PPAs or Debian repositories, so I can't use their PPA during the build process. I completely understand and agree with this security concern.
The license in the header file included with the library states that the software can not be redistributed, so I can't just include the library and header file in my own Git repository along with my source code.
Even if I used CMake rules to pull the zip file before building the workspace, that would only enable the build on the ROS Build Farm server; I still can't include that binary library in the Debian package or I would be in violation of the redistribution of the library. Leaving the library out of the package is a no-go because I can't create a ROS Dependency to resolve and install the library from either Ubuntu or ROS repositories.
Question(s):
Are there any existing ROS packages being built in the ROS Build Farm that use a proprietary library?
Is there a way forward using the ROS Build Farm? Or will I be stuck creating my own PPA for distributing the package and then require my users to enable both the proprietary PPA and my PPA to install and use the package?
Any advice appreciated.
Originally posted by mdhorn on ROS Answers with karma: 67 on 2016-10-21
Post score: 2
Original comments
Comment by gvdhoorn on 2016-10-24:
Not a complete answer, but the pointgrey_camera_driver seems to be doing something like that, and it is released through the buildfarm. Not sure doing it like that pkg does it still recommended though.
Comment by gvdhoorn on 2016-10-24:
See these lines in pointgrey_camera_driver/CMakeLists.txt
for how they handle it.
Comment by gvdhoorn on 2016-10-24:
It would appear though that the Pointgrey SDK does allow distributing some of the libraries, which might make that approach unusable for you: here.