spacepaste

  1.  
  2. diff --git a/diskimage_builder/elements/gentoo/bin/install-packages b/diskimage_builder/elements/gentoo/bin/install-packages
  3. index b98ec16a..9977cbc2 100755
  4. --- a/diskimage_builder/elements/gentoo/bin/install-packages
  5. +++ b/diskimage_builder/elements/gentoo/bin/install-packages
  6. @@ -35,12 +35,12 @@ function show_options {
  7. function install_gentoo_packages {
  8. RUN_ONCE_SHM='1'
  9. if mountpoint -q /dev/shm; then
  10. - emerge $@
  11. + 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 $@
  12. elif [[ -k /dev/shm ]]; then
  13. - emerge $@
  14. + 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 $@
  15. else
  16. fix_shm
  17. - emerge $@
  18. + 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 $@
  19. unfix_shm
  20. fi
  21. }
  22. diff --git a/diskimage_builder/elements/gentoo/root.d/50-gentoo-cache b/diskimage_builder/elements/gentoo/root.d/50-gentoo-cache
  23. new file mode 100755
  24. index 00000000..caadd96d
  25. --- /dev/null
  26. +++ b/diskimage_builder/elements/gentoo/root.d/50-gentoo-cache
  27. @@ -0,0 +1,20 @@
  28. +#!/bin/bash
  29. +
  30. +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
  31. + set -x
  32. +fi
  33. +set -eu
  34. +set -o pipefail
  35. +
  36. +[ -n "${TARGET_ROOT}" ]
  37. +
  38. +GENTOO_PORTAGE_DISTFILES_DIR="${DIB_IMAGE_CACHE}/gentoo/distfiles"
  39. +GENTOO_PORTAGE_PAKCAGE_DIR="${DIB_IMAGE_CACHE}/gentoo/packages/${GENTOO_PROFILE}"
  40. +GENTOO_PORTAGE_DIR="${DIB_IMAGE_CACHE}/gentoo/portage"
  41. +mkdir -p "${GENTOO_PORTAGE_DIR}" "${GENTOO_PORTAGE_PAKCAGE_DIR}" "${GENTOO_PORTAGE_DISTFILES_DIR}"
  42. +
  43. +sudo mount --bind "${GENTOO_PORTAGE_DIR}" "${TMP_MOUNT_PATH}"/usr/portage
  44. +mkdir "${TMP_MOUNT_PATH}"/usr/portage/distfiles
  45. +sudo mount --bind "${GENTOO_PORTAGE_DISTFILES_DIR}" "${TMP_MOUNT_PATH}"/usr/portage/distfiles
  46. +mkdir "${TMP_MOUNT_PATH}"/usr/portage/packages
  47. +sudo mount --bind "${GENTOO_PORTAGE_PAKCAGE_DIR}" "${TMP_MOUNT_PATH}"/usr/portage/packages
  48.