danfis / libccd

Library for collision detection between two convex shapes
Other
478 stars 108 forks source link

Submit libccd to debian distribution #6

Closed j-rivero closed 10 years ago

j-rivero commented 10 years ago

Hello:

At OSRF and GATech we are working into releasing DART software for different ubuntu platforms. DART depends on libccd so we need to package it as well. Let me ask some questions:

Thanks very much.

danfis commented 10 years ago

Hi, I'm glad you found out libccd useful for your project.

  1. libccd is currently not actively developed -- meaning, nobody is working on new features. On the other hand, bugs are fixed, so the library is maintained (altough not much bugs were found so far).
  2. I haven't worked on .deb package, but I think there is a package in Fedora. I think this is where all the cmake stuff came from.
  3. I will accept your changes needed for building deb package. However, I would prefer changes as small as possible. Try to look at cmake, I think it can be used for building deb package as well. If it cannot be used, please let me know why. When you post pull request I think I can merge it in terms of days.

Cheers, Dan

j-rivero commented 10 years ago

Hey Daniel:

Thanks very much for the information. I was planning on sending a pull request probably quite similar than the one I did for the friends of simbody. I can restrict my work to debian/ directory if your prefer not to touch the current CMake files.

Jose.

danfis commented 10 years ago

Thu, Oct 31, 2013 at 06:19:10PM CET, notifications@github.com napsal(a):

Hey Daniel:

Thanks very much for the information. I was planning on sending a pull request probably quite similar than the one I did for the friends of simbody. I can restrict my work to debian/ directory if your prefer not to touch the current CMake files. The patch you refer to seems OK to me and the changes in cmake made there are alredy present in the current cmake file. Or at least it seems to me it is -- I'm not expert ;). So, send the pull request and I will accept it as it is or we will start from there and modify it to a form acceptable for both of us.

Dan

Jose.


Reply to this email directly or view it on GitHub: https://github.com/danfis/libccd/issues/6#issuecomment-27506297

j-rivero commented 10 years ago

Some updates:

I'm thinking on sending the package into debian since there are different libraries and applications using it: gazebo, DART, parts of ROS, etc. if we are going to send it to debian, releases should take care of keep the ABI/API stable or bumping the soname/version according.

danfis commented 10 years ago

Hi Jose, any news? Do you still plan to include debian build chain into libbccd or you want keep it separately? I have seen the changes in your fork and it all seems ok to me, but I haven't recieved a pull request...

Dan

j-rivero commented 10 years ago

Hey Dan:

Submit libccd to debian is still in my plans, indeed. Sorry I've been busy with some other robotics packages that also compose a base of dependencies used by some others.

I believe that most of the work is done, but I still have my question about the ABI/API stability pending. Let me ask it again: how are the changes that break ABI or API going to affect the bump of the version numbers (major.minor.patch) in libccd? Are you planning on bumping major or bump minor is fine for you with this changes? I need to know to this to properly package the software.

Thanks for the reminder Dan, and happy new year :)

danfis commented 10 years ago

Ok, no problem. Just send pull request when it is ready.

Regarding API/ABI. Currently I use very relaxed rule for changing version numbers. I have only major.minor and I change major in case of "major" changes and minor in all other cases ;-). But I think I can set up simple rule of changing major number in case of changing ABI and change minor otherwise. Would that be ok? If so, I will check the code and its history and find out which ABI version is correct right now and release a new version of libccd accordingly. I have to also check with the Fedora package...

Anyway, I think you made a good point. Maybe it is time to somehow unify all build chains that libccd contains (it contains pure Makefile, autoconf/automake and cmake, because of different projects that use it)...

Thanks and let me know once you have prepared a patch or if you need anything. Cheers Dan

j-rivero commented 10 years ago

Perfect Dan.

The simple policy about changing major in presence of an ABI/API breakage looks perfect to me. Remember that ABI is really easy to break (lot of people don't really know about it). My document of reference for this case is: KDE Binary Compatability, maybe can help you as well.

About including the debian package information (the famous debian/ directory) into your code base, the debian folks explained me that this is not the best practice. They prefer to keep a repository under debian-science which host this kind of information (together with project code in use by debian) and recommend to leave the upstream code (libccd) free of debian directory or debian metadata. Sounds reasonable to me.

I will let you know as soon as I have the debian repository for libccd ready and submit the first intent of get it into debian. I believe that I only need you to release a new version, and take care of keeping the ABI in relationship with the version (which is enough work).

Thanks for all, Dan.

j-rivero commented 10 years ago

We have sent the libccd package to Debian today. It still needs to go through a final revision (the called NEW Queue) and once accepted will automatically synced from Ubuntu. It will be available in Debian SID and Ubuntu-U (next to Trusty).

danfis commented 10 years ago

Hello Jose, these are good news.

I have merged your changes regarding cmake and hopefuly resolved problem with the pdf file. Moreover, I have cleaned up src/ccd directory to contain only API header files. The header files, I need only internally, were moved to src/ directory. This should clean up -dev package. Finally, I released version 2.0, which is also in sync with SO version, i.e., major version is from now on also the ABI/API version.

Thanks and let me know if you need any assitance from me. Cheers, Dan

j-rivero commented 10 years ago

Oh, great news, thanks for the work.

I will import the new 2.0 version and resubmit it. All the changes are a big improvement to handle things in debian. I will let you know when we have the package uploaded.

j-rivero commented 10 years ago

Congrats, the software is an official package of Debian.

danfis commented 10 years ago

Thanks for you effort. Great work!