Lost /var/sadm/install/contents file and /var/sadm/pkg

Hello, I recently found that my /var/sadm/install/contents, ~/admin/default, /var/spool/patch and /var/spool/pkg files were empty.
This broke the pkginfo, pkgchk and other package related tools.
The pkgmap no longer points to where the applications have been installed.
I have replaced the contents and default files with ones from an older copy of the drive as our drives are cloned.
This restored the missing files but of course did nothing to address the files that were once installed on the system but are no longer.
Is there a tool that I can use to tell the system to "recrawl" and discover what has been installed?
It's looking more and more like no since the /var/sadm/install/contents file is considered the registry of Solaris systems and anything that was installed should have a folder there.
Some of the things I tried, not in this order, have been:

  1. Mount the cloned drive's /var partion and Re-run the pkgadd program on all the SUNW? files replaced in the pkg directory. I recieved some errors from pkgadd resulting in a failed attempt.
    pkgadd - /rescue/sadm/pkg -s /var/spool/pkg.

  2. Mount the cloned drive's /var partition and manually copy the SUNW? files over to the /var/sadm/pkg directory and run pkgadd. This result was the same as above, the program worked, listed all the packages and after using CTRL-D allowed me to select "all" for my choice of install. This failed on the very first package stating it couldn't find it.

  3. Mount the cloned drives /var partiton and from in that mounted partition run pkgadd and pkgadd -d <filename>. This returned an error:
    pkgadd: Error: attempt to process datastream failed

  • open of <filename> failed, errno =2
    pkgadd: ERROR: could not process datastream from <filename>

Any one know a way to get the system to recognize what's installed on it if the "contents" file has been replaced?

ej