From Fedora Project Wiki
Line 21: Line 21:


== Why Migrate Plinth to Fedora Server? ==
== Why Migrate Plinth to Fedora Server? ==
Which specific project interests you? If you are proposing your own project, do it here. If you are proposing the project, explain why it benefits the community.
I interest in the idea Migrate Plinth to Fedora Server. [https://wiki.debian.org/FreedomBox/Plinth Plinth] is a web interface to administer the functions of the FreedomBox which is a Debian based project, and the main goal of this idea is to make it available for Fedora.
Have you contacted the mentor(s) listed for the project?
 
What relevant experience do you have for this project?
About this idea, for one thing, I can use Python and Django well because I always use it in my homework, and I have some experience about front-end and Linux development during my college. On the other hand, I have learned the basic knowledge of DNF, ARM and RPM after I contact with Mentor Tong, he gave me many useful advice. Also, I’m an user of Fedora and FreedomBox, include Plinth, FreedomBox is a wonderful product and Fedora is the Linux distribution I use the most, so I hope it can be used in Fedora and more Linux distributions.
What do you want to gain from this project?
 
Describe this project in your own words. What does it mean to you? What do you think the final deliverable is?
To solve this issue, I made up a scenario in my proposal, it can be divided roughly into two parts. The first one is modifying the source code module by module to convert it to RPM-based, including replacing the apt command code with the dnf command code or fit both of them, changing the Deb-based packages into RPM-based packages which play the same roles and testing after each module finished. The second part is a little scattered, including making a RPM package for Plinth and setting up a repo for it in [https://copr.fedorainfracloud.org Copr], testing inside a Virtual Machine, and modifying some configuration files and the documents for users to fit the changes of Plinth during this project, at the same time, a new wiki page for Plinth in Fedora is needed.


== A Rough Schedule ==
== A Rough Schedule ==

Revision as of 11:08, 3 April 2017

Contact Information

About Me

Do you have any past involvement with the Fedora Project or another open-source project as a contributor? What kind of contributions have you made (code and non-code)? Please share any public contributions you have made (urls, etc.) What are you studying? Why? What motivates you to do your best? How do you stay focused? Briefly describe how you organize your work.

Why Fedora?

Just because Fedora is the Linux distribution I use the most, so I want to know more about it and make contributions to it, and I believe GSOC is a good chance to integrate into a community, because I had the similar experience in GNOME during Outreachy.

After GSOC, Maybe I will choose to maintain the project I worked in GSOC and Chinese Localization as a start, and look for other projects I interest in.

Why Migrate Plinth to Fedora Server?

I interest in the idea Migrate Plinth to Fedora Server. Plinth is a web interface to administer the functions of the FreedomBox which is a Debian based project, and the main goal of this idea is to make it available for Fedora.

About this idea, for one thing, I can use Python and Django well because I always use it in my homework, and I have some experience about front-end and Linux development during my college. On the other hand, I have learned the basic knowledge of DNF, ARM and RPM after I contact with Mentor Tong, he gave me many useful advice. Also, I’m an user of Fedora and FreedomBox, include Plinth, FreedomBox is a wonderful product and Fedora is the Linux distribution I use the most, so I hope it can be used in Fedora and more Linux distributions.

To solve this issue, I made up a scenario in my proposal, it can be divided roughly into two parts. The first one is modifying the source code module by module to convert it to RPM-based, including replacing the apt command code with the dnf command code or fit both of them, changing the Deb-based packages into RPM-based packages which play the same roles and testing after each module finished. The second part is a little scattered, including making a RPM package for Plinth and setting up a repo for it in Copr, testing inside a Virtual Machine, and modifying some configuration files and the documents for users to fit the changes of Plinth during this project, at the same time, a new wiki page for Plinth in Fedora is needed.

A Rough Schedule

  • May 5 - 20:
    • Integrate into the community;
    • Be familiar with the existing code and the code style;
    • Learn more about Linux, including apt, dnf, Deb and RPM;
  • May 21 - 30:
    • Prepare and complete the details of the project, such as listing the modules, the documents which need to be modified in the future;
    • Make Gantt chart for the detailed schedule;
  • May 31 - June 26:
    • Convert the first half of the modules from Deb-based to RPM-based, including:
      • Replace the apt command code with the dnf command code or fit both of them;
      • Change the Deb-based packages into RPM-based packages which play the same roles;
      • Test after each module finished;
  • June 27 - 30:
    • Mid-term examination, submit the evolution of my mentor;
  • July 1 - 24:
    • Convert the second half of the modules from Deb-based to RPM-based, including:
      • Replace the apt command code with the dnf command code or fit both of them;
      • Change the Deb-based packages into RPM-based packages which play the same roles;
      • Test after each module finished;
    • Check out if any module is omitted;
  • July 25 - 28:
    • Mid-term examination, submit the evolution of my mentor ;
  • July 29 - August 21:
    • Make a RPM package for Plinth from source and setup a repo for it in Copr;
    • Test inside a Virtual Machine, refer to the HACKING;
    • Modified README.md and requirements.txt to fit Fedora which is RPM-based;
    • Add the guide of RPM-based package to Plinth User Guide and create a wiki page for it in Fedora;
  • August 22 - 29:
    • Review all achievements;
    • Submit the code, project summaries, and final evaluation of my mentor.

My Specific Plans from May to September

I need to complete my graduation thesis in the early June, then I plan to gap a half year before the next degree, so I have enough time to work with this project.