On Tue, Jul 24, 2012 at 7:01 PM, Dirk Thomas wrote: > On 24.07.2012 15:38, Jack O'Quin wrote: >> >> On Tue, Jul 24, 2012 at 5:15 PM, Dirk Thomas >> 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 have > anything like a package (and manifest.xml files). > If argued yes: > - what is it used for? > - why is it needed (besides stacks)? In ROS, stacks are the unit of release and installation, very 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 * 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 CMake > 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 not the world. The ROS repository federation is the world. Catkin is a build system. If we are successful, the world will survive conversion to catkin, and to whatever eventually replaces catkin. 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? -- joq