Semi-sentient installation scripts

  • 5 July 2010

I like the SYMPA mailing list manager. SYMPA really is comfortable and has more feature you will ever need (which is also the biggest disadvantage). Usually I install it from source, because it allows for a better control of the upgrade paths. Unfortunately SYMPA 6.0 and 6.1 are a bit too new for the current Debian 5.0 (stable) version. So I decided to use the SYMPA package from the repository – which cannot be installed.

The reason is my aberrant behaviour. I do not run databases on all hosts. There are database hosts and there are application hosts. This is a very old-fashioned way of keeping things separated. This also leads to a very elegant failure of the SYMPA package’s post-install script.

  • The post-install script creates a sympa database and a sympa user for you. In order for doing this it wants the Postgres admin password.
  • If you supply all credentials (only the Postgres admin credential exists so far, the sympa role is created by the script) and you have no Postgres database package on your system, the install script will fail: Failed to determine UID for postgres user.
  • The package manager does not automatically install Perl’s DBD::Pg module – which is needed for SYMPA to interact with the Postgres database.
  • The install script or me fail to provide a password for the Postgres admin user (I am pretty sure I entered it).
  • The install script fails to hand over the ownership of the sympa database to the sympa login role, resulting in a permission denied error when SYMPA is started.
  • If you change the ownership of the database and rerun aptitude install sympa, then the install script complains that the sympa database already exists.

This is great work. There are already bug reports in the Debian bug database, so I am not the first one to encounter this. Folks, people really do run separate hosts for different purposes, especially since virtualisation got so widely spread. Please don’t assume that sane admins run overloaded servers with a thousand services, just in case. Thanks!

Sorry, the comment form is now closed.