Name : Akshaya R
Background : I am a student doing my major in Bioinformatics in VIT University, India. I have a love for coding. I'm well versed with C, C++, perl, MySQL and HTML. However, I'm new to open source but I'm an avid learner and am willing to learn various things related to the project.
Timezone : IST - UTC+05:30 hrs.
Project title : Pluggable acquire-system for APT
Project details :
- Package management systems is one of the prominent features of Debian. The APT (Advanced Packaging Tool) enables automated installation and removal of software packages, and easy upgrades between releases. APT expands the functionality by searching, fetching and installing packages from online repositories along with their dependencies, either from binary files or by compiling source code. The APT tool currently uses a multitude of commands to acquire information related a package. Several other complex tools use different back-ends and obtain different data related to a package. This project aims to unify all these back-ends so that one single command can download all the required data. Security and bandwidth-efficiency will also be taken care of.
Benefits to Debian :
A better APT with an unified back end that makes searching and installing packages easier and efficient.
- To unify all the back-ends.
- To make plugins so as to download Packages, Sources and Translation files.
- To have the source.list file parsed to enable configuration of plugins.
- Allow plugins to be configured/disabled for each source in sources.list.
- To improve the logic used to acquire data.
The basic step by step plan is to first build a parser that parses the sources.list file, so that the list can have plugins that be configured based on the end user needs. The configuration of these plugins here range from enabling and disabling them, choose what commands to implement, etc based on the parsing. So, the list will be parsed, the plugins will be created and the different commands will be unified and an unified backend will be created, thus producing a more efficient APT tool.
Project schedule :
April 23 to May 20: To familiarize myself completely with Debian, the APT tool, its functionality and architecture. To stay in contact with the mentor and the community so as to make myself clear of the future goals. To completely understand the source code, to improve my knowledge of the language, to learn about the present acquire logics and the plugin systems.
May 21 to July 8: To establish algorithms and bring about all the desired changes in the APT codes (i.e. to design the new acquire logic, to have parsers for the sources.list, to design the configurable plugins for the sources.list which can be configured based on the parsed data of sources.list file). To implement the codes in the source code. To test the improved acquire logic, the plugins and their configurations.
July 9: Mid-term evaluation.
July 9 to August 12: Testing of the codes, finding and removal of bugs.
August 13: Suggested pencils-down date.
August 13 to August 20: Further refining of codes, peer review, further changes and writing documentation.
August 20: Firm pencils-down date, improving documentation and final evaluation.
Exams and other commitments : My Exams finish well before the GSOC start date and is not a problem at all. However my next semester starts on the 11th of July but I assure to work on GSOC about 5-6 hours per day.
Other summer plans : There are no summer holiday plans. I will be totally involved in GSOC.
I would feel very honored and proud to be working with Debian, one of the major open source software organizations. I would like to be a part of the large community of Debian developers and I'm willing to contribute to the community even beyond the GSOC period.
Note : I'm not applying for other GSOC projects.