ebuild man page on Gentoo

Man page or keyword search:  
man Server   6889 pages
apropos Keyword Search (all sections)
Output format
Gentoo logo
[printable version]

EBUILD(1)			    Portage			     EBUILD(1)

NAME
       ebuild - a low level interface to the Portage system

SYNOPSIS
       ebuild file command [command]...

DESCRIPTION
       The  ebuild  program  is	 a  direct interface to the Portage system. It
       allows for direct action upon an ebuild with  specific  subcommands  or
       groups  of commands to perform in a specific ebuild's context and func‐
       tions.  Accepting an ebuild script and one or more  commands  as	 argu‐
       ments,  the  ebuild  program  parses the ebuild script and executes the
       specified commands.  Commands exist to fetch sources,  unpack  sources,
       compile	sources,  install  object  files  into	a  temporary directory
       "image", merge the image to the local filesystem, create a bzipped tar‐
       ball package out of the image, and more.

FILE
       This  must  be  a  valid	 ebuild	 script.  For further information read
       ebuild(5).

COMMANDS
       By default, portage will execute all the functions in order up  to  the
       one actually specified, except for the functions that have already been
       executed in a previous invocation of ebuild.  For example, simply issu‐
       ing the command compile will trigger the functions before it to also be
       run (such as setup and unpack), unless they  were  run  in  a  previous
       invocation  of  ebuild.	If you want to make sure they are all run, you
       need to use the command clean first.  If you  wish  to  only  have  the
       specified  command  run,	 then  you should use the noauto option in the
       FEATURES environment variable.  See the make.conf(5) man page for  more
       information.

       help   Shows  a	condensed  form	 of  this man page along with a lot of
	      package specific information.

       setup  Runs  all	 package-specific  setup  actions  and	exotic	system
	      checks.

       clean  Cleans  the  temporary  build directory that Portage has created
	      for this particular ebuild file.	The temporary build  directory
	      normally contains the extracted source files as well as a possi‐
	      ble "install image" (all the files that will be  merged  to  the
	      local  filesystem	 or stored in a package).  The location of the
	      build directory is set  by  the  PORTAGE_TMPDIR  variable.   For
	      information  on  what this variable is, run emerge --info, or to
	      override this variable, see make.conf(5).

	      Note: Portage cleans up almost everything after  a  package  has
	      been  successfully  merged  unless  FEATURES contains 'noclean'.
	      Adding noclean to FEATURES will cause a lot of files  to	remain
	      and  will	 consume  large amounts of space, very quickly.	 It is
	      not recommended to leave this on, unless you have	 use  for  the
	      sources  post-merge.   Optionally,  one may manually clean these
	      files with rm -rf /var/tmp/portage.

       fetch  Checks to see if all the sources specified in SRC_URI are avail‐
	      able in DISTDIR (see make.conf(5) for more information) and have
	      a valid checksum.	 If the sources aren't available,  an  attempt
	      is  made	to  download  them  from  the  locations  specified in
	      SRC_URI.	If multiple download locations are listed for  a  par‐
	      ticular  file, Portage pings each location to see which location
	      is closer. (May not be true presently.)  The Gentoo  Linux  mir‐
	      rors  defined  by GENTOO_MIRRORS is always considered first.  If
	      for some reason the current or just-downloaded  sources'	check‐
	      sums  don't match those recorded in files/digest-[package]-[ver‐
	      sion-rev], a warning is printed and ebuild exits with  an	 error
	      code of 1.

       digest This is now equivalent to the manifest command.

       manifest
	      Updates  the manifest file for the package.  This creates check‐
	      sums for all of the files found in the  same  directory  as  the
	      current  ebuild  as  well as the recursive contents of the files
	      subdirectory. It also creates checksums for  all	of  the	 files
	      listed  in  SRC_URI  for	each  ebuild.  For further information
	      regarding the behavior of this command,  see  the	 documentation
	      for  the	assume-digests	value  of  the	FEATURES  variable  in
	      make.conf(5). See the --force option if you would like  to  pre‐
	      vent digests from being assumed.

       unpack Extracts	the  sources  to a subdirectory in the build directory
	      (BUILD_PREFIX) by	 running  the  src_unpack()  function  in  the
	      ebuild  file.  If no src_unpack() function has been specified, a
	      default src_unpack() function is	used  that  extracts  all  the
	      files  specified in SRC_URI.  The sources are normally extracted
	      to ${BUILD_PREFIX}/[package]-[version-rev]/work.	This  particu‐
	      lar  directory  can  be referenced by using the ${WORKDIR} vari‐
	      able.

	      If you're creating an ebuild, you'll want to make sure that  the
	      S	 (source directory) variable defined at the top of your ebuild
	      script points to the  directory  that  contains  your  extracted
	      sources.	  This	 directory   is	  defined  by  default	to  be
	      ${WORKDIR}/${P}, so it is not often required.  The  src_unpack()
	      function	is also responsible for making the appropriate patches
	      to the sources so that they're ready for compilation.

       prepare
	      Prepares the extracted  sources  by  running  the	 src_prepare()
	      function	specified  in  the  ebuild  file.  When	 src_prepare()
	      starts, the current working directory will be set to ${S}.  This
	      function is supported beginning with EAPI 2.

       configure
	      Configures  the extracted sources by running the src_configure()
	      function specified in  the  ebuild  file.	 When  src_configure()
	      starts,  the current working directory will be set to ${S}. This
	      function is supported beginning with EAPI 2.

       compile
	      Compiles the extracted  sources  by  running  the	 src_compile()
	      function	specified  in  the  ebuild  file.   When src_compile()
	      starts, the current working directory will be set to ${S}.  When
	      src_compile() completes, the sources should be fully compiled.

       test   Runs  package-specific  test cases to verify that everything was
	      built properly.

       preinst
	      Runs package-specific actions that need to be  done  before  the
	      package is installed into the live filesystem.

       install
	      Installs	the package to the temporary install directory by run‐
	      ning the src_install() function.	When  completed,  the  install
	      directory	 (${BUILD_PREFIX}/[package]-[version-rev]/image)  will
	      contain all the files that should either be merged to the	 local
	      filesystem or included in a binary package.

       postinst
	      Runs  package-specific  actions  that  need to be done after the
	      package is installed into the live filesystem.  Usually  helpful
	      messages are shown here.

       qmerge This function installs all the files in the install directory to
	      the live filesystem.  The process works as follows:  first,  the
	      pkg_preinst()  function  (if specified) is run.  Then, the files
	      are merged into the live filesystem, and	the  installed	files'
	      checksums	     are      recorded	    in	   /var/db/pkg/${CATE‐
	      GORY}/${PN}-${PVR}/CONTENTS.  After  all	the  files  have  been
	      merged, the pkg_postinst() function (if specified) is executed.

       merge  Normally,	 to  merge  an ebuild, you need to fetch, unpack, com‐
	      pile, install and qmerge.	 If you're simply interested in	 merg‐
	      ing the ebuild, you can use this command, which will perform all
	      these steps for you, stopping along the way if a particular step
	      doesn't complete successfully.

       unmerge
	      This function first executes the pkg_prerm() function (if speci‐
	      fied).  Then it removes all files from the live filesystem  that
	      have  a  valid  checksum and mtime in the package contents file.
	      Any empty directories are recursively removed.  Finally, it runs
	      pkg_postrm() function (if specified).  It is safe to merge a new
	      version of a package first and then unmerge  the	old  one.   In
	      fact, this is the recommended package upgrade method.

       prerm  Runs  package-specific  actions  that need to be executed before
	      the package is removed from the filesystem.  See also unmerge.

       postrm Runs package-specific actions that need to be executed after the
	      package is removed from the filesystem.  See also unmerge.

       config Runs package-specific actions that need to be executed after the
	      emerge process has completed.  This  usually  entails  setup  of
	      configuration  files  or	other similar setups that the user may
	      wish to run.

       package
	      This command is a lot like the merge command, except that	 after
	      fetching,	 unpacking,  compiling	and installing, a .tbz2 binary
	      package  tarball	is  created  and   stored   in	 PKGDIR	  (see
	      make.conf(5)).

       rpm    Builds  a	 RedHat	 RPM  package  from the files in the temporary
	      install directory.   At  the  moment,  the  ebuild's  dependency
	      information is not incorporated into the RPM.

OPTIONS
       --debug
	      Run bash with the -x option, causing it to output verbose debug‐
	      ging information to stdout.

       --color < y | n >
	      Enable or disable	 color	output.	  This	option	will  override
	      NOCOLOR  (see  make.conf(5)) and may also be used to force color
	      output when stdout is not a tty (by default, color  is  disabled
	      unless stdout is a tty).

       --force
	      When  used  together  with  the digest or manifest command, this
	      option forces regeneration of digests for all distfiles  associ‐
	      ated  with the current ebuild. Any distfiles that do not already
	      exist in ${DISTDIR} will be automatically fetched.

       --ignore-default-opts
	      Do not use the EBUILD_DEFAULT_OPTS environment variable.

       --skip-manifest
	      Skip all manifest checks.

REPORTING BUGS
       Please report bugs via http://bugs.gentoo.org/

AUTHORS
       Achim Gottinger <achim@gentoo.org>
       Daniel Robbins <drobbins@gentoo.org>
       Nicholas Jones <carpaski@gentoo.org>
       Mike Frysinger <vapier@gentoo.org>

FILES
       /etc/portage/make.conf
	      Contains variables for the build-process and overwrites those in
	      make.globals.

       /etc/portage/color.map
	      Contains variables customizing colors.

SEE ALSO
       emerge(1), ebuild(5), make.conf(5), color.map(5)

       The /usr/lib/portage/bin/ebuild.sh script.

       The helper apps in /usr/lib/portage/bin.

Portage 2.2.8-r1		   Mar 2013			     EBUILD(1)
[top]

List of man pages available for Gentoo

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net