[ros-release] Fwd: Releasing BFL to Indigo

Jack O'Quin jack.oquin at gmail.com
Thu May 1 15:33:31 UTC 2014


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-release/attachments/20140501/391673b5/attachment.html>


More information about the ros-release mailing list