ebuild
emerge —configuration —ebuild repository —dispatch-conf
world file —USE flags —ebuilds —profiles
upgrades —using testing packages —Gentoo binhost
tools —gentoolkit —eselect
Portage FAQ —cheat sheet —FAQ
all articles
This article coversebuild files, for theebuild command, see theebuild command section of thePortage article.
Anebuild file is a text file, usually stored in arepository, which identifies a specific software package and tells the Gentoo package manager how to handle it. Ebuilds adhere to a specificEAPI version, and are standardized through thePackage Manager Specification:
The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter is assumed to be GNU bash
Ebuilds contain metadata about each version of a piece of available software (name, version number, license, home page address...), dependency information (both build-time and run-time), and instructions on how to build and install the software (configure, compile, build, install, test...).
The default location for ebuilds in Gentoo is theGentoo ebuild repository (/var/db/repos/gentoo/).
See theebuild repository article about what an ebuild repository is, thecreating an ebuild repository article on how to create them, and thebasic guide to write Gentoo Ebuilds for creating ebuilds to house in a repository.
Live ebuilds
An ebuild is alive ebuild if the source is fetched from a revision control system (VCS). They tend to, but not necessarily, have the version number 9999 so that they can be easily distinguished from normal ebuilds based on upstream releases.
In a formal sense, an ebuild islive if it has a variablePROPERTIES with a value "live" inside it. If an ebuild inherits a VCS eclass (e.g. git-r3, mercurial, darcs), it will be live, because these eclasses have a linePROPERTIES+=" live".
See also
- Basic guide to write Gentoo Ebuilds — getting started writingebuilds, to harness the power ofPortage, to install and manage even more software.
- Submitting ebuilds — explains how to submit ebuilds for inclusion in theGentoo ebuild repository
- Package Manager Specification — a standardization effort to ensure that theebuild file format, the ebuild repository format (of which the Gentoo ebuild repository is the main incarnation), as well as behavior of the package managers interacting with these ebuilds is properly agreed upon and documented.
- Portage — the officialpackage manager anddistribution system for Gentoo.
External resources
- ebuild eclass reference in the developer manual
- ebuild-maintainer-quiz.txt - Gentoo developer ebuild quiz
- ebuild command's man page
- ebuild file format man page
- Gentoo devmanual
- Quickstart ebuild guide from the devmanual
