[ros-release] Fwd: Releasing BFL to Indigo

William Woodall william at osrfoundation.org
Thu May 8 01:08:30 UTC 2014


@Piyush The instructions forwarded here by Tully are actually flawed,
thanks for pointing that out.

I thought that copying the patch files to the patches branch but I was
wrong.

The wiki page you linked to is correct, I was trying to optimize away the
copying of the patches into a folder in /tmp using git ls-tree and git show.

Everyone reading this should use that wiki page, I'll potentially update it
if my new one liner I just used to re-release bfl works.


On Thu, May 1, 2014 at 10:00 AM, Piyush <piyushk at gmail.com> wrote:

> 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:
>
> http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty#Porting_patches_from_one_rosdistro_to_another
> )
>
> @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
> differences:
> 1) For bfl (and in the ros wiki instructions in general), the bloom
> branch was deprecated for master? Was there any particular reason for
> this?
> 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:
> https://github.com/ros-drivers-gbp/libfreenect-release
>
> Thanks!
> Piyush
>
> 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
> >
> _______________________________________________
> ros-release mailing list
> ros-release at code.ros.org
> http://lists.ros.org/mailman/listinfo/ros-release
>



-- 
William Woodall
ROS Development Team
william at osrfoundation.org
http://wjwwood.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-release/attachments/20140507/9d09d19d/attachment.html>


More information about the ros-release mailing list