From Fedora Project Wiki

(Add application tasks.)
Line 45: Line 45:
* Adding a feature to any Fedora project (bonus points for bodhi)
* Adding a feature to any Fedora project (bonus points for bodhi)
* Writing automated tests for any Fedora project (bonus points for bodhi)
* Writing automated tests for any Fedora project (bonus points for bodhi)
* Becoming a package maintainer in Fedora. Being a Fedora packager is a great way to contribute to the Fedora project, and it will give you a valuable perspective on Bodhi since packagers are one of the primary types of users.[[User:Bowlofeggs | Randy]] can sponsor you if needed.
* Becoming a package maintainer in Fedora. Being a Fedora packager is a great way to contribute to the Fedora project, and it will give you a valuable perspective on Bodhi since packagers are one of the primary types of users.[[User:Bowlofeggs | Randy Barlow]] can sponsor you if needed.


To apply for the Bodhi internship, the best thing to do is to submit a few pull requests that fix some of Bodhi's Easy Fix bugs:
To apply for the Bodhi internship, the best thing to do is to submit a few pull requests that fix some of Bodhi's Easy Fix bugs:
Line 58: Line 58:


You can send your patches in by sending a pull request to Bodhi. If you aren't familiar with GitHub, you can read about [https://help.github.com/articles/creating-a-pull-request/ creating pull requests]. If you don't wish to use GitHub, you may also e-mail patches to the [https://lists.fedoraproject.org/archives/list/bodhi@lists.fedorahosted.org/ Bodhi mailing list].
You can send your patches in by sending a pull request to Bodhi. If you aren't familiar with GitHub, you can read about [https://help.github.com/articles/creating-a-pull-request/ creating pull requests]. If you don't wish to use GitHub, you may also e-mail patches to the [https://lists.fedoraproject.org/archives/list/bodhi@lists.fedorahosted.org/ Bodhi mailing list].
Be sure to identify yourself as an Outreachy applicant when you perform these tasks. You can simply contact [[User:Bowlofeggs | Randy]] and let him know your GitHub username (or e-mail address if you sent a patch to the mailing list).

Revision as of 16:46, 9 March 2017

Welcome, and thank you for your interest in Bodhi for Outreachy 2017. This page will outline some tasks you should perform to apply to work on Bodhi.


Bodhi

Bodhi is the Fedora Project's system for releasing software updates. It allows developers to propose updates for Fedora, and it allows community testers to try those updates out before they are released so they can report back whether they worked or not through a +1/-1 voting system known as karma.


Getting started

You will need to run Fedora for this internship. It is strongly recommended that you use a physical machine for this so that you can use Vagrant. You can read about how to install Fedora here:

https://docs.fedoraproject.org/en-US/Fedora/25/html/Installation_Guide/

The next step will be to install git and clone a copy of Bodhi. Before running these commands, you should cd into a directory that you want to keep your code in, such as ~/devel/:

 $ sudo dnf install git
 $ git clone https://github.com/fedora-infra/bodhi.git
 $ cd bodhi

The easiest way to get started with Bodhi is to use Vagrant. Vagrant allows you to type some simple commands and have a virtual machines automatically built for you that will have Bodhi running and ready for hacking! Bodhi has documentation on how to install Vagrant and get a development environment here:

https://github.com/fedora-infra/bodhi/blob/develop/docs/developer_docs.rst#vagrant

The documentation assumes you are using Fedora on a hardware installation that has virtualization extensions enabled. If your computer doesn't have them enabled and does support them, you will need to go into your BIOS settings and turn it on. If you don't wish to work with Vagrant and have moderate experience with Python and virtualenvs, you can also configure a Bodhi development environment that way:

https://github.com/fedora-infra/bodhi/blob/develop/docs/developer_docs.rst#virtualenv


First tasks

You don't need to submit any tasks from this section. They are here to familiarize yourself a little bit with Bodhi and to give you some experience with the development environment.

  • Create a Fedora account - you will need this in order to log in to Bodhi.
  • After you have run vagrant up, Bodhi should be running in a VM on your system. If you used the example Vagrantfile, you should be able to visit Bodhi's web interface at http://localhost:6543 - try that out!
  • You can use vagrant ssh to log into the guest vm. Inside here you will see a helpful message telling you about a few helper commands that the environment has defined for you. Try some of them out! For example, you can type btest to run the Bodhi test suite.
  • The code that you checked out on your host machine is automatically shared into the guest machine. This means that you can use any text editor or IDE that you like on your host to edit the Bodhi code, and the guest will automatically see those changes (be aware that there is a small delay of 2-5 seconds). Open bodhi/server/templates/master.html to insert some text into the master template - for example, you could change "Fedora Updates System" to "Hello, this is the Fedora Updates System!". After you have made your change and saved the file, try to visit http://localhost:6543 to see the change you made. Don't forget that there may be a delay of a few seconds while the change syncs into the guest.
  • Read the developer docs to familiarize yourself with how to work on Bodhi.


Application tasks

At a high level, the type of tasks that are good for this program are

  • Adding a feature to any Fedora project (bonus points for bodhi)
  • Writing automated tests for any Fedora project (bonus points for bodhi)
  • Becoming a package maintainer in Fedora. Being a Fedora packager is a great way to contribute to the Fedora project, and it will give you a valuable perspective on Bodhi since packagers are one of the primary types of users. Randy Barlow can sponsor you if needed.

To apply for the Bodhi internship, the best thing to do is to submit a few pull requests that fix some of Bodhi's Easy Fix bugs:

https://github.com/fedora-infra/bodhi/issues?q=is%3Aopen+is%3Aissue+label%3AEasyFix

Note that EasyFix is a relative term - usually issues will get that label if it meets any of these criteria:

  • The issue description or comments state what needs to be done pretty clearly.
  • The fix is believed to touch very little code.
  • The fix is believed to be relatively simpler than most Bodhi issues.

You can send your patches in by sending a pull request to Bodhi. If you aren't familiar with GitHub, you can read about creating pull requests. If you don't wish to use GitHub, you may also e-mail patches to the Bodhi mailing list.

Be sure to identify yourself as an Outreachy applicant when you perform these tasks. You can simply contact Randy and let him know your GitHub username (or e-mail address if you sent a patch to the mailing list).