Difference between revisions of "Development Guide"

From Funtoo
Jump to navigation Jump to search
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
=== Overview ===
Okay, so you want to get involved. How do you do it? Well, here's how we want you to start:
* First, make sure you have the ''current release of Funtoo Linux installed'' on at least one system.
* Find things that need fixing on [https://bugs.funtoo.org the bug tracker], and submit fixes for them ('''see video below on how.''')
* If you have a new ebuild, submit a pull request to [https://code.funtoo.org/bitbucket/projects/CO/repos/flora/browse flora] or the [https://code.funtoo.org/bitbucket/projects/CO/repos/ncse-overlay/browse Naval Computational Science and Engineering Overlay].
* 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 {{c|#funtoo}} and {{c|#funtoo-dev}} on [https://freenode.net freenode] and chat with us.
* Learn more about ebuilds by perusing the documentation below. Ask questions. Try out [[Metro]].
* Announcements are posted to the [https://forums.funtoo.org/forum/5-news-and-announcements/ News and Announcements] section of Funtoo Forums.
* To track other updates, such as wiki updates, subscribe to [[Funtoo_RSS_and_Atom_Feeds|funtoo's RSS and Atom feeds]].
=== Getting Started ===
To get started with Funtoo development, it's strongly recommended that you first watch the following video, which will introduce you to code.funtoo.org and explain how to use it to fork a repository and create a pull request. Forking a repository and creating a pull request is the best way to start doing Funtoo development:
To get started with Funtoo development, it's strongly recommended that you first watch the following video, which will introduce you to code.funtoo.org and explain how to use it to fork a repository and create a pull request. Forking a repository and creating a pull request is the best way to start doing Funtoo development:


{{#evt:service=youtube|id=https://youtu.be/V6PfB64oMWo|dimensions=480|alignment=center|autoresize=true}}
{{#evt:service=youtube|id=https://youtu.be/V6PfB64oMWo|dimensions=480|alignment=center|autoresize=true}}


To learn more about ebuilds and how to write them, the following pages are available:
Here is a follow-up video with close to an hour of tutorial-style instruction:
 
{{#evt:service=youtube|id=https://youtu.be/xUzjfyAZcq8|dimensions=480|alignment=center|autoresize=true}}


=== Ebuild Writing ===
=== Ebuild Writing ===
To learn more about ebuilds and how to write them, the following pages are available:


* [[Portage Variables]] -- learn about all those variables inside an ebuild, and in <tt>make.conf</tt>.
* [[Portage Variables]] -- learn about all those variables inside an ebuild, and in <tt>make.conf</tt>.
Line 18: Line 38:
Even more advanced users may want to use our own tree update scripts to generate their own customized meta-repo and kits. For information on how to do this, see [[Creating Your Own Meta-Repo and Kits]]. This document also covers the functionality of our tree update scripts in detail, and will give you some insight into how to work with the {{c|kit-fixups}} repository effectively.
Even more advanced users may want to use our own tree update scripts to generate their own customized meta-repo and kits. For information on how to do this, see [[Creating Your Own Meta-Repo and Kits]]. This document also covers the functionality of our tree update scripts in detail, and will give you some insight into how to work with the {{c|kit-fixups}} repository effectively.


== Pages that need updating ==
To learn how to build your own Funtoo stages, please look at documentation for [[Metro]].
 
=== Pages that need updating ===
 
{{Warning|These pages are stale and need updating!}}


* [[Forking An Ebuild]] -- explains how to take an ebuild from Gentoo and fork it, so you can make local changes.
* [[Forking An Ebuild]] -- explains how to take an ebuild from Gentoo and fork it, so you can make local changes.
* [[Portage (Funtoo)]] -- learn about Funtoo changes to Portage (needs updating).
* [[Portage (Funtoo)]] -- learn about Funtoo changes to Portage (needs updating).
* [[Portage Dynamic Slot]] - dynamic SLOT functionality now in Portage.
* [[Portage Dynamic Slot]] - dynamic SLOT functionality now in Portage.
=== Metro ===
* [[Metro Quick Start Tutorial]] -- learn how to use Metro, our automated build tool.
* [[Metro]] - a full index of Metro-related documentation.


[[Category:Development]]
[[Category:Development]]
[[Category:Official Documentation]]
[[Category:Official Documentation]]

Revision as of 03:37, March 21, 2019

Overview

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

  • First, make sure you have the current release of Funtoo Linux installed on at least one system.
  • Find things that need fixing on the bug tracker, and submit fixes for them (see video below on how.)
  • If you have a new ebuild, submit a pull request to flora or the Naval Computational Science and Engineering Overlay.
  • Testing things and finding bugs is also a form of help.
  • Help us document stuff on the wiki. See How to 'wiki'.
  • Hang out in #funtoo and #funtoo-dev on freenode and chat with us.
  • Learn more about ebuilds by perusing the documentation below. Ask questions. Try out Metro.
  • Announcements are posted to the News and Announcements section of Funtoo Forums.
  • To track other updates, such as wiki updates, subscribe to funtoo's RSS and Atom feeds.

Getting Started

To get started with Funtoo development, it's strongly recommended that you first watch the following video, which will introduce you to code.funtoo.org and explain how to use it to fork a repository and create a pull request. Forking a repository and creating a pull request is the best way to start doing Funtoo development:

Here is a follow-up video with close to an hour of tutorial-style instruction:

Ebuild Writing

To learn more about ebuilds and how to write them, the following pages are available:

  • Portage Variables -- learn about all those variables inside an ebuild, and in make.conf.
  • Ebuild Functions -- src_unpack, src_compile -- these are ebuild functions. There are others. See all of them and learn how they work.

For a more comprehensive reference of all the details of ebuild development, please see the Gentoo Development Manual.

Advanced Topics

If you are maintaining several ebuilds for Funtoo, you may find it more convenient to maintain your own overlay and have us pull new versions of ebuilds from you, rather than having to create a pull request. For information on how to do this, see Creating Your Own Overlay.

Even more advanced users may want to use our own tree update scripts to generate their own customized meta-repo and kits. For information on how to do this, see Creating Your Own Meta-Repo and Kits. This document also covers the functionality of our tree update scripts in detail, and will give you some insight into how to work with the kit-fixups repository effectively.

To learn how to build your own Funtoo stages, please look at documentation for Metro.

Pages that need updating

   Warning

These pages are stale and need updating!