danfis / libccd

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

New release? #42

Closed scpeters closed 5 years ago

scpeters commented 6 years ago

The last release v2.0 was made in March 2014. We recently realized that the wrong cmake parameter is being used in the libccd homebrew formulae ( https://github.com/flexible-collision-library/fcl/issues/291 and https://github.com/Homebrew/homebrew-core/pull/28434 ). The new parameter ENABLE_DOUBLE_PRECISION was being used, which is in the documentation and on the master branch, but is not yet released. I'm just checking to see if you are open to making another release so that released code will match the documentation.

Thanks!

j-rivero commented 5 years ago

Back to this we have some contributors interested into having a new release so we can propagate it to the main distributions. @danfis I can help with it if you don't have time.

danfis commented 5 years ago

I just added tag v2.1 after I added couple small fixes. Do you need something else from me in order to make new versions of packages?

j-rivero commented 5 years ago

I just added tag v2.1 after I added couple small fixes. Do you need something else from me in order to make new versions of packages?

I don't think so, thank you very much. Happy holidays

wxmerkt commented 5 years ago

Thank you very much! Would it be possible to get this new release into ROS @scpeters and @j-rivero?

j-rivero commented 5 years ago

Thank you very much! Would it be possible to get this new release into ROS @scpeters and @j-rivero?

ROS uses libccd directly from official packages distributions, mainly Debian and Ubuntu. 2.1 release is already in Debian Buster and unstable and Ubuntu synced from Debian and is present in Ubuntu Disco and future distributions. If the question is if we can see the release into already released distributions, that is going to be complicated given the rules of stability marked in Ubuntu/Debian.

wxmerkt commented 5 years ago

@j-rivero I thought that would be the answer. Is there an API/ABI breakage between 2.0 and 2.1 (I'd assume given that it's not 2.0.x)?

Would there be the possibility to get libccd-ros or similar in then (as done in the past when official packge distributions did not update)? This is a rather fundamental library and those fixes seem substantial to the stability of the computations performed.

j-rivero commented 5 years ago

@j-rivero I thought that would be the answer. Is there an API/ABI breakage between 2.0 and 2.1 (I'd assume given that it's not 2.0.x)?

I think that there are no ABI/API changes in the version bump.

Would there be the possibility to get libccd-ros or similar in then (as done in the past when official packge distributions did not update)? This is a rather fundamental library and those fixes seem substantial to the stability of the computations performed.

The option of packaging external libraries as ROS packages bring us many headaches in the future and in my opinion should be avoided. A less dangerous alternative would be to upload library packages to the ROS repo. For that, you will need to convince the ROS release managers since even bugfixes could be disruptive for current users.

wxmerkt commented 5 years ago

Thank you for the insights. If there are no ABI/API changes, could this package be released via the official Debian streams as 2.0.x for versions older than Debian Bounty/Ubuntu Disco [=> Ubuntu Bionic]? Or is "patched bugs" preventing a release via the Debian releases (e.g. as 2.0.1)?

A less dangerous alternative would be to upload library packages to the ROS repo. For that, you will need to convince the ROS release managers since even bugfixes could be disruptive for current users.

If I understand this correctly: this would involve placing the libccd-dev.deb for version 2.1 on the ROS repo to overwrite the system-provided 2.0?

j-rivero commented 5 years ago

If there are no ABI/API changes, could this package be released via the official Debian streams as 2.0.x for versions older than Debian Bounty/Ubuntu Disco [=> Ubuntu Bionic]? Or is "patched bugs" preventing a release via the Debian releases (e.g. as 2.0.1)?

The problem for getting updates into past releases of Ubuntu is that it is reserved for critical bugs and in my experience unless the package is completely broken it is really hard to get them in. The process is described here: https://wiki.ubuntu.com/StableReleaseUpdates

If I understand this correctly: this would involve placing the libccd-dev.deb for version 2.1 on the ROS repo to overwrite the system-provided 2.0?

correct.