Update docs to mention ubuntu:20.04 instead of 18.04
Launchpad will be upgraded to 20.04 in the near future, so it makes more sense to point users to this version.
Also added a note to make users understand that launchpad still runs on 16.04 and pointing to the section that will help them set it up with 16.04.
We ask users to create a 16.4 container in the started docs, which more often than not leads to issues (e.g. the IPv4 of the container not being available). This is not an issue with ubuntu 18.4 as far as I've seen it, so it will make the setup process easier and more error proof.
This extracts the parts of our current frontend configuration that need
access to a Launchpad payload. Once this is deployed, we can adjust the
frontend configuration to point to it using `ProxyPass`.
https://git.launchpad.net/launchpad/commit?id=4c62ec226f broke the
`--component` option to `populate-archive.py`, because the old-style
`quote` and `sqlvalues` functions no longer work to escape instances of
models that use native Storm rather than SQLObject emulation.
We should probably convert all of `PackageCloner` to use the Storm query
compiler at some point; but this makes a few more targeted changes to
get things working again in the meantime.
Refactor time zone name handling in DateTimeWidget
`DateTimeWidget` currently works out the time zone name to display by
calling `.tzname(None)` on a time zone object. This works with `pytz`,
but it won't work once we switch to `dateutil.tz`, and there doesn't
seem to be a reasonable way to get it to work with that time zone
provider without poking about in private attributes; the best we could
do would return a time zone abbreviation string rather than the original
time zone name the user asked for (e.g. "CET" rather than
"Europe/Paris"), which isn't very satisfactory.
Since the whole approach of expecting to be able to recover the original
time zone name from a time zone object seems fundamentally dodgy, a
better approach is to explicitly keep track of the original time zone
name to start with. This needs some changes to `LaunchBag`, but the
result should be much more robust and can easily be made to work with
any time zone provider.