# this is your configuration file for pbuilder.
# the file in /usr/share/pbuilder/pbuilderrc is the default template.
# /etc/pbuilderrc is the one meant for overwriting defaults in
# the default template
#
# read pbuilderrc.5 document for notes on specific options.
OTHERMIRROR="deb https://packages.cloud.google.com/apt mendel-day main|deb https://packages.cloud.google.com/apt mendel-bsp-$BOARD_NAME-day main"
PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-apt
export DEPSBASE=$PRODUCT_OUT/packages
BINDMOUNTS="$DEPSBASE $ROOTDIR"
APTCACHE=$ROOTDIR/cache/pbuilder_apt
APTCACHEHARDLINK=no
BUILDPLACE=$PRODUCT_OUT/obj/PBUILDER
USENETWORK=yes
