The .cache file holds automatically generated information about the package such as dependencies, build time, files, size ...
Packages committed to the T2 Linux source tree get build on a regular basis on test systems by the tree maintainer. For each of such regression tests a .cache file is generated and placed into the package directory. When the package failed this is marked in the file and the tail of the ERROR-LOG is also inserted. The main use of a cache file during the build process is to resolve dependencies and to queue the packages during a Cluster-Build. Cache file can look like this:
[TIMESTAMP] 1133956688 Wed Dec 7 12:58:08 2005 [BUILDTIME] 80 (9) [SIZE] 47.48 MB, 4326 files [DEP] bash bdb bdb33 binutils bluez-libs bzip2 coreutils [DEP] diffutils findutils gawk gcc gdbm glibc grep [DEP] libx11 linux-header make mktemp ncurses net-tools [DEP] openssl patch readline sed sysfiles tar tcl [DEP] tk util-linux xproto zlib
The dependencies included in the .cache file are only the direct or explicit dependencies of this single package. The recursive, indirect or implicit dependencies of the packages' dependencies are generated on the fly in e.g. Create-PkgQueue or Emerge-Pkg.
When 'Disable packages which are marked as broken' is selected in the config, a package will not be built if a .cache file does not exist, or indicates an error.