#!/bin/sh # vim: set sw=4 ts=4 sts=4 et : set -e . "${CONFIGDIR:=${PWD}}"/config unset MAKEFLAGS MAKEOVERRIDES MAKELEVEL # Ensure we have a Portage repo if [ ! -f /var/db/repos/gentoo/metadata/timestamp ]; then emerge-webrsync fi chown portage: "$(portageq envvar DISTDIR)" ARCH=$(PORTAGE_CONFIGROOT=/usr/${target} portageq envvar ARCH) PKGDIR=$(portageq envvar PKGDIR) FEATURES="${FEATURES} binpkg-multi-instance" # For some reason, libcap installs its pkg-config files in the wrong # place. More strangely, even though `PKG_CONFIG_PATH` contains that # directory, `pkg-config` does not find the `.pc` files for libcap. # We work around this by merging /usr/lib64/pkgconfig and # /usr/lib/pkgconfig. FEATURES="${FEATURES}" \ PKGDIR="${PKGDIR}" \ ${target}-emerge -kb1vnj sys-libs/libcap if [ -d /usr/${target}/usr/lib/pkgconfig ] \ && [ ! -d /usr/${target}/usr/lib64/pkgconfig ]; then mv /usr/${target}/usr/lib/pkgconfig /usr/${target}/usr/lib64 ln -snf ../lib64/pkgconfig /usr/${target}/usr/lib/pkgconfig fi if [ ! -f portage/make.conf/10-crossdev.conf ]; then mkdir -p "${O}"/portage/etc/portage/make.conf sed -r \ -e 's: ?-pam::' \ -e '/PKGDIR=/d' \ -e '/ACCEPT_KEYWORDS/d' \ /usr/${target}/etc/portage/make.conf \ > "${O}"/portage/etc/portage/make.conf/10-crossdev.conf fi FEATURES="${FEATURES}" \ PKGDIR="${PKGDIR}" \ ${target}-emerge -bk1nvj sys-libs/glibc FEATURES="${FEATURES}" \ PKGDIR=$(portageq envvar PKGDIR) \ USE='pam build' \ ${target}-emerge -bknvj sys-apps/util-linux # Set the Portage profile mkdir -p "${O}"/portage/etc/portage ln -snf \ /var/db/repos/gentoo/profiles/${profile} \ ${O}/portage/etc/portage/make.profile