#!/bin/bash if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then set -x fi set -eu set -o pipefail if [[ ${GENTOO_OVERLAYS} != '' ]]; then if mountpoint -q /dev/shm; then echo "/dev/shm found in /proc/self/mountinfo" elif [[ -k /dev/shm ]]; then echo "/dev/shm exists and is stickied" else fix_shm fi if [[ ! -f /usr/portage/profiles ]]; then emerge-webrsync -q fi # layman requires cryptography, which needs ecc crypto functions. # binaries providing those functions have questionable legality for # redistribution, so we have to use a version of openssl that works around # it (using fedora's patchset) and also use a version of cryptography that # depends on that version of openssl. echo '=dev-python/cryptography-2.1.4-r2 ~amd64' >> /etc/portage/package.keywords/layman echo '=dev-libs/openssl-1.0.2o-r6 ~amd64' >> /etc/portage/package.keywords/layman emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot openssl openssh # install layman emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot --deep --ignore-built-slot-operator-deps=y layman # sync the initial overlay list layman -S # enable the various overlays, ignore failures (overlay my already be enabled) set +e for OVERLAY in ${GENTOO_OVERLAYS}; do layman -a "${OVERLAY}" done set -e unfix_shm fi