opscode/omnibus-ruby — pull request #15 by schisamo (2012-11-17 00:34:41+00:00)
Title: improved version map

/cc @danielsdeleo @sdelano @seth

This PR address two issues with the output from `Omnibus::Reports.pretty_version_map`:

1. only register software components that are dependencies for a project

This will stop the version manifest for a particular project from having
versions for ALLTHETHINGS. In particular all software components that
ship in `omnibus-software` were showing up in chef-server's version
manifest.

2. Omnibus::Reports.pretty_version_map should display a version 'guid'

The content returned by pretty_version_map currently does not display
enough information to truly reconstruct an Omnibus package. A good
example of this issue would be a software definition that has a git
source with a version set to 'master'.

The easiest way to alleviate this issue is add a version guid to the
output in pretty_version_map. The contents/source of this version guid
differ for each software component depending on the underlying fetcher
implementation:

* GitFetcher: current revision SHA
* NetFetcher (and S3CacheFetcher): MD5 checksum

The new output looks something like this:

```bash
$ cat /opt/chef-server/version-manifest.txt
chef-server 0.10.8-317-g83546b4

bookshelf: master git: 92fd6d3308ad7bcdd4e7ab64c39c7678973df448
chef-expander: master git: 70806178f803cd014e6b02538adbe030110ee9d6
chef-gem: 10.14.2
chef-pedant: 69e7b8400292a249e1058242d02a58c9f92b4d08 git: 69e7b8400292a249e1058242d02a58c9f92b4d08
chef-server-cookbooks:
chef-server-ctl:
chef-server-scripts:
chef-server-webui: master git: 2792bc19c39c9d00a67459573a465d3eb5f750e1
chef-solr: master git: d2dcfa93f17a098652a4f418ab734a6f6dbbff3a
erchef: ba5ed2a501a3b137dd08b179505a2e1981fd430f git: ba5ed2a501a3b137dd08b179505a2e1981fd430f
mysql2: 0.3.6-0.3.7
nginx: 1.2.3 md5: 0a986e60826d9e3b453dbefc36bf8f6c
postgresql: 9.2.1 md5: c0b4799ea9850eae3ead14f0a60e9418
preparation:
rabbitmq: 2.7.1 md5: 34a5f9fb6f22e6681092443fcc80324f
runit: 2.1.1 md5: 8fa53ea8f71d88da9503f62793336bc3
unicorn: 4.2.0
version-manifest:
```