Jump to content

Ebuild: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
copyedit
fix anchor link
Line 2: Line 2:
An '''ebuild''' is a specialized [[bash]] script format created by the [[Gentoo Linux]] project for use in its [[Portage (software)|Portage]] software management system, which automates [[Compiler|compilation]] and [[installation (computer programs)|installation]] procedures for software packages.
An '''ebuild''' is a specialized [[bash]] script format created by the [[Gentoo Linux]] project for use in its [[Portage (software)|Portage]] software management system, which automates [[Compiler|compilation]] and [[installation (computer programs)|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 [[Portage (software)#emerge|emerge]] tool, also created by the Gentoo Linux project, to calculate any dependencies of the desired software installation, download the required files (and [[Patch (computing)|patch]] them, if necessary), configure the package (based on "USE flag" settings), compile, and perform a [[sandbox (software development)|sandboxed]] installation (in <tt>/var/tmp/portage/''[ebuild name]''/image/</tt> by default). Upon successful completion of these steps, the installed files are merged into the live system, outside the sandbox.
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 [[Portage (software)#Emerge|emerge]] tool, also created by the Gentoo Linux project, to calculate any dependencies of the desired software installation, download the required files (and [[Patch (computing)|patch]] them, if necessary), configure the package (based on "USE flag" settings), compile, and perform a [[sandbox (software development)|sandboxed]] installation (in <tt>/var/tmp/portage/''[ebuild name]''/image/</tt> 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 [[Executable|binary packages]], ebuilds that install only documentation or data such as [[Computer font|fonts]], and basic ebuilds called "metabuilds" which solely trigger the installation of other ebuilds (such as the [[GNOME]] or [[KDE]] metabuilds).
Although most ebuilds found in the Gentoo Portage repository are used to compile programs from [[source code]], there are also ebuilds to install [[Executable|binary packages]], ebuilds that install only documentation or data such as [[Computer font|fonts]], and basic ebuilds called "metabuilds" which solely trigger the installation of other ebuilds (such as the [[GNOME]] or [[KDE]] metabuilds).

Revision as of 15:18, 4 November 2008

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).

Example

Here is an example ebuild for version 1.2.2 of the Beep software:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/beep/beep-1.2.2-r1.ebuild,v 1.3 2006/08/19 11:00:37 kloeri Exp $

inherit eutils base

DESCRIPTION="the advanced PC speaker beeper"
HOMEPAGE="http://www.johnath.com/beep/"
SRC_URI="http://www.johnath.com/beep/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ~ppc ~ppc64 ~sparc ~x86"
IUSE=""

PATCHES="${FILESDIR}/${P}-nosuid.patch"

src_compile() {
	emake FLAGS="${CFLAGS}" || die "compile problem"
}

src_install() {
	dobin beep
	fperms 0711 /usr/bin/beep
	doman beep.1.gz
	dodoc CHANGELOG CREDITS README
}

See also