Hi Chris,<br><br><div class="gmail_quote">On Thu, Feb 10, 2011 at 9:14 PM, Chris Baines <span dir="ltr">&lt;<a href="mailto:cbaines8@gmail.com">cbaines8@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hello,<br>
<br>
My name is Christopher Baines and I am looking at applying to<br>
participate in the Google Summer of Code program. Since hearing about<br>
the program while participating in the Google Code In, I have been<br>
thinking of a few project ideas which I thought I would run by you.<br>
<br>
I have been running Debian for over a year now, since moving from<br>
Ubuntu when I decided to try and get involved with the development of<br>
the OS. In that time I have been packaging, or attempting to package a<br>
number of applications, I currently have one package in Debian<br>
ant-contrib-cpptasks, and hopefully a few more on the way.<br>
<br></blockquote><div><br></div><div>Thanks for your interest in Debian!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
While learning to package software for Debian, I found the process<br>
fragmented in a sense, many tools and programs that come together to<br>
make it all work (hopefully). While I see the enormous flexibility<br>
this gives it made the learning curve that little bit steeper. Thus I<br>
was thinking that for my project I could try and begin a Debian<br>
package IDE.<br>
<br>
After a bit of research I see this has already been attempted in a<br>
sense, however unlike the wizards (eg:<br>
<a href="http://sourceforge.net/projects/packin/" target="_blank">http://sourceforge.net/projects/packin/</a>), or the more complex programs<br>
(eg: <a href="https://code.google.com/p/debianpackagemaker/" target="_blank">https://code.google.com/p/debianpackagemaker/</a>), it would be like<br>
a good programming IDE, less hiding, more helping.<br>
<br>
 I was thinking of offering either a graphical (text fields,<br>
tickboxes) or text editor (gedit, kedit) style for editing the files,<br>
with lots of inline help (from both the program, and the relevant<br>
Debian documentation eg: the policy manual and the developer guide).<br>
Combined with lots of automated testing features from pbuilder and<br>
lintian, all usable directly from the program, it could speed up the<br>
process of learning to make packages and packaging itself by both<br>
reducing errors and bringing together the many applications that can<br>
help with the process.<br></blockquote><div><br></div><div>Actually, this &quot;Debian packaging GUI&quot; comes up pretty much every year.</div><div>&quot;Do X, but with a GUI&quot; is a rather common pattern and it has quite a few pitfalls, from underestimated complexity to overestimated usefulness (compared to the replaced non-GUI, etc.). You should be aware of it. (actually, if you have a long memory, I could apply this to myself in hindsight).</div>

<div><br></div><div>One way I would see this implementable without unreasonable amount of work and with immediate improvement over some existing workflows is to write an Eclipse plugin.</div><div>This solution avoids having to reinvent the IDE parts of the tool by leveraging the quite decent aspects of Eclipse.</div>

<div>Now you&#39;re going to tell me that few people even consider doing Debian packaging using Eclipse, but I&#39;d retort that the Eclipse framework is probably the only one were such work would make sense (compared to an Emacs mode or a Vim plugin).</div>

<div>I think that such a plugin can have a lot of potential to integrate the many packaging tools available to Debian developers, including: git-buildpackage, lintian, pbuilder, dput, mini-dinstall...</div><div>Besides this, Eclipse brings VCS integration (SVN, Git, Hg...), syntax coloring, auto-formatting (and that could include control files someday! possibly using Config::Model)...</div>

<div>Examples across the industry have shown that it is possible to create very good Eclipse plugins dedicated to specific development environment (I&#39;m thinking about Android, Java App Engine/GWT and countless others). These are so polished that they have been able to attract developers that would usually never use Eclipse. I believe we can do a comparably good job by leveraging and visually integrating the existing Debian packaging tools.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
My second idea came from my recent usage of debdelta, a amazing tool<br>
to reduce download size and increase speed when updating Debian,<br>
perfect if like me you are on a slow internet connection. I would be<br>
looking to integrate it with apt-get and/or aptitude and improve the<br>
program its self by implementing a method of predicting the best<br>
approach for fetching the debs, and possibly looking at how to provide<br>
debdeltas in a better more comprehensive way, perhaps by allowing<br>
normal apt repositories to provide them?<br>
<br>
I am also quite open to other ideas if you would like to suggest any?<br><br></blockquote><div>I&#39;m sure the apt/dpkg would be interested to pitch in on these. Daniel? David?</div><div><br></div><div>Good luck and don&#39;t hesitate to ask more questions and come talk to us on #debian-soc on <a href="http://irc.debian.org">irc.debian.org</a>.</div>

<div><br></div><div>Cheers!</div><div>Arthur</div></div>