Ebuild
Encyclopedia
An ebuild is a specialized bash script format created by the Gentoo Linux
project for use in its Portage
software management system, which automates compilation
and installation
procedures for software packages.
Each version of an application or package in the Portage repository has a specific ebuild script written for it. The script is used by the emerge tool, also created by the Gentoo Linux project, to calculate any dependencies of the desired software installation, download the required files (and patch
them, if necessary), configure the package (based on "USE flag" settings), compile, and perform a sandboxed
installation (in /var/tmp/portage/[ebuild name]/image/ by default). Upon successful completion of these steps, the installed files are merged into the live system, outside the sandbox.
Although most ebuilds found in the Gentoo Portage repository are used to compile programs from source code
, there are also ebuilds to install binary packages
, ebuilds that install only documentation or data such as fonts
, and basic ebuilds called "metabuilds" which solely trigger the installation of other ebuilds (such as the GNOME
or KDE
metabuilds).
Gentoo Linux
Gentoo Linux is a computer operating system built on top of the Linux kernel and based on the Portage package management system. It is distributed as free and open source software. Unlike a conventional software distribution, the user compiles the source code locally according to their chosen...
project for use in its Portage
Portage (software)
Portage is a package management system used by Gentoo Linux, based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project is concerned with using...
software management system, which automates compilation
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
and installation
Installation (computer programs)
Installation of a program is the act of putting the program onto a computer system so that it can be executed....
procedures for software packages.
Each version of an application or package in the Portage repository has a specific ebuild script written for it. The script is used by the emerge tool, also created by the Gentoo Linux project, to calculate any dependencies of the desired software installation, download the required files (and patch
Patch (computing)
A patch is a piece of software designed to fix problems with, or update a computer program or its supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance...
them, if necessary), configure the package (based on "USE flag" settings), compile, and perform a sandboxed
Sandbox (software development)
A sandbox is a testing environment that isolates untested code changes and outright experimentation from the production environment or repository, in the context of software development including Web development and revision control...
installation (in /var/tmp/portage/[ebuild name]/image/ by default). Upon successful completion of these steps, the installed files are merged into the live system, outside the sandbox.
Although most ebuilds found in the Gentoo Portage repository are used to compile programs from source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
, there are also ebuilds to install binary packages
Executable
In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU...
, ebuilds that install only documentation or data such as fonts
Computer font
A computer font is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats. Although the term font first referred to a set of metal type sorts in one style and size, since the 1990s it is generally used to refer to a scalable set of digital shapes that may be...
, and basic ebuilds called "metabuilds" which solely trigger the installation of other ebuilds (such as the GNOME
GNOME
GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...
or KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...
metabuilds).