After reading the anaconda sources and the yum documentation, I
realized that all of the package information is in the yum
repository. The file /Fedora/i386/os/repodata/repomd.xml
specifies the data in the other files, according to
the (out-of-date) description at http://createrepo.baseurl.org/.
In repomd.xml there is one file labeled as type "group". For
Fedora it is nnnn-Fedora-11.comps.xml. In this file, packages
are listed in groups. Each group is labeled as default or not,
and each package is labeled as default, mandatory, or optional.
Anaconda uses the python yum module to offer installation options
based on this data. Yum may install additional packages according
The anaconda install may impose some requirements, such as
requiring that the "base" group be installed, and which packages
are in that group may be found as above. Finding dependencies is
down to yum, and I would guess that it's hard to determine this
chain without simply running yum and seeing what happens.
The bottom line seems to be that to find out which packages are
minimally required for Fedora, the only way to do it is to
install Fedora with as little selected as possible and then look
Thanks to everyone who helped for all the useful ideas.