Difference between revisions of "How to Dev"

From Funtoo
Jump to navigation Jump to search
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= How to 'dev' =
{{fancytip|This page will continue to be updated with development-related information... thanks for your interest :)}}
__NOTITLE__
 
{{PageNeedsUpdates}}
This page serves as the official introduction on how to collaborate with our community and help to improve Funtoo Linux.
This page serves as the official introduction on how to collaborate with our community and help to improve Funtoo Linux.


Line 8: Line 7:
Thanks for your interest in helping out with Funtoo Linux! Funtoo Linux has existed for several years, and we've been using git since the beginning of the project, but have played with various approaches on how to develop Funtoo Linux in a collaborative fashion. Some approaches have worked, some haven't, and I (Daniel) and others like to periodically experiment with different approaches, so these methods are likely to change in the future.
Thanks for your interest in helping out with Funtoo Linux! Funtoo Linux has existed for several years, and we've been using git since the beginning of the project, but have played with various approaches on how to develop Funtoo Linux in a collaborative fashion. Some approaches have worked, some haven't, and I (Daniel) and others like to periodically experiment with different approaches, so these methods are likely to change in the future.


Let's start by doing a quick overview of Funtoo infrastructure and how it (currently) relates to Funtoo Linux development.
== How to Develop -- The Quick Summary ==
 
Okay, so you want to get involved. How do you do it? Well, here's how we want you to start:
 
* First, you need to actually ''use'' Funtoo Linux in some capacity.
* {{CreateAccount}}
* Help in the [http://forums.funtoo.org forums].
* Find things that need fixing on [https://bugs.funtoo.org the bug tracker], and submit fixes for them.
* If you have a new ebuild, then create an issue on [https://bugs.funtoo.org the bug tracker] for it.
* Testing things and finding bugs is also a form of help.
* Help us document stuff on the wiki. See [[Help:Funtoo Editing Guidelines|How to 'wiki']].
* Hang out in <tt>#funtoo</tt> on freenode and chat with us.
* Learn more about ebuilds by reading our [[Developer Guide]]. Ask questions.
* [[Compare Forked Packages To Gentoo]], find one that needs updating, and ask us how to help.
* Subscribe to [[Funtoo_RSS_and_Atom_Feeds | funtoo's rss feeds]].
 
If you start doing a good amount of this, you will get noticed and plugged in to our development efforts in a short amount of time.
 
Now that you have the big picture, let's start by doing a quick overview of Funtoo infrastructure and how it (currently) relates to Funtoo Linux development.


== bugs.funtoo.org ==
== bugs.funtoo.org ==
Line 16: Line 33:
== The Wiki ==
== The Wiki ==


You are currently reading the wiki, and it is becoming a more and more important part of development. We currently have the ability to define wiki pages for [[:Category:Ebuilds|Ebuilds]], which are used as official documentation for the ebuild. Documentation is a very important part of Funtoo Linux development, and you're strongly encouraged to read about [[Adding an Ebuild to the Wiki]].
You are currently reading the wiki, and it is becoming a more and more important part of development. We currently have the ability to define wiki pages for [[:Category:Ebuilds|Ebuilds]], which are used as official documentation for the ebuild. Documentation is a very important part of Funtoo Linux development, and you're strongly encouraged to read about [[Adding an Ebuild to the Wiki]]. Developers who write good documentation gain much respect :)
 
== git.funtoo.org ==
 
All of our master git repositories exist on [http://git.funtoo.org git.funtoo.org].


== GitHub ==
== GitHub ==


We have mirrors of all our git repositories on [http://github.com/funtoo GitHub]. When we push to a repository on git.funtoo.org, it automatically pushes the change to the corresponding repo on GitHub, too.
We have all of our git repositories on [http://github.com/funtoo GitHub].


This has historically created some confusion, because we don't really (right now) do active development on GitHub, using pull requests. If you have an improvement to Funtoo Linux, we want you to open a bug on our [https://bugs.funtoo.org bug tracker]. However, I am hoping that this will change - see {{Bug|FL-1322}}. But for now, if you create an issue or a pull request on GitHub, we probably won't see it in a timely manner.
This has historically created some confusion, because we don't really (right now) do active development on GitHub, using pull requests. If you have an improvement to Funtoo Linux, we want you to open a bug on our [https://bugs.funtoo.org bug tracker]. However, I am hoping that this will change - see {{Bug|FL-1322}}. But for now, if you create an issue or a pull request on GitHub, we probably won't see it in a timely manner.
Line 30: Line 43:
== The Git Repositories Themselves ==
== The Git Repositories Themselves ==


One important thing to understand about Funtoo Linux is that the git tree you receive when you type <tt>emerge --sync</tt> is what I call a ''transport tree'' -- it is used to deliver updates to you, but it is not used for development. Our main <tt>/usr/portage</tt> tree can be seen at http://git.funtoo.org/ports-2012/tree or http://github.com/funtoo/ports-2012 is generated using automated scripts which take the Gentoo Portage tree, various funtoo overlays, and several other overlays and combine them into a unified tree.
One important thing to understand about Funtoo Linux is that the git tree you receive when you type <tt>emerge --sync</tt> is what I call a ''transport tree'' -- it is used to deliver updates to you, but it is not used for development. This tree is generated using automated scripts which take the Gentoo Portage tree, various funtoo overlays, and several other overlays and combine them into a unified tree. We generate an updated commit for our transport tree every 4 hours.
 
 
[[Category:Development]]

Revision as of 06:05, September 9, 2018

   Tip

This page will continue to be updated with development-related information... thanks for your interest :)

This page serves as the official introduction on how to collaborate with our community and help to improve Funtoo Linux.

Introduction

Thanks for your interest in helping out with Funtoo Linux! Funtoo Linux has existed for several years, and we've been using git since the beginning of the project, but have played with various approaches on how to develop Funtoo Linux in a collaborative fashion. Some approaches have worked, some haven't, and I (Daniel) and others like to periodically experiment with different approaches, so these methods are likely to change in the future.

How to Develop -- The Quick Summary

Okay, so you want to get involved. How do you do it? Well, here's how we want you to start:

If you start doing a good amount of this, you will get noticed and plugged in to our development efforts in a short amount of time.

Now that you have the big picture, let's start by doing a quick overview of Funtoo infrastructure and how it (currently) relates to Funtoo Linux development.

bugs.funtoo.org

Currently, bugs.funtoo.org serves as the center of operations for all development. If you're going to collaborate with us, then you should definitely Create a Funtoo account and familiarize yourself with our bug tracker. We try to ensure that all work in Funtoo Linux has a corresponding issue opened on the bug tracker, so there is some reference for someone to look to find out why some change was made.

The Wiki

You are currently reading the wiki, and it is becoming a more and more important part of development. We currently have the ability to define wiki pages for Ebuilds, which are used as official documentation for the ebuild. Documentation is a very important part of Funtoo Linux development, and you're strongly encouraged to read about Adding an Ebuild to the Wiki. Developers who write good documentation gain much respect :)

GitHub

We have all of our git repositories on GitHub.

This has historically created some confusion, because we don't really (right now) do active development on GitHub, using pull requests. If you have an improvement to Funtoo Linux, we want you to open a bug on our bug tracker. However, I am hoping that this will change - see FL-1322. But for now, if you create an issue or a pull request on GitHub, we probably won't see it in a timely manner.

The Git Repositories Themselves

One important thing to understand about Funtoo Linux is that the git tree you receive when you type emerge --sync is what I call a transport tree -- it is used to deliver updates to you, but it is not used for development. This tree is generated using automated scripts which take the Gentoo Portage tree, various funtoo overlays, and several other overlays and combine them into a unified tree. We generate an updated commit for our transport tree every 4 hours.