Ebuild
Um ebuild é um script bash cujo conteúdo propicia a instalação automatizada (possivelmente incluindo a compilação) de software na distribuição de GNU/Linux Gentoo. É um dos conceitos fundamentais do sistema Portage.
Cada versão de cada pacote no repositório Portage corresponde a um ebuild específico.
O ebuild é usado pela ferramenta emerge, que também faz parte do Gentoo. A ferramenta emerge usa o ebuild para calcular as dependências de um certo pacote, fazer o download dos arquivos necessários (e aplicar um patch neles, se necessário), configurar o pacote (baseado nas configurações de USE), compilar (caso necessário), instalar dentro de uma sandbox e então instalar o pacote no sistema (fora da sandbox).
Muitos ebuilds são usados para compilar programas a partir do código fonte, mas também existem ebuilds para instalar pacotes binários (pré-compilados), ebuilds para instalar documentação ou dados, e os chamados "metabuilds", que apenas causam a instalação de outros ebuilds (por exemplo, os metabuilds GNOME e KDE).
Exemplo
[editar | editar código-fonte]Este é o ebuild oficial da versão 1.2.2 do software Beep:
# Copyright 1999-2005 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.ebuild,v 1.21 2005/06/28 01:48:54 gustavoz Exp $ 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="x86 ppc alpha amd64 ppc64 sparc" IUSE="" DEPEND="virtual/libc" src_compile() { emake FLAGS="${CFLAGS}" || die "compile problem" } src_install() { dobin beep # do we really have to set this suid by default? -solar fperms 4711 /usr/bin/beep doman beep.1.gz dodoc CHANGELOG CREDITS README }