Hi Chris,<br><br><div class="gmail_quote">On Thu, Feb 10, 2011 at 9:14 PM, Chris Baines <span dir="ltr"><<a href="mailto:cbaines8@gmail.com">cbaines8@gmail.com</a>></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 "Debian packaging GUI" comes up pretty much every year.</div><div>"Do X, but with a GUI" 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're going to tell me that few people even consider doing Debian packaging using Eclipse, but I'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'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'm sure the apt/dpkg would be interested to pitch in on these. Daniel? David?</div><div><br></div><div>Good luck and don'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>