CSS generation is non-deterministic
While working on reproducible builds for openSUSE I found that our python-HyperKitty package varies in every build.
I tracked this down to variations in .css files generated by build_static_files/manage.py compress --force
that vary in a random string appended to .ttf files.
-@font-face{font-family:'Droid Sans';font-style:normal;font-weight:400;src:local('Droid Sans'),local('DroidSans'),url(/static/hyperkitty/libs/fonts/droid/DroidSans.ttf?8b17c77ac90a) format('truetype')}@font-face{font-family:'Droid Sans Mono';font-style:normal;font-weight:400;src:local('Droid Sans Mono'),local('DroidSansMono'),url(/static/hyperkitty/libs/fonts/droid/DroidSansMono.ttf?8b17c77ac90a) format('truetype')}
+@font-face{font-family:'Droid Sans';font-style:normal;font-weight:400;src:local('Droid Sans'),local('DroidSans'),url(/static/hyperkitty/libs/fonts/droid/DroidSans.ttf?8f55a5ec74f2) format('truetype')}@font-face{font-family:'Droid Sans Mono';font-style:normal;font-weight:400;src:local('Droid Sans Mono'),local('DroidSansMono'),url(/static/hyperkitty/libs/fonts/droid/DroidSansMono.ttf?8f55a5ec74f2) format('truetype')}
If that string is meant to help with cache-invalidation, please make that a hash of the .ttf file, that will change if-and-only-if the .ttf file content changes.