The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Adding an Ebuild to the Wiki"
(category official documentation) |
|||
(23 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
<translate> | |||
This page describes how to add an official entry for an ebuild to the Funtoo Linux wiki. | This page describes how to add an official entry for an ebuild to the Funtoo Linux wiki. | ||
Line 7: | Line 9: | ||
== What We Have So Far == | == 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. | 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 == | == The Package Namespace == | ||
This wiki has a special MediaWiki [http://www.mediawiki.org/wiki/Help:Namespaces namespace] called <code>Package</code>. Pages in this namespace have a URL that is prefixed with <code>Package:</code>, such as this wiki page: [[Package: | This wiki has a special MediaWiki [http://www.mediawiki.org/wiki/Help:Namespaces namespace] called <code>Package</code>, used as a home for wiki pages about ebuilds.. Pages in this namespace have a URL that is prefixed with <code>Package:</code>, 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 [[:Category:Ebuilds|ebuild pages here]]. | ||
== The Repository Namespace == | |||
There is also a special namespace for [[:Category:Repositories|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 <code>Page Values</code> 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 <code>x11-drivers/ati-drivers</code>, 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: | |||
* {{c|CatPkg}} (string) - the canonical name (catpkg atom) for the package in its overlay or repository. | |||
* {{c|Maintainer}} - 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. | |||
* {{c|Repository}} - 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. | |||
* {{c|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 | |||
<console>$##i## equery m games-board/gnome-mastermind</console> | |||
<console>$##i## cat /usr/portage/games-board/gnome-mastermind/gnome-mastermind-*.ebuild | grep DESCRIPTION</console> | |||
== 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 <code>www-servers/apache</code>, you would probably name the wiki page "Apache" or "Apache Web Server", and ''then'' enter <code>www-servers/apache</code> 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! | |||
{{#forminput:form=Ebuild|size=|default value=|button text=Add Package|autocomplete on namespace=Package|remote autocompletion|placeholder=Descriptive name|query string=namespace=Package}} | |||
Thanks very much for your contribution to Funtoo Linux documentation! | |||
</translate> | |||
[[Category:Portage]] | |||
[[Category:Tutorial]] | |||
[[Category:Official Documentation]] |
Latest revision as of 06:10, June 10, 2022
This page describes how to add an official entry for an ebuild to the Funtoo Linux wiki.
Goal
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
Page Values
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
- 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
- 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!