<div dir="ltr">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. <div><br></div><div class="gmail_quote"><div class="gmail_extra">

<div class="">Tully<br><br></div><div><div class="h5"><div class="gmail_quote">On Thu, May 1, 2014 at 1:04 AM, Michael Ferguson <span dir="ltr"><<a href="mailto:mfergs7@gmail.com" target="_blank">mfergs7@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr">Wow! Easy indeed!<div><br></div><div>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.</div>




<div><br></div><div>-Fergs</div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 1, 2014 at 1:01 AM, William Woodall <span dir="ltr"><<a href="mailto:wjwwood@gmail.com" target="_blank">wjwwood@gmail.com</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">I went ahead and did it, this is what I did:<div>

<br></div><div>$ git clone <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a></div>


<div>$ cd bfl-release</div>

<div>$ git checkout master</div><div>$ cp -r hydro indigo</div><div>$ git add indigo</div><div>$ git commit -m "create indigo patch folder with indigo package.xml template"</div><div>$ git-bloom-config copy hydro indigo</div>






<div>$ git-bloom-config edit indigo</div><div>... change settings for indigo</div><div>... change rosdistro to indigo</div><div>... change patches directory to indigo</div><div>$ bloom-release -r indigo -t indigo bfl</div>






<div>... give it the release repo: <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a></div><div>... push with force if needed for tags</div><div>... push changes but don't open pull request</div>






<div>$ cd ..</div><div>$ rm -rf bfl-release</div><div>$ git clone <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a></div><div>$ cd bfl-release</div><div>$ python -c "from bloom.git import track_branches; track_branches()"</div>






<div>... This tracks all remote branches locally</div><div>$ git branch</div><div>... go to each indigo patch branch and copy over any patches from the hydro equivalents</div><div>... probably just need patches/release/.../bfl and patches/debian/.../bfl</div>






<div>... for instance:</div><div>$ git ls-tree --name-only -r patches/release/hydro/bfl | grep '\.patch' | xargs -I {} sh -c 'git show patches/release/hydro/bfl:"$1" > "$1"' -- {}</div>






<div>$ git add ./*.patch</div><div>$ git commit -m "migrating patches from hydro"</div><div>$ git push origin patches/release/indigo/bfl</div><div>... Once you have migrated any patches you need, bloom-release and pull request</div>






<div>$ bloom-release -r indigo -t indigo bfl</div><div>... give it the release repo: <a href="https://github.com/ros-gbp/bfl-release.git" target="_blank">https://github.com/ros-gbp/bfl-release.git</a><br></div><div><br></div>




<div><a href="https://github.com/ros/rosdistro/pull/4079" target="_blank">https://github.com/ros/rosdistro/pull/4079</a><br>

</div><div><br></div><div>And "it's that easy"! :)</div><div><br></div><div>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.</div>






<div><br></div><div>We can copy this to ros-release as well.</div></div><div class="gmail_extra"><br clear="all"><div>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<span><font color="#888888"><br>William Woodall<br><a href="mailto:wjwwood@gmail.com" target="_blank">wjwwood@gmail.com</a><div>






<a href="http://williamjwoodall.com" target="_blank">williamjwoodall.com</a><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div></font></span></div><div><div>
<br><br><div class="gmail_quote">On Thu, May 1, 2014 at 12:23 AM, Michael Ferguson <span dir="ltr"><<a href="mailto:mfergs7@gmail.com" target="_blank">mfergs7@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">






<div dir="ltr">Also, I should note: I was able to check out the debian/hydro branch and build a deb using dpkg, so I think if we can just retool the files right for indigo + bloom + build farm, we'll be good to go.</div>






<div><div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 1, 2014 at 12:16 AM, Michael Ferguson <span dir="ltr"><<a href="mailto:mfergs7@gmail.com" target="_blank">mfergs7@gmail.com</a>></span> wrote:<br>







<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Oh, and I should have included, this is where bfl resides: <a href="https://github.com/ros-gbp/bfl-release" target="_blank">https://github.com/ros-gbp/bfl-release</a></div>







<div><div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Thu, May 1, 2014 at 12:15 AM, Michael Ferguson <span dir="ltr"><<a href="mailto:mfergs7@gmail.com" target="_blank">mfergs7@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">








<div dir="ltr">Hey guys,<div><br></div><div>First off, if there is a proper mailing list I should be sending this to, let me know, and I'll post it there so that people can eventually find any answers provided.</div>








<div><br></div><div>So I tried to take a look at releasing BFL (which is a third-party library) -- but I'm having hard time figuring out what to do. If I try to run bloom-release -- I get an error about patches branch not existing. When I looked at the 3rd party tutorial, it says to create a release before doing patches......</div>









<div><br></div><div><div>Error: ""Given patches path 'indigo' does not exist in bloom branch.""</div></div><div><br></div><div>Tutorial: <a href="http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty" target="_blank">http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty</a></div>









<div><br></div><div>Given that the tutorial seems to refer entirely to git-bloom-release, I'm guessing it's not up to date.</div><div><br></div><div>-Fergs</div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div>
</div><br></div>