On Wed, 2013-07-24 at 08:55 -0400, Rich Mattes wrote:
On Wed, Jul 24, 2013 at 4:04 AM, Ankur Sinha sanjay.ankur@gmail.com wrote: Hi,
So I tried to build rpms for groovy by downloading the entire source at once and letting catkin make it all, as documented here[1]. It doesn't work. I'm not surprised. A few things:
Are you targeting /usr or /opt as your installation point?
I just followed the docs blindly, so /opt.
1. The --install-space /opt/... suggestion won't work with mock, since catkin uses this in all the setup scripts. So, the setup.sh files have $RPM_BUILD_ROOT in them. I'm considering filing a bug requesting them to provide a different --root option (like every other build system does!) This link will only work when building manually with root permissions. It isn't going to work for a system wide installation, and it certainly cannot be converted to a spec file.
I did at one point get some of the groovy packages spec-ified and built as RPMs installing to /usr, including catkin. I will try to dig up the specs and upload them to my fedorapeople account. I don't remember many of the details off the top of my head, but I will let you know when I reacquaint myself with that effort.
That'd be great. :)
2. Seeing that this method isn't going to work, I dug up on catkin a little more and found that one can actually bootstrap it all from source[2][3]. I'll give this a try today and tomorrow and see if I can "spec-ify" it. The catkin package in Fedora appears to be missing some stuff though: like the catkin_init_workspace script. Rich, is this a matter of just updating the Fedora catkin package? Should I file a bug? We're carrying 0.4x and the latest seems to be 0.5+
The version of catkin does seem to be tied to the ROS release, at least for fuerte and groovy. So yes, we will need to update to catkin 0.5 when we want to shift to groovy. My plan was to do this for f20 and leave f19 and f18 on fuerte, and then put hydro on f21 after it's had a little while to stabilize.
Maybe it's time to start tracking groovy or hydro in a fedorapeople repo? That way, we don't pollute the official fedora repos with our "experiments"? It'll also make it clear that any files in the fedorapeople repo are completely in alpha state and may or may not work with official fedora repos?
I guess I was holding off on upgrading f20 until all of the fuerte base packages are done, but we can start working on it on the side without pushing any builds.
I'll see if I can get some help on the build-sys SIG about extending bloom to spew rpms. I think this needs to be dealt with once and for all.
Sounds good. I've been following that list for a little while, I'll chip in where I can.
Since posting, I've been reading on bloom, catkin and catkin_pkg. catkin_pkg is supposed to be a stand alone catkin python API and I expected catkin's methods available there to let me get info from the package.xml files. Doesn't seem to be the case though. (I was trying to see if I can find enough API to hack a packagexml2spec script since the package.xml file should contain all the dep info we need (or so I think)). Bloom is slightly more complex since it's really *tightly* integrated with git. Not sure how well it'll fit with just generating rpms, in mock etc. I'm still looking for docs on deploying bloom and using it to generate anything myself to get a better hang of how it works.
There's so much random documentation that I kinda keep getting confused. Lately, I found this which makes it feel like we can build each package from source manually:
http://ros.org/doc/api/catkin/html/adv_user_guide/underlay.html