Since a few months I’m running my own build server for the Windows versions of ScummVM. Originally, the server was intended to replace my previous toolchain based on MSYS2 and to provide self-contained (avoiding DLL hell) and continuously updated Win32 binaries.
In the meantime, this project evolved quite a bit. Currently, the official Windows versions of ScummVM as well as the Nightly Builds are built by this server. As you can imagine, the term “experimental” doesn’t really fit anymore, even though I’m still referring to this server as my staging environment.
Over the last couple of years, I aquired a nice collection of various domains. Since I only keep them for historical purposes, I decided to redirect all domains to this blog domain. Usually, you can achieve such a redirection by simply pointing all your domains to the same virtual host within your webserver configuration in case you are using WordPress. However, this won’t work when using some caching plugins. Some .htaccess magic will help though.
For my ScummVM nightly server, I’m using the apache2 module mod_autoindex. I noticed that – even though I enabled UTF-8 support in the apache configuration – one vHost was still served with ISO-8859 encoding.
The problem is that the autoindex module simply ignores the global charset settings. Instead, it insists on using ISO-8859 for the vHost without further configuration.
In order to enable UTF-8 for sites generated by mod_autoindex, the parameter
Charset=UTF-8 must be added to the
IndexOptions of the specific vHost configuration.
By default, Gentoo is using the rsync protocol to distribute it’s portage tree. For synchronizing a lot of smaller files, this protocol is rock-solid.
However, this method comes with a small drawback. To ensure the integrity of the downloaded files, they are signed with an OpenGPG key. First, the files are downloaded into a quarantine directory. Afterwards, portage is trying to validate the signatures and only if the signatures match the local portage tree will be overwritten with the newly synced files. The problem with this method is that the signature check is pretty slow, especially on lower-end systems. In my experience, it can take up to several minutes until the update is completed.
Fortunately, we can tell portage to use git instead of rsync for updating the portage tree.