Ebuild Ebuild

Ebuild - Definition and Overview

An Ebuild is a bash script written for the Portage system of Gentoo Linux. Each application in the portage tree has an ebuild written for it, and the ebuild, invoked with "emerge nameofebuild", automatically compiles (if necessary) and installs the program, and any required dependencies. Ebuild files are usually named as "name-version.ebuild". Usually, the ebuild is designed to install an application from source, although some ebuilds are designed for binaries. Other ebuilds install meta-packages or virtual packages. Here is an example ebuild for the Beep (http://www.johnath.com/beep/) software:

# Copyright 1999-2004 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.16 2004/07/14 01:43:23 mr_bones_ 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"
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
}

External links

Example Usage of Ebuild

poplarch: @yegle 囧,直接去掉了chromium的Ebuild中depend块的alsa-lib,不知道编译之后会有什么后果……
poplarch: @yegle moc、thunderbird、chromium都报libasound这个错误,thunderbird通过修改Ebuild去除alsa依赖重新emerge,已经没有问题了,moc还有一些小报错,不过已经解决,看看chromium去><
poplarch: @risent 能够同享一下能够同步书签的Ebuild么?我是直接从gentoo bugzilla上弄到的google-chrome-bin-9999.Ebuild,我修改了一下,但是还是不能同步书签,加上--enable-sync也无效。
Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.