<br><br><div class="gmail_quote">On Mon, Mar 28, 2011 at 5:58 AM, Steve Langasek <span dir="ltr"><<a href="mailto:vorlon@debian.org">vorlon@debian.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi, Rahul!<br>
<div class="im"><br>
On Mon, Mar 21, 2011 at 06:13:50PM +0530, Rahul Gaur wrote:<br>
> I am pursuing bachelors in engineering and my majors is in Computer<br>
> Science.I am planning to apply for GSOC 2011 would like to work with Debian<br>
> over my summer vacations.<br>
> I've been using open source operating system since last 2 years and ever<br>
> since I went open-source there was no turning back .<br>
> I've learned C++ and java @ school .Now here in college i'm studying C and<br>
> Python(linux platform),getting a good grip of it and I'm<br>
> really fascinated by the python language as well as C is evergreen language.<br>
<br>
> Familiar with building softwares from the source code, using svn now here<br>
> I'm seeking some guidance so that I can start contributing to the<br>
> OpenSource community.By the time with GSoC starts , I would be done with my<br>
> university exams and so I am interested in doing some C or Python based<br>
> project during my summer vacations.<br>
> Well among the several intriguing projects listed on the ideas page of GsoC<br>
> 2011 , as I would like to get more informations about APT/dpkg declarative<br>
> diversions...<br>
<br>
</div>I'm happy that you're interested in the declarative diversions proposal. I<br>
think the proposal itself is self-explanatory about what we hope to achieve,<br>
but if you have any doubts, please ask.<br>
<br>
Here is some further information to help orient you:<br>
<br>
The dpkg source code can be found at git://<a href="http://git.debian.org/git/dpkg/dpkg.git" target="_blank">git.debian.org/git/dpkg/dpkg.git</a>.<br>
Use of git for patch submission to dpkg is strongly recommended (in<br>
particular because it's a dynamic code base, so if you try to write patches<br>
against a released version of dpkg you may find they're out of date before<br>
you begin).<br>
<br>
The dpkg code base is a mixture of C and perl. The parts of dpkg relevant<br>
to this proposal are written entirely in C. I believe src/divertdb.c and<br>
src/processarc.c contain the majority of the code that will need to be<br>
modified for declarative diversions.<br>
<br>
Useful background reading includes appendices E-G of Debian Policy<br>
(<a href="http://www.debian.org/doc/debian-policy/ap-pkg-conffiles.html" target="_blank">http://www.debian.org/doc/debian-policy/ap-pkg-conffiles.html</a> ff.); as well<br>
as doc/triggers.txt within the dpkg source tree, as an example of the level<br>
of detail of design documentation we want for a new dpkg feature.<br>
<br>
An understanding of maintainer script invocation is also important. There's<br>
a section in Debian Policy on that, and also this useful diagram:<br>
<br>
<a href="http://wiki.debian.org/MaintainerScripts" target="_blank">http://wiki.debian.org/MaintainerScripts</a><br>
<br>
I trust that you're familiar with the Google SoC application process (and<br>
that this is how you found your way to us). In addition to submitting an<br>
application directly to Google, the Debian GSoC admins tell me it's<br>
recommended that you also post information to the Debian wiki, using the<br>
template at <a href="http://wiki.debian.org/SummerOfCode/StudentApplicationTemplate" target="_blank">http://wiki.debian.org/SummerOfCode/StudentApplicationTemplate</a><br>
and link this from<br>
<<a href="http://wiki.debian.org/SummerOfCode2011/DeclarativeDiversions" target="_blank">http://wiki.debian.org/SummerOfCode2011/DeclarativeDiversions</a>>.<br>
<br>
Please feel free to join the dpkg development discussions on the mailing<br>
list (<a href="mailto:debian-dpkg@lists.debian.org">debian-dpkg@lists.debian.org</a>) and the IRC channel (#debian-dpkg on<br>
<a href="http://irc.oftc.net" target="_blank">irc.oftc.net</a>).<br>
<br>
Good luck with your application!<br>
<font color="#888888"><br>
--<br>
Steve Langasek Give me a lever long enough and a Free OS<br>
Debian Developer to set it on, and I can move the world.<br>
Ubuntu Developer <a href="http://www.debian.org/" target="_blank">http://www.debian.org/</a><br>
<a href="mailto:slangasek@ubuntu.com">slangasek@ubuntu.com</a> <a href="mailto:vorlon@debian.org">vorlon@debian.org</a><br>
</font></blockquote></div><br>Hi Steve, <div> Attached below is my proposal for GSoC. I would like to get your feedback.</div><div><meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
<title></title>
<meta name="GENERATOR" content="OpenOffice.org 3.2 (Linux)">
<style type="text/css">
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
</style>
<ul>
<li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-8"></a> <strong><font face="inherit"><font size="3"><span lang="en"><b>Name :
</b></span></font></font></strong><strong><font face="inherit"><font size="3"><span lang="en"><span style="font-weight: normal">Rahul
Gaur </span></span></font></font></strong></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Contact/Email</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
<a href="mailto:rahul.nbg@gmail.com">rahul.nbg@gmail.com</a> irc :
iamaregee</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-10"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Background</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
I am pursuing bachelors in engineering from CCS University
Meerut(NCR) , India.My major is in Computer Science and this is my
firstyear.I write almost all of my code on Linux platform and I tend
to develop strictly for Linux platform.I have written codes in many
different languages like basic,Java,C++,html/css/js ,Python,C.Thou C
language is being taught to us in college as a part of engineering
course. </span></span></span></font></font></font></p>
<p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">
</span></span></span></font></font></font>
</p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-11"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Project
title : </b></span></span></font></font></font></strong><strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">Implementing
declarative diversions in dpkg</span></span></span></font></font></font></strong></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-12"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Synopsis</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
Aim of this project is to implment declarative diversions in dpkg so that automatically diverted to different
directory in the run time and with successful integration this will make the manual
calls to dpkg-divert obsolete.The new declarative syntax will be the
part of unpacking and removal phases of the dpkg.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-13"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Benefits
to Debian: </b></span></span></font></font></font></strong><strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">Eleminate
the errors arising from manual handling of dpkg-divert in dpkg.Thus
creating a more efficient method of package management.</span></span></span></font></font></font></strong></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-14"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Deliverables</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
A new control file which with a declarative syntax which will be
processed by dpkg at the runtime.Documentations for using the new
features plus transistion path for existing packages. </span></span></span></font></font></font>
</p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Project
details</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
The main components of my project are : </span></span></span></font></font></font>
</p>
</li><li><p align="LEFT" style="margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font size="3"><span lang="en"><font class="Apple-style-span" face="inherit">A
new control file is to be created,this will be </font>achieved<font class="Apple-style-span" face="inherit"> by adapting
the current code of dpkg-divert and it will be processed to read and execute diversions during the unpacking and removal phase.</font></span></font></font></p>
</li><li><p align="LEFT" style="margin-bottom: 0cm; border: none; padding: 0cm"><font color="#222222"><font size="3"><span lang="en"><font class="Apple-style-span" face="inherit">Making changes to code to check for changes/</font>comparing<font class="Apple-style-span" face="inherit"> two packages while
unpacking/removing or upgrading/downgrading the packages and thus
initiating the diversion at correct stage.</font></span></font></font></p></li></ul>
<p align="LEFT" style="margin-left: 5cm; margin-bottom: 0cm; border: none; padding: 0cm">
<br>
</p>
<ul>
<li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Project
schedule</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
I have my end semester exams in the month of may ,most probably I
will be done it by 30</span></span></span></font></font></font><font color="#222222"><sup><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">th</span></span></span></font></font></sup></font><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">
of may.So I can start working coding from 31</span></span></span></font></font></font><font color="#222222"><sup><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">st</span></span></span></font></font></sup></font><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">
of may.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">Before
GsoC starts I aim to understand current diversion techniche
“dpkg-divert” and it's uses functionality and its drawbacks.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">Furthermore
I would like to work with my mentor and the dpkg community having my
configuration file outlined. </span></span></span></font></font></font>
</p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">Once
I begin with coding ,I will dedicate first four weeks writing code
for new control file and declarative syntax.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">Once
I am done with this phase , next part will be to append codes
elsewhere in the dpkg for safe and efficient diversion of packages
at the correct stage.By this time I am roughly halfway through july
and for the time of midterm evaluation period.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">I
would like to spend next two weeks testing dpkg with different
packges and debugging the hacks which I have made.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">I
plan to keep community members updated of my work via weekly blog
post.</span></span></span></font></font></font></p>
</li></ul>
<p style="margin-left: 1.38cm; margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<br>
</p>
<p style="margin-left: 1.38cm; margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<br>
</p>
<ul>
<li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-16"></a>
<font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">By
the first week of august I hope to complete all the documentation
work.I would spend rest of the august pretying everything and
improving documentations.</span></span></span></font></font></font></p>
</li></ul>
<p style="margin-left: 1.38cm; margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<br>
</p>
<ul>
<li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-17"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Other
summer plans</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
Nothing specific,but I will be staying with my parents over the
summer vacations.My parents have recently shifted to Guwahati,Assam
.I will be in Guwahati by 10</span></span></span></font></font></font><font color="#222222"><sup><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">th</span></span></span></font></font></sup></font><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">
of june,I will have an Internet connection and lot of free time at
my disposal to concenterate on coding work.I prefer to spend about
10hours at an average coding per day.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-18"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>Exams
and other commitments</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
My university exams are starting from 8</span></span></span></font></font></font><font color="#222222"><sup><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">th</span></span></span></font></font></sup></font><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">
of may and will run upto 30</span></span></span></font></font></font><font color="#222222"><sup><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">th</span></span></span></font></font></sup></font><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">
of may.Once I am done with the exams I hope to gain a stronger
command over C as it is the part of my college course.</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm"><a name="line-19"></a>
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>If
you are a Debian Developer</b></span></span></font></font></font></strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
What added value can you bring to this project by doing it as part
of the Summer of Code rather than as part of your usual Debian work
?</span></span></span></font></font></font></p>
</li><li><p style="margin-right: 0.26cm; margin-bottom: 0cm; border: none; padding: 0cm">
<strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><b>If
you are not a Debian Developer</b></span></span></font></font></font></strong><strong><font color="#222222"><font face="inherit"><font size="3"><span lang="en"><span style="font-style: normal"><span style="font-weight: normal">:
Do you have plans for Debian after the summer ? Yes, I would eger
contribute to the community.</span></span></span></font></font></font></strong></p>
</li></ul><br>-- <br><div>-------------------------------------------------------------------------------------------------------</div><div><i>Regards</i></div><div><font size="1"><b>Rahul Gaur</b></font></div><div><font size="1">irc : iamaregee2</font></div>
<div><font size="1">blog : <a href="http://aregee.wordpress.com" target="_blank">aregee.wordpress.com</a></font></div><div>fb: <a href="http://facebook.com/iamaregee" target="_blank">http://facebook.com/iamaregee</a></div>
<div><br></div><br>
</div>