# Copyright 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This configuration file is intended to reside in the rootfs of pristine
# images. If the developer mode switch is enabled these settings will allow
# us to bootstrap emerge and allow to install packages in /usr/local. Rootfs
# will remain unmodified.

# Point everything to /usr/local.
ROOT=/usr/local

PORTDIR="${ROOT}/portage"

PKGDIR="${ROOT}/portage/packages"

DISTDIR="${ROOT}/portage/distfiles"

RPMDIR="${ROOT}/portage/rpm"

PORTAGE_TMPDIR="${ROOT}/tmp"

BUILD_PREFIX="${ROOT}/tmp/portage"

CONFIG_PROTECT="/usr/local/share/portage"

PORTAGE_WORKDIR_MODE="0700"

EMERGE_DEFAULT_OPTS="--getbinpkg --usepkgonly"

# use curl instead of wget since curl supports HTTPS with Subject Alternative
# Name (commondatastorage.googleapis.com for googleusercontent.com)
FETCHCOMMAND="/usr/bin/curl --connect-timeout 15 -# -o \${DISTDIR}/\${FILE} \${URI}"
RESUMECOMMAND="/usr/bin/curl --connect-timeout 15 -# -C - -o \${DISTDIR}/\${FILE}\${URI}"

IUSE_IMPLICIT="@IUSE_IMPLICIT@"
ARCH="@ARCH@"
ELIBC="@ELIBC@"
USERLAND="@USERLAND@"
KERNEL="@KERNEL@"
USE_EXPAND_IMPLICIT="@USE_EXPAND_IMPLICIT@"
ACCEPT_KEYWORDS="~${ARCH} ${ARCH}"
