diff --git a/diskimage_builder/elements/gentoo/bin/install-packages b/diskimage_builder/elements/gentoo/bin/install-packages index b98ec16a..9977cbc2 100755 --- a/diskimage_builder/elements/gentoo/bin/install-packages +++ b/diskimage_builder/elements/gentoo/bin/install-packages @@ -35,12 +35,12 @@ function show_options { function install_gentoo_packages { RUN_ONCE_SHM='1' if mountpoint -q /dev/shm; then - emerge $@ + FEATURES="binpkg-multi-instance buildpkg parallel-fetch parallel-install" emerge --binpkg-respect-use --rebuilt-binaries=y --usepkg=y --with-bdeps=y --binpkg-changed-deps=y $@ elif [[ -k /dev/shm ]]; then - emerge $@ + FEATURES="binpkg-multi-instance buildpkg parallel-fetch parallel-install" emerge --binpkg-respect-use --rebuilt-binaries=y --usepkg=y --with-bdeps=y --binpkg-changed-deps=y $@ else fix_shm - emerge $@ + FEATURES="binpkg-multi-instance buildpkg parallel-fetch parallel-install" emerge --binpkg-respect-use --rebuilt-binaries=y --usepkg=y --with-bdeps=y --binpkg-changed-deps=y $@ unfix_shm fi } diff --git a/diskimage_builder/elements/gentoo/root.d/50-gentoo-cache b/diskimage_builder/elements/gentoo/root.d/50-gentoo-cache new file mode 100755 index 00000000..caadd96d --- /dev/null +++ b/diskimage_builder/elements/gentoo/root.d/50-gentoo-cache @@ -0,0 +1,20 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +[ -n "${TARGET_ROOT}" ] + +GENTOO_PORTAGE_DISTFILES_DIR="${DIB_IMAGE_CACHE}/gentoo/distfiles" +GENTOO_PORTAGE_PAKCAGE_DIR="${DIB_IMAGE_CACHE}/gentoo/packages/${GENTOO_PROFILE}" +GENTOO_PORTAGE_DIR="${DIB_IMAGE_CACHE}/gentoo/portage" +mkdir -p "${GENTOO_PORTAGE_DIR}" "${GENTOO_PORTAGE_PAKCAGE_DIR}" "${GENTOO_PORTAGE_DISTFILES_DIR}" + +sudo mount --bind "${GENTOO_PORTAGE_DIR}" "${TMP_MOUNT_PATH}"/usr/portage +mkdir "${TMP_MOUNT_PATH}"/usr/portage/distfiles +sudo mount --bind "${GENTOO_PORTAGE_DISTFILES_DIR}" "${TMP_MOUNT_PATH}"/usr/portage/distfiles +mkdir "${TMP_MOUNT_PATH}"/usr/portage/packages +sudo mount --bind "${GENTOO_PORTAGE_PAKCAGE_DIR}" "${TMP_MOUNT_PATH}"/usr/portage/packages