Although the code to render the partial runs, `yield :optionals`
was removed from the site layout in 2013. So the code has been
ineffective since then.
The installation of `libxml-ruby` was broken because it was picking up the system version of the libxml2 library. By setting a `bundler` config item, it's possible to point it to the right place.
Also updated the instructions for `phantomjs`, which Homebrew has moved to a cask (and is now not officially supported), and added some of the extra command line tools that are used (`pngcrush`, `optipng`, etc...)
Refs https://trac.openstreetmap.org/ticket/5307
There's still an unfortunate double use of "comment" to mean both the
ChangesetComment and also the changeset's `comment` tag, but I can't see a
simple way to fix that.
This repo contains code for three functions to be loaded into PostgreSQL as a shared library:
1. `maptile_for_point`, which is used only by the `/changes` API call. This API call is little-used and IMHO should be deprecated and removed. However, even now it's hardly on the hot path for most development activities.
2. `tile_for_point`, which is used only in migrations. At this point, it seems unlikely that anyone will be doing a migration on existing data which would call this function (most developers will be running migrations on an empty database, to set it up).
3. `xid_to_int4`, which is only used for replication using Osmosis and isn't used in the Rails code at all. Hopefully this will be replaced Real Soon Now, but until then it's a quite advanced feature that most developers won't need.
Therefore, this patch proposes to replace the above three shared library functions with SQL implementations of the first two. These are _much_ slower - by a factor of about 30x, however this makes no difference when they're run on a completely empty database. In return, we're able to drop a dependency on the PostgreSQL server development package, and clean a few lines out of the installation instructions.
It's still possible to make and install the shared library functions, and I've included instructions about how to do that - although it shouldn't be necessary for the vast majority of `openstreetmap-website` developers.