This approach will allow you to safely specify the
manually and will not affect existing builds.
We don't want an easy way to override the version. It's useful
to have the exact version in the logs for bug reports etc.
We might change the way the version string is built though.
For starters scripts/tarball.sh and scripts/buildversion.py
are not consistent, it makes sense to fix that. For example
scripts/tarball.sh detects that a release tag is checked out
and generated a shorter version string without git hash
So, what exactly do you need?