On Wed, Jul 25, 2012 at 6:07 AM, Jack O'Quin <jack.oquin@gmail.com> wrote:
On Tue, Jul 24, 2012 at 7:01 PM, Dirk Thomas <dthomas@willowgarage.com> wrote:
> On 24.07.2012 15:38, Jack O'Quin wrote:
>>
>> On Tue, Jul 24, 2012 at 5:15 PM, Dirk Thomas <dthomas@willowgarage.com>
>> wrote:
>>
>>> For the dry world all artifacts are deployed under the package name.
>>> In a wet-only world I would expect that all artifacts of a stack should
>>> reside under a folder named after the stack.
>>
>> Why do you want to change that?
> It comes down to the question if the future catkin-only world will haveIn ROS, stacks are the unit of release and installation, very
> anything like a package (and manifest.xml files).
> If argued yes:
> - what is it used for?
> - why is it needed (besides stacks)?
important in the build system. Packages are the unit of interface
definition and inter-component dependencies. Moving a package from one
ROS stack to another is trivially easy. Moving an interface to a
different package affects *every* other program that depends on it.
For example, ROS programs that depend on sensor_msgs/LaserScan do it like this:
* #include <sensor_msgs/LaserScan.h>
* from sensor_msgs.msg import LaserScan
Every launch script executes nodes relative to their containing
packages. Messages frequently contain other messages defined by other
packages.
There are about 4000 ROS packages listed on the wiki under "Browse
Software"; many more that are not indexed. Every one of them provides
interfaces relative to the package name and depends on core ROS
package interfaces. That includes the "wet" stacks and packages that
have already been ported to catkin.
Your proposal implies that every single program must be modified in
Groovy to use common_msgs/LaserScan, instead. Surely that is not your
intent.
> (Obviously my opinion is that packages a on-standard way - so for a CMakeCatkin is not the world. The ROS repository federation is the world.
> based buildsystem like catkin I would vote for not having a notion of
> packages for wet-only)
>
> If no, shouldn't the deployment folder than be renamed to be the stack name?
>
> Please think about how a catkin-only world should look like and reply your
> opinions - I am looking forward for any feedback!
Catkin is a build system.
I was assuming the catkin conversion would only affect build files.
You are proposing that every existing ROS source interface be changed.
Who would do all that work? And, why?
as a result: rosbuild implicitly adds compile and link flags based on package dependency information; catkin requires you to add them explicitly