416a500 use python-versioneer for managing project version

Authored and Committed by kparal 2 years ago
    use python-versioneer for managing project version
    
    Instead of defining the app version statically, let python-versioneer discover it
    automatically for us from git. It uses a similar version format as `git describe`,
    i.e. the latest tag + number of additional commits + shorthash.
    
    Versioneer is installed statically, so that it also works if executed outside of
    git (in that case, depending on how it was created, it might only display a git
    hash without additional attributes). During development and with proper tagged
    releases, or when installed directly from the git repo (as in OpenShift), it
    should display the version correctly and also the commit date as a bonus, in the
    web footer.
    
    When building docs, it is now recommended to install sphinx into virtualenv (or
    not use venv at all), otherwise the version can't be determined.
    
    One unresolved issue is that specfile versioning is not integrated, i.e. it still
    needs to be updated manually. The Makefile support is also poor. I suppose we'll
    want to get rid of the spec file and possibly large portion of the Makefile soon
    anyway, and that's why I haven't invested time to fix it at this moment. Since
    we don't use it now, it shouldn't be much of a problem.
    
    Fixes: https://pagure.io/fedora-qa/blockerbugs/issue/236
    Merges: https://pagure.io/fedora-qa/blockerbugs/pull-request/239
    
        
file added
+1
file modified
+2 -0
file modified
+4 -0
file modified
+2 -6
file modified
+11 -2
file modified
+8 -5
file modified
+10 -0
file modified
+3 -0
file modified
+8 -0
file modified
+4 -13
file added
+2140