# Copyright (c) 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.

ROOT=/usr/local

PORTDIR=${ROOT}/portage

PKGDIR=${ROOT}/portage/packages

DISTDIR=${ROOT}/portage/distfiles

RPMDIR=${ROOT}/portage/rpm

PORTAGE_TMPDIR=${ROOT}/var/tmp

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

CONFIG_PROTECT="/usr/share/portage"

