<div dir="ltr">I agree with Daniel.<div>We can't break compatibility again now.</div><div>The port from gtk2 to gtk3 was inevitable (needed to support touch devices,</div><div>and because some libraries like evince)</div>
<div>but at the time, required a huge amount of work,</div><div>without apparent benefits for the users (an a few regressions)</div><div>You need remember our code is not only Sugar core, </div><div>but the hundred of activities with different grades of maintainer support.</div>
<div>Then,  possible plan could be:</div><div>* Research changes needed to make the code compatible with python 2 and python 3</div><div>* Prepare a test mechanism (applicable to core and activities)</div><div>* Research and if possible port telepathy-python to introspection. Bonus points if testing is possible.</div>
<div>* Make core and toolkit compatible with python 2 & 3</div><div><br></div><div>Gonzalo</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 1, 2014 at 9:42 AM, kunal arora <span dir="ltr"><<a href="mailto:kunalarora.135@gmail.com" target="_blank">kunalarora.135@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">So, I did some research and found that it would be best to port sugar in the following way:</p>
<p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">
1) Resolve the dependency issue - mainly telepathy . Telepathy-python has been deprecated , so what would be the best way to deal with this? Would it best to just port it to python3 or something else?</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">

<br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">2)Port sugar-build to Python3</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">

<br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">3)Port Sugar-shell to Python3</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">

<br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">4)Create a new Sugar-toolkit-gtk3-python3 from the old one and also keep the Sugar-toolkit-gtk3 for activities that haven't yet ported to Python3 and slowly deprecate it with time as more and more activities shift to Python3.</p>

<p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"><br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">How the porting would be done:</p>

<p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">1) Choose a single module.</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">2)Port the tests carefully and if there is not full test coverage , write some additional tests.</p>

<p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">3) Update the code carefully to pass the tests.</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">

<br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"><br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">These links were and will be helpful as we can draw on the experience of organisations who have already ported their codebase to python3.</p>

<p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"><a href="http://twistedmatrix.com/trac/wiki/Plan/Python3" target="_blank">http://twistedmatrix.com/trac/wiki/Plan/Python3</a></p>
<p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">
<a href="https://wiki.openstack.org/wiki/Python3#Port_Python_2_code_to_Python_3" target="_blank">https://wiki.openstack.org/wiki/Python3#Port_Python_2_code_to_Python_3</a></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">

<br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">Is there any other strategy which would be better?</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">

Any feedback/comments are welcome.</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium"><br></p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">

Kunal</p><p style="margin:0px;color:rgb(0,0,0);font-family:'Times New Roman';font-size:medium">(IRC- curiousguy13)</p></div>
<br>_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Gonzalo Odiard<br><br><div>SugarLabs - Software for children learning <br></div></div>
</div>