Adding an Ebuild to the Wiki

From Funtoo
Revision as of 09:53, January 6, 2015 by Threesixes (talk | contribs) (remove warnings about approval since that's been removed)
Jump to navigation Jump to search

This page describes how to add an official entry for an ebuild to the Funtoo Linux wiki.


Our goal for ebuild wiki pages is ambitious -- the wiki should have complete and excellent documentation for using every ebuild in Portage. If the ebuild exists in your Funtoo Linux Portage tree, and there is no corresponding ebuild page for it, you're encouraged to use these instructions to add a page to the wiki for it.

What We Have So Far

To see what ebuild pages we have so far, see the Ebuilds by CatPkg page to see if the "CatPkg" (category/package atom) is already on this wiki.

You can also view all pages having to do with ebuilds (which also includes Package pages themselves) by going to the Category:Ebuilds page. Package pages will be listed by their regular wiki page names, which may make them harder to find.

The Package Namespace

This wiki has a special MediaWiki namespace called Package, used as a home for wiki pages about ebuilds.. Pages in this namespace have a URL that is prefixed with Package:, such as this wiki page: Package:Accelerated AMD Video Drivers, which is also a good example of a wiki page for an ebuild. View all ebuild pages here.

The Repository Namespace

There is also a special namespace for repositories -- repositories are collections of ebuilds.

An Example Ebuild Page

Let's look at an ebuild page: Package:Accelerated AMD Video Drivers. You'll notice it has a unique look that is distinct from a regular wiki page.

There are several other notable things about package pages. Let's take a look at each:

  • As covered earlier, the ebuild is in the Package namespace.
  • The ebuild is in the Category:Ebuilds category.
  • In the left-hand Tools menu, you can click Browse Properties on an Ebuild page to view its queryable semantic properties.
  • There is an infobox in the upper-right corner that lists current ebuild maintainer, and the source repository to which it belongs, as well as its official CatPkg name.

One of the most important things to note about this Ebuild page is the name of the wiki page itself. Rather than being named x11-drivers/ati-drivers, as the ebuild is identified in the Portage tree, it has a regular English name as the wiki page name. Some ebuilds, like the Package:Nginx page, have the regular package name as the wiki page name. The general rule for naming ebuild pages is that they should be named as a regular wiki page, with a descriptive English name in the Package namespace. The Package namespace (as well as being part of the Category:Ebuilds category) indicates that this page is about a Package (ebuild.)

The rationale for this convention is to improve discoverability of these pages via search engines, and to align with wiki page conventions. The CatPkg is stored as semantic data so it is still possible to find the page using its traditional package atom.

Semantic Data

The following semantic data is stored for each Package page:

  • CatPkg (string) - the canonical name (catpkg atom) for the package in its overlay or repository.
  • Maintainer (Page) - a link to the maintainer(s) of this package (if the user has a User page, it will link there.) Important for forked ebuilds. Can be left blank.
  • Repository (Page) - a link to the repository from which this ebuild is sourced. This can be an overlay or a full Portage tree. This information is filled out automatically.
  • Summary (Text) - a short summary, typically a sentence, that describes the functionality of the ebuild.

To extract some of this information: example extraction of gnome mastermind's information

user $ equery m games-board/gnome-mastermind
user $ cat /usr/portage/games-board/gnome-mastermind/gnome-mastermind-*.ebuild | grep DESCRIPTION

Creating a Package Page

To add an Ebuild page to the wiki, use the widget below, which will pop up a form to guide you through the creation process. Remember the naming guidelines... If you were creating a wiki page for www-servers/apache, you would probably name the wiki page "Apache" or "Apache Web Server", and then enter www-servers/apache as the CatPkg on the form.

You will also be prompted for a Summary and Maintainer. The maintainer field will auto-complete, based on Users defined on the wiki. If you don't know the maintainer, leave it blank -- a staff member will fill it in properly for you. Our main goal is to get quality documentation online, so if you can help with that, fantastic!

Thanks very much for your contribution to Funtoo Linux documentation!