# Copyright 2008 Gentoo Foundation.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/default/linux/packages.build,v 1.2 2008/04/06 15:40:55 wolf31o2 Exp $

# This file describes the packages needed to build a stage1 based on this
# profile.  Packages in this file are built in order.

# While shadow could be in here, it breaks stage 1 and stage 2 building for the
# releases.  PLEASE DO NOT ENABLE THIS UNLESS YOU HAVE THOROUGHLY TESTED IT!

app-arch/bzip2
app-arch/gzip
app-arch/tar
app-shells/bash
net-misc/rsync
net-misc/wget
sys-devel/autoconf
sys-devel/automake
sys-devel/libtool
sys-apps/baselayout
sys-apps/coreutils
sys-apps/diffutils
sys-apps/file
sys-apps/findutils
sys-apps/gawk
sys-apps/grep
sys-apps/less
sys-apps/net-tools
sys-apps/sed
sys-apps/texinfo
sys-devel/binutils
sys-devel/bison
sys-devel/flex
sys-devel/gcc
sys-devel/gettext
sys-devel/gnuconfig
sys-devel/make
sys-devel/patch
virtual/editor
virtual/libc
virtual/os-headers
virtual/portage
