<br><br><div class="gmail_quote">On Mon, Mar 28, 2011 at 5:58 AM, Steve Langasek <span dir="ltr">&lt;<a href="mailto:vorlon@debian.org">vorlon@debian.org</a>&gt;</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>
&gt;  I am pursuing bachelors in engineering and my majors is in Computer<br>
&gt; Science.I am planning to apply for GSOC 2011 would like to work with Debian<br>
&gt; over my summer vacations.<br>
&gt; I&#39;ve been using open source operating system since last 2 years and ever<br>
&gt; since I went open-source there was no turning back .<br>
&gt; I&#39;ve learned C++ and java @ school .Now here in college i&#39;m studying C and<br>
&gt; Python(linux platform),getting a good grip of it and I&#39;m<br>
&gt; really fascinated by the python language as well as C is evergreen language.<br>
<br>
&gt; Familiar with building softwares from the source code, using svn now here<br>
&gt;  I&#39;m seeking some guidance so that I can start contributing to the<br>
&gt; OpenSource community.By the time with GSoC starts , I would be done with my<br>
&gt; university exams and so I am interested in doing some C or Python based<br>
&gt; project during my summer vacations.<br>
&gt; Well among the several intriguing projects listed on the ideas page of GsoC<br>
&gt; 2011 , as  I  would like to get more informations about APT/dpkg declarative<br>
&gt; diversions...<br>
<br>
</div>I&#39;m happy that you&#39;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&#39;s a dynamic code base, so if you try to write patches<br>
against a released version of dpkg you may find they&#39;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&#39;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&#39;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&#39;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>
&lt;<a href="http://wiki.debian.org/SummerOfCode2011/DeclarativeDiversions" target="_blank">http://wiki.debian.org/SummerOfCode2011/DeclarativeDiversions</a>&gt;.<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&#39;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>