lib: Add -v23.metadata, which dumps metadata for the binary.

The metadata package is a map from string ids to string values,
and provides a mechanism to set the ldflags on the go toolchain
to get metadata linked into your binary during build time.  It
also provides utilities to insert more metadata in package init
functions, and to convert into XML and base64.

Every binary built with the metadata package will now
automatically get a flag -v23.metadata, which dumps the metadata
for the program binary in XML.

The format looks like this:

<metadata>
<md id="build.Manifest"><![CDATA[
<manifest label="">
<imports></imports>
<projects>
<project exclude="false" name="release.go.v23"...
...
</projects>
<tools></tools>
</manifest>
]]></md>
<md id="build.Platform">amd64unknown-linux-unknown</md>
<md id="build.Pristine">false</md>
<md id="build.Time">2015-05-04T08:40:22Z</md>
<md id="build.User">Todd Wang</md>
<md id="go.Arch">amd64</md>
<md id="go.OS">linux</md>
<md id="go.Version">go1.4.1</md>
<md id="v23.RPCEndpointVersion">5</md>
<md id="v23.RPCVersionMax">10</md>
<md id="v23.RPCVersionMin">9</md>
</metadata>

This addresses one part of vanadium/issues#407

MultiPart: 2/3

Change-Id: I234a1dee1221dcda8bc7cfb445a6f53c14857777
7 files changed
tree: 605dea5e1c7a55ae3a38fcb88ebd657eea72c6b1
  1. buildinfo/
  2. cmdline/
  3. dbutil/
  4. host/
  5. metadata/
  6. netconfig/
  7. netstate/
  8. pubsub/
  9. textutil/
  10. toposort/
  11. vlog/
  12. .gitignore
  13. AUTHORS
  14. CONTRIBUTORS
  15. GO.PACKAGE
  16. LICENSE
  17. PATENTS
  18. README.md
  19. VERSION
README.md

This repository contains general purpose libraries used by the Vanadium project.