{"action":"created","issue":{"url":"https://api.github.com/repos/ros-industrial-consortium/godel/issues/33","labels_url":"https://api.github.com/repos/ros-industrial-consortium/godel/issues/33/labels{/name}","comments_url":"https://api.github.com/repos/ros-industrial-consortium/godel/issues/33/comments","events_url":"https://api.github.com/repos/ros-industrial-consortium/godel/issues/33/events","html_url":"https://github.com/ros-industrial-consortium/godel/issues/33","id":39394981,"number":33,"title":"Provide suitably patched & build openvoronoi pkgs","user":{"login":"gavanderhoorn","id":4550046,"avatar_url":"https://avatars.githubusercontent.com/u/4550046?v=3","gravatar_id":"","url":"https://api.github.com/users/gavanderhoorn","html_url":"https://github.com/gavanderhoorn","followers_url":"https://api.github.com/users/gavanderhoorn/followers","following_url":"https://api.github.com/users/gavanderhoorn/following{/other_user}","gists_url":"https://api.github.com/users/gavanderhoorn/gists{/gist_id}","starred_url":"https://api.github.com/users/gavanderhoorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavanderhoorn/subscriptions","organizations_url":"https://api.github.com/users/gavanderhoorn/orgs","repos_url":"https://api.github.com/users/gavanderhoorn/repos","events_url":"https://api.github.com/users/gavanderhoorn/events{/privacy}","received_events_url":"https://api.github.com/users/gavanderhoorn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"phvass","id":4541128,"avatar_url":"https://avatars.githubusercontent.com/u/4541128?v=3","gravatar_id":"","url":"https://api.github.com/users/phvass","html_url":"https://github.com/phvass","followers_url":"https://api.github.com/users/phvass/followers","following_url":"https://api.github.com/users/phvass/following{/other_user}","gists_url":"https://api.github.com/users/phvass/gists{/gist_id}","starred_url":"https://api.github.com/users/phvass/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phvass/subscriptions","organizations_url":"https://api.github.com/users/phvass/orgs","repos_url":"https://api.github.com/users/phvass/repos","events_url":"https://api.github.com/users/phvass/events{/privacy}","received_events_url":"https://api.github.com/users/phvass/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ros-industrial-consortium/godel/milestones/2","labels_url":"https://api.github.com/repos/ros-industrial-consortium/godel/milestones/2/labels","id":743611,"number":2,"title":"FTP Milestone 2","description":"Build robot motion and path planning pipeline, deploy.","creator":{"login":"shaun-edwards","id":2932571,"avatar_url":"https://avatars.githubusercontent.com/u/2932571?v=3","gravatar_id":"","url":"https://api.github.com/users/shaun-edwards","html_url":"https://github.com/shaun-edwards","followers_url":"https://api.github.com/users/shaun-edwards/followers","following_url":"https://api.github.com/users/shaun-edwards/following{/other_user}","gists_url":"https://api.github.com/users/shaun-edwards/gists{/gist_id}","starred_url":"https://api.github.com/users/shaun-edwards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shaun-edwards/subscriptions","organizations_url":"https://api.github.com/users/shaun-edwards/orgs","repos_url":"https://api.github.com/users/shaun-edwards/repos","events_url":"https://api.github.com/users/shaun-edwards/events{/privacy}","received_events_url":"https://api.github.com/users/shaun-edwards/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2014-08-05T14:25:31Z","updated_at":"2014-08-05T14:25:42Z","due_on":"2014-11-01T07:00:00Z","closed_at":null},"comments":10,"created_at":"2014-08-04T06:58:39Z","updated_at":"2015-02-23T21:44:08Z","closed_at":null,"body":"Just an idea: seeing as the versions in the Ubuntu repositories cannot be used, you might consider releasing a version that does work, and set it as a system dependency of the packages. Such a version could then also already include the patch to `offset_sorter.hpp`. It's also nicer to not circumvent the package manager on a lot of distributions, even if things end up in `/usr/local/`.\r\n\r\nThere are some options for this:\r\n\r\n 1. fork upstream (perhaps as a repo under `ros-industrial-consortium`), patch it, build as non-catkin package in normal catkin workspace (so everything still from source)\r\n 1. release as [3rd-party non-catkin pkg](http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty) into ROS release (fi: `ros-hydro-openvoronoi-something-something`). Patching could be part of build process, and iiuc, forking would not even strictly be necessary (just a release repository)\r\n 1. fork it, patch it, but do this on an Ubuntu PPA. Advantage: gets build 'automatically' for different distros, and is a bit more common practice. Disadvantage: users would have to setup the PPA before installing the godel project (but they currently have to build something from source)\r\n 1. get upstream patched and re-released into different distros. Not sure if feasible (frozen releases, etc), but would mean everything (at least for Ubuntu) would work as it should\r\n\r\nOptions 1, 2 & 3 would require some maintenance effort, as upstream has to be tracked. 1, 2 & 3 are rather Ubuntu focused also (although catkin can now also generate RPMs).\r\n\r\nOption 2 seems pretty doable to me, as patching and releasing do not impact the upstream repository.\r\n"},"comment":{"url":"https://api.github.com/repos/ros-industrial-consortium/godel/issues/comments/75641783","html_url":"https://github.com/ros-industrial-consortium/godel/issues/33#issuecomment-75641783","issue_url":"https://api.github.com/repos/ros-industrial-consortium/godel/issues/33","id":75641783,"user":{"login":"gavanderhoorn","id":4550046,"avatar_url":"https://avatars.githubusercontent.com/u/4550046?v=3","gravatar_id":"","url":"https://api.github.com/users/gavanderhoorn","html_url":"https://github.com/gavanderhoorn","followers_url":"https://api.github.com/users/gavanderhoorn/followers","following_url":"https://api.github.com/users/gavanderhoorn/following{/other_user}","gists_url":"https://api.github.com/users/gavanderhoorn/gists{/gist_id}","starred_url":"https://api.github.com/users/gavanderhoorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavanderhoorn/subscriptions","organizations_url":"https://api.github.com/users/gavanderhoorn/orgs","repos_url":"https://api.github.com/users/gavanderhoorn/repos","events_url":"https://api.github.com/users/gavanderhoorn/events{/privacy}","received_events_url":"https://api.github.com/users/gavanderhoorn/received_events","type":"User","site_admin":false},"created_at":"2015-02-23T21:44:08Z","updated_at":"2015-02-23T21:44:08Z","body":"@gavanderhoorn wrote:\r\n> I think option 2 makes the most sense for now, perhaps even as a `ros-hydro-godel-openvoronoi`. As soon as upstream is fixed / patched / updated the dependency can be changed to the upstream release (provided the needed `rosdep` rules exist).\r\n\r\nOpted for a 5th option: fork `openvoronoi`, add minimal `package.xml` and replacement `CMakeLists.txt`, then make relevant packages in `godel` depend on `godel_openvoronoi` (the wrapped `openvoronoi` project). See [gavanderhoorn/openvoronoi/catkinised](https://github.com/gavanderhoorn/openvoronoi/tree/catkinised) and [gavanderhoorn/godel/godel_openvoronoi_test](https://github.com/gavanderhoorn/godel/tree/godel_openvoronoi_test).\r\n\r\nWhile this adds some maintenance overhead (as upstream changes are no longer automatically tracked), it does put Godel maintainers in full control over whether (and when) updates to `openvoronoi` are imported into the Godel project (as upstream changes are no longer automatically tracked), preventing possibly breaking changes to `openvoronoi` from destabilising Godel.\r\n\r\nTracking upstream is relatively easy: just rebase the wrapper branch after importing upstream.\r\n\r\nTo test:\r\n```\r\ngit clone -b godel_openvoronoi_test https://github.com/gavanderhoorn/godel.git\r\ngit clone -b catkinised https://github.com/gavanderhoorn/openvoronoi.git\r\n```\r\nThen a normal build.\r\n\r\nNo need to install `openvoronoi` from `aewallin/openvoronoi`.\r\n"}}