Summer Coding 2010 proposal - Advanced RPM Backend for Ailurus

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
m (Timeline)
(Me and the community)
Line 45: Line 45:
 
#* Mentor's answer:
 
#* Mentor's answer:
 
#* Fedora community's answer:
 
#* Fedora community's answer:
 +
##* I am so thankful to you. Packaging listing and categorizing is the default functions in PackageKit and yumex. What is difference between your project and them? As we know, both PackageKit and yumex can not offer perfect user experience to users.
 +
##* How do you make difference between your project and the existed application? Or How do you improve users' experience?
  
 
# What will you do if you get stuck on your project and your mentor isn't around?
 
# What will you do if you get stuck on your project and your mentor isn't around?

Revision as of 10:17, 12 May 2010

Contents

About me

  1. What is your name?
    • Elyes Du
  2. What is your email address?
    • elyes.du (a) gmail [dot] com
  3. What is your wiki username?
  4. What is your IRC nickname?
    • Elyes@FreeNode
  5. What is your primary language?
    • Chinese
  6. Where are you located, and what hours do you tend to work?
    • Beijing, China. 8:00 to 22:00 GMT+8
  7. Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?

About my project

Project name

Advanced RPM Backend for Ailurus

Reference

Idea comes from https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_Customizable_application_installer

Description

Ailurus is an application which makes Linux easier to use. It can help people configure Linux, install software, learn Linux skills and so on. A person who switch from other OS to Fedora or switch between different Fedora versions will possibly encounter difficulties, since some package names may vary in different Fedora versions. To solve this problem, I want to develop an advanced RPM backend for ailurus, and at the same time, make the software installation easy and friendly.

What I will do:

  • Generate the list of all packages, available packages and installed packages according to the RPM database.
  • Categorize packages. Several default categories and user defined categories. User can add a package to one or more categories.
  • Fulfill transaction check/test and resolve dependencies.
  • Enable or disable a repository, add third-party repository are supported.

Python is the developing language.

Timeline

  • Week 1-2: learn mechanism of RPM and RPM APIs
  • Week 3: write a simple program can get the list of packages and the status of each package (installed or available)
  • Week 4-5: design and implement the RPM lib for packages listing, categorizing and test it.
  • Week 6-8: add multi-repository support. add dependency-resolving support. test and optimize.
  • Week 9: test, fix bugs.
  • Week 10: write document.
  • Week 11: submission.

Convincing

Although I haven't done any open source project before, I have participated in two secret projects for a laboratory in my university. Last winter me and a student completed a outsourcing project. I have been using Fedora for years and I like this distribution. I want to participate in open source project and that's why I am here. I major in software engineering and I am familiar with C/C++, PHP and Python.

Me and the community

  1. If your project is successfully completed, what will its impact be on the Fedora community?
    • My answer:
      1. Package listing and categorizing is very useful because it can help user find a package quickly and install softwares conveniently, especially for beginners.
    • Mentor's answer:
    • Fedora community's answer:
      • I am so thankful to you. Packaging listing and categorizing is the default functions in PackageKit and yumex. What is difference between your project and them? As we know, both PackageKit and yumex can not offer perfect user experience to users.
      • How do you make difference between your project and the existed application? Or How do you improve users' experience?
  1. What will you do if you get stuck on your project and your mentor isn't around?
    • I will first search on the web or the university's e-library. If I still get stuck, I will ask for help on mailing list and IRC.
    • I will communicate with the mentor regularly.
  2. In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project?
    • I always stay On IRC, and I can send the progress to mailing list and mentor.

Miscellaneous

  1. We want to make sure that you are prepared before the project starts
    • Can you set up an appropriate development environment?
      • Yes, I can.
    • Have you met your proposed mentor and members of the associated community?
      • Yes, I have.
  2. What is your t-shirt size?
    • It's XL


Comments

Use the Talk:Summer Coding 2010 student proposal application to actually make comment, which then appear here on the main proposal page. You can use this link to make a new comment].

plus talk