diskimage-builder/diskimage_builder/elements/gentoo
Matthew Thode de94e07a86
disable autounmask for emerge
autounmask=y (default) changes portage depsolving, causing errors
(mostly often seen in perl and binpkg related issues).

Disabling this functionality for DIB builds is OK as the enviroment is
not passed on post build and the build process is not interactive
anyway.

Change-Id: Ife9ace246bec16864ee4982bc456763af5dff2e8
Signed-off-by: Matthew Thode <mthode@mthode.org>
2019-07-05 12:41:51 -05:00
..
bin enable caching for gentoo builds 2018-10-15 23:17:37 -05:00
cleanup.d enable caching for gentoo builds 2018-10-15 23:17:37 -05:00
environment.d disable autounmask for emerge 2019-07-05 12:41:51 -05:00
extra-data.d Update gentoo-releng gpg key 2019-02-27 15:18:25 -06:00
finalise.d update spelling errors 2019-01-08 14:31:06 +08:00
pre-finalise.d enable caching for gentoo builds 2018-10-15 23:17:37 -05:00
pre-install.d fix systemd import-tar for gentoo 2019-01-27 18:16:51 -06:00
root.d fail early when lates build information can not be fetched 2019-05-31 16:09:25 +10:00
test-elements/build-succeeds Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
element-deps Run dib-run-parts out of /tmp 2017-04-05 13:11:22 +10:00
element-provides Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
package-installs.yaml Install sudo on Gentoo images by deault 2018-04-24 11:44:39 -05:00
README.rst change to python36 for gentoo 2019-01-08 04:59:08 -06:00

========
Gentoo
========
Use a Gentoo cloud image as the baseline for built disk images. The images are
located in profile specific sub directories:

    http://distfiles.gentoo.org/releases/amd64/autobuilds/

As of this writing, only x86_64 images are available.

Notes:

* There are very frequently new automated builds that include changes that
  happen during the product maintenance. The download directories contain an
  unversioned name and a versioned name. The unversioned name will always
  point to the latest image, but will frequently change its content. The
  versioned one will never change content, but will frequently be deleted and
  replaced by a newer build with a higher version-release number.

* In order to run the package-installs element you will need to make sure
  `dev-python/pyyaml` is installed on the host.

* In order to run the vm element you will need to make sure `sys-block/parted`
  is installed on the host.

* Other profiles can be used by exporting GENTOO_PROFILE with a valid profile.
  A list of valid profiles follows:

    default/linux/amd64/17.0
    default/linux/amd64/17.0/no-multilib
    default/linux/amd64/17.0/hardened
    default/linux/amd64/17.0/no-multilib/hardened
    default/linux/amd64/17.0/systemd

* You can set the `GENTOO_PORTAGE_CLEANUP` environment variable to False to
  disable the clean up of portage repositories (including overlays).  This
  will make the image bigger if caching is also disabled.

* Gentoo supports many different versions of python, in order to select one
  you may use the `GENTOO_PYTHON_TARGETS` environment variable to select
  the versions of python you want on your image.  The format of this variable
  is a string as follows `"python2_7 python3_6"`.

* In addition you can select the primary python version you wish to use (that
  which will be called by running the `python` command.  The
  `GENTOO_PYTHON_ACTIVE_VERSION` is used to set that mapping.  The variable
  contents can be something like `python3.6`.

* You can enable overlays using the `GENTOO_OVERLAYS` variable.  In it you
  should put a space separated list of overlays.  The overlays must be in the
  official overlay list and must be git based.

* `GENTOO_EMERGE_ENV` is a bash array containing default environment
  variables for package install, you can override it with another bash array.

* `GENTOO_EMERGE_DEFAULT_OPTS` can be set to control the default options
  passed to emerge for all package actions, this includes operations like
  depclean and preserved-rebuild.