diskimage-builder/diskimage_builder/elements/gentoo
Matthew Thode b9f1c7a22f
better handle existing keywords files/directories
The existing directories are needed for stage building (a part of the
Gentoo build process).  Normally these directories are empty, but there
are times where overrides need to be defined.  This commit handles
existing overrides for keywords.  For historical reasons the overrides
were able to be put in different files and directories, this
centralizes them.

This also updates the version of openssl/cryptography that works with
or without bindist.

Change-Id: I62c934ed305a711a4a9a3ef01fa55ad142aebb78
2018-06-25 09:20:52 -05:00
..
bin Update Gentoo element for element changes 2017-10-08 12:02:46 -05:00
environment.d Change the GENTOO_PORTAGE_CLEANUP variable default 2018-03-26 23:26:49 -05:00
extra-data.d Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
finalise.d enable systemd profile for Gentoo 2018-03-22 15:12:59 -05:00
pre-install.d better handle existing keywords files/directories 2018-06-25 09:20:52 -05:00
root.d enable systemd profile for Gentoo 2018-03-22 15:12:59 -05: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 Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
README.rst Change the GENTOO_PORTAGE_CLEANUP variable default 2018-03-26 23:26:49 -05: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

* You can set the GENTOO_PORTAGE_CLEANUP environment variable to False to
  prevent cleaning up portage repositories (including overlays).  This makes
  the image bigger.

* Gentoo supports many diferent 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_5"`.

* 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.5`.

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