[ros-release] Fwd: Releasing BFL to Indigo

Piyush piyushk at gmail.com
Thu May 1 17:00:21 UTC 2014

Thanks for the instructions! These instructions seem a bit different
from what William used to migrate a third party package from groovy to
hydro (documented here:

@Jack If you're up for it, I would prefer to try out these
instructions once for libfreenect. If we fail, we'll report back for
an alternative solution.

For the most part, the instructions seem the same same, barring these
1) For bfl (and in the ros wiki instructions in general), the bloom
branch was deprecated for master? Was there any particular reason for
2) I don't actually remember adding any patches to patches/debian/...
for libfreenect, but those branches are not empty (and don't make much
sense to me). Since they do not have any *.patch files, I suspect that we
do not need to follow instructions for those branches. Is that correct?
3) The git-bloom-patch import command is not present in your new set
of instructions. Is it no longer required? Is bloom-release applying
those patches to the release branches?

For reference, the libfreenect release repository is here:


On Thu, May 1, 2014 at 10:33 AM, Jack O'Quin <jack.oquin at gmail.com> wrote:
> On Thu, May 1, 2014 at 3:24 AM, Tully Foote <tfoote at osrfoundation.org>
> wrote:
>> For 3rdparty package maintainers looking to port a patched package forward
>> to a new rosdistro here's what William did to port BFL forward into indigo
>> from hydro.
>> Tully
>> On Thu, May 1, 2014 at 1:04 AM, Michael Ferguson <mfergs7 at gmail.com>
>> wrote:
>>> Wow! Easy indeed!
>>> Thanks for going ahead and cranking that out -- I would have never
>>> figured that out. I agree, copying that to the mailing list would probably
>>> be helpful to anyone who ends up maintaining one of these kind of packages
>>> down the road.
>>> -Fergs
>>> On Thu, May 1, 2014 at 1:01 AM, William Woodall <wjwwood at gmail.com>
>>> wrote:
>>>> I went ahead and did it, this is what I did:
>>>> $ git clone https://github.com/ros-gbp/bfl-release.git
>>>> $ cd bfl-release
>>>> $ git checkout master
>>>> $ cp -r hydro indigo
>>>> $ git add indigo
>>>> $ git commit -m "create indigo patch folder with indigo package.xml
>>>> template"
>>>> $ git-bloom-config copy hydro indigo
>>>> $ git-bloom-config edit indigo
>>>> ... change settings for indigo
>>>> ... change rosdistro to indigo
>>>> ... change patches directory to indigo
>>>> $ bloom-release -r indigo -t indigo bfl
>>>> ... give it the release repo: https://github.com/ros-gbp/bfl-release.git
>>>> ... push with force if needed for tags
>>>> ... push changes but don't open pull request
>>>> $ cd ..
>>>> $ rm -rf bfl-release
>>>> $ git clone https://github.com/ros-gbp/bfl-release.git
>>>> $ cd bfl-release
>>>> $ python -c "from bloom.git import track_branches; track_branches()"
>>>> ... This tracks all remote branches locally
>>>> $ git branch
>>>> ... go to each indigo patch branch and copy over any patches from the
>>>> hydro equivalents
>>>> ... probably just need patches/release/.../bfl and
>>>> patches/debian/.../bfl
>>>> ... for instance:
>>>> $ git ls-tree --name-only -r patches/release/hydro/bfl | grep '\.patch'
>>>> | xargs -I {} sh -c 'git show patches/release/hydro/bfl:"$1" > "$1"' -- {}
>>>> $ git add ./*.patch
>>>> $ git commit -m "migrating patches from hydro"
>>>> $ git push origin patches/release/indigo/bfl
>>>> ... Once you have migrated any patches you need, bloom-release and pull
>>>> request
>>>> $ bloom-release -r indigo -t indigo bfl
>>>> ... give it the release repo: https://github.com/ros-gbp/bfl-release.git
>>>> https://github.com/ros/rosdistro/pull/4079
>>>> And "it's that easy"! :)
>>>> Unfortunately this is pretty tedious and error prone and not well
>>>> documented, but it should only affect a handful of cases and I've often
>>>> considered a tool to help with this, but always shied away from it because I
>>>> think the cost out weighs the benefit.
>>>> We can copy this to ros-release as well.
> Thanks for posting. I can follow the first half reasonably well. But, after
> erasing the local clone and creating it again, I have no idea why to do that
> or what is going on.
> I need to do something similar for libfreenect. I don't think I can follow
> William's example well enough for it to work. I expect I could easily
> destroy that release repository.
> I guess my only other option is recreating all the patches by hand. Any
> other suggestions?
> --
>  joq
> _______________________________________________
> ros-release mailing list
> ros-release at code.ros.org
> http://lists.ros.org/mailman/listinfo/ros-release

More information about the ros-release mailing list