Application for Declarative Diversions project GSoC 2011
Background: 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 devlop strictly for Linux platform.I have written codes in many different languages like basic,Java,C++,html/css/js ,Python,C.The C language is being taught to us in college as a part of engineering course and I am doing and embeded robotics project in College and my project involves intense advance level programing in C language.while I am also working on python and pyro to successfully program my robo.
Project titleImplementing declarative diversions in dpkg
Synopsis: Aim of this project is to implment declarative diversions and adding new declarative syntax in dpkg so that the packages are automatically diverted to different directory at the time of unpacking or removal phase.With successful integration this will make the manual calls dpkg-divert obsolete.The new declarative syntax will be initiated at the time of unpacking /removal of package.If desired ,it will ask the user for permission to divert the package to different directory.
Benefits to Debian: Eleminate the errors arising from manual handling of dpkg-divert in dpkg.Thus creating a more efficient method of package management.
Deliverables: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.
Project details: The main components of my project are as follows,
- A new control file is to be created,this will be achived by adapting the current code of dpkg-divert and will be processed and executed during the unpacking and removal phase.
- Modifying the praser engine of the current version to read and process the new control file.
- Tweaking code to check for changes/comapring two packages while unpacking/removing or upgrading/downgrading the packages and thus initiating the diversion at correct stage.
Project schedule: I have my end semester exams in the month of may ,most probably I will be done it by 30th of may.So I can start working coding from 31st of may.
- Before GsoC starts I aim to understand current diversion techniche “dpkg- divert” and it's uses functionality and its drawbacks.
- Furthermore I would like to work with my mentor and the dpkg community having my configuration file outlined.
- After spending a week on hacking together on, I would like to set up a very simple proof of concept before I scale up everything.,I will dedicate first four weeks writing code for new control file and declarative syntax.
- 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.
- For the next two weeks I would be testing my patches in a stable and unstable stage.Fleshing it out from proof of concept to something which can handle loads safely without crashing.Perhaps at this point I will have a functioning and reliable configuration file processor and declarative syntax.This will indeed provide an actual picture of the situation and my plans.
- At this point I am roughly halfway through mid of July.In that case if I am at the point that I predicted,I would begin testing with small packages, thus checking if everything is working as per the road map laid.
- I would like to spend next two weeks testing dpkg with different packages and debugging the code and tweaking it in order to increase the throughput.
- However if I am not in a really great shape by July, I would spend rest of July writing code ,pushing back the testing of packages which I will then perform them throughout the august.
- Regarding working time, I plan to dedicate Monday through Fridays for writing code , then I will do testing of the codes and debugging over the weekends.
- I plan to keep community members updated of my work via weekly blog post.
- I would be in touch with my mentor regularly with the help of irc and emails.
- 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.
Other summer plans: Nothing specific,but I will be staying with my parents throughout the summer vacations.My parents have recently shifted to Guwahati,Assam .I will be in Guwahati by 10th of june,I will have an Internet connection and lot of free time at my disposal to concentrate on coding work.I can easily dedicate something around 8 hours on coding regularly.
Exams and other commitments: My university exams are starting from 8th of may and will run upto 30th 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.
If you are not a Debian Developer:I would love to contribute to the community and keep improving my current project even after GSoC is over.