GSOC 2014/Student Application haseeb/fedmsgsobump

From FedoraProject

Jump to: navigation, search

Project Title : FedmsgSobumper

Contact Information

About Me

  • I’m a Engineering student at Khaja Bande Nawaz College of Engineering, Gulbarga majoring in Electronics and Communication.
  • I Contribute to Mozilla Mobile Web Compatibility for top Indian sites.


Why do you want to work with the Fedora Project?

I would like to be part of Fedora Project because i like working in an open-source community. I am regular user of a Fedora and have been using it since Fedora 14.

Do you have any past involvement with the Fedora project or another open source project as a contributor?

I don't have involvement in Fedora, But i contribute most of the time to Mozilla on Mobile Web Compatibility, Release Management, L10n Urdu and some time to GTG and of course i am core volunteer for PyCon India since 2012.

Why should we choose you over other applicants?

I have keen interest increasing Fedora and FOSS contribution. I have good knowledge of Python which is language the project will be developed

Did you participate with the past GSoC programs, if so which years, which organizations?

No

Will you continue contributing/ supporting the Fedora project after the GSoC 2014 program, if yes, which team(s), you are interested with?

Yes, I will continue contributing to the Fedora Project even after the GSoC 2014 program. The FedmsgSoBumper in itself will be my primary project, so I will continue contributing to this project, and beside in the long run I have keen interest in web development.

Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?

In May last week i have my Final year exams, so therefore i would like to start the work during Community Bonding Period.


Goal

Automatically rebuild the whole dependency subtree in rawhide if any ABI-backwards-incompatible so-bump occures.

Project Details

To get rid of the need to manually notify package maintainers about so bumps in advance, this script will detect each so bump and if the ABI has changed, rebuild all the packages which depend on this so-package, there could appear also new ABI incompatibilities in these packages due to pushed-but-not-built changes in git and these packages will be rebuilt and so on up to the leafs of the dependency tree, for the notifications, Fedmsg will be used.

Project Implementation:
Make a daemon which reacts on each new library build in koji, checks if any package depends on this newly built and if yes, check if there were introduced any incompatibilities in ABI and if yes, rebuild the dependent package(s). The incompatibility of ABI will be checked by comparing the previous build of the newly built library and the current one (i.e. the newly built one)

The need you believe it fulfills:
This will save rawhide contributors much time.

Methodology

My development process will follow the standard Fedora development process, under the guidance of my mentor. When the code and matching unit tests are finished, they will go through code review by mentor to ensure it follows the coding standard, is well designed, is sufficiently tested and documented, etc. Once the issues from the code review have been addressed the branch will be merged into trunk. Small,frequent feedback via code review, and the requirement for doing testing and documentation will ensure I am learning and improving throughout the summer.

Roadmap

  • Learning : Already started and on Going.
  • Programming: 8 weeks
  • Test suite: 1 week
  • Final review, adding and Bug fixing time:1 week
  • Documentation : 1 week

Timeline

Period Task
April 22 - May 5 Community bonding, reading documentation and getting familiar with all the codes.
May 6 - May 18 Implementing daemon
May 19 Official GSoC coding period begins.
May 26 - June 3 My Exams
June 4 - June 23 This time will be for utilizing incompatibilities in ABI
June 24 - June 27 Mid term evaluation period.
June 27 - July 25 Complete the Daemon
July 25 - July 31 Test suites
August 1 - August 11 Buffer time, Documentation, Final review, Extensive testing to prevent as much bugs as possible
August 12 - August 18 Pencils down period. Submitting the project for final evaluation.