There is more build information that could be put into labels, but Version, Revision, and Branch seemed like the right level of detail to me.
Version information is determined at build-time and thus there is no need to pass it down from main. In its own package it can be used from various other packages.