This approach will allow you to safely specify the version 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 included then.
So, what exactly do you need?