[Deployment] arvados-sso-server deb package unnecessarily depends on "postgresql" meta-package
The Arvados SSO server package for Ubuntu precise depends on "postgresql" which is a meta-package that installs the latest version of postgresql.
I recently tried to upgrade my Arvados packages by running `apt-get dist-upgrade` as suggested in https://dev.arvados.org/projects/arvados/wiki/Upgrading_to_master
This broke the database because it tried to install postgresql-9.5 which didn't work because I am using postgresql-9.3 and the configuration for 9.5 conflicts with the port that the 9.5 server would have used (also there would have been no data migration so blindly upgrading the database is probably not a good idea). Subsequently removing postgresql-9.5 to avoid the port conflict also removed arvados-sso-server because of the dependency on "postgresql" (which after the dist-upgrade only refers to the newest version of postgres, so it doesn't recognise postgresql-9.3 as fulfilling that requirement).
Arguably, the arvados-sso-server package should not depend on postgresql at all. Arvados could be configured to use a postgres instance installed on a different machine, so insisting that it be present locally is unnecessary.In order to get arvados-sso-server to work again I had to do:
- apt-get download arvados-sso-server
- dpkg --force-all -i arvados-sso-server_0.1.20160129211603.ee33cdf-4_amd64.deb
Remove package dependency on PostgreSQL server.
The database server could be on another host, so the package should
not require it. Closes #8905. Tom and Ward both approve.
Remove semi-extraneous fpm --iteration from the package.
The iteration did need to be bumped to accommodate the dependency
change in the last commit. I came up with 5 by looking at currently
published packages, which have a maximum iteration of 4.
However, our build scripts currently set the iteration to 5 already
for all Rails packages, and adding it here causes errors in the build
process because it comes between two package path specifications, for
the LICENSE file and the rest of the package. So don't bother.
#1 Updated by Joshua Randall over 5 years ago
See the note on https://wiki.postgresql.org/wiki/Apt regarding the postgresql meta-package:
Note: This repository provides "postgresql", "postgresql-contrib", and "postgresql-client" meta-packages that depend on the latest postgresql-x.y, ... packages, similar to the ones present in Debian and Ubuntu. Once a new PostgreSQL version is released, these meta-packages will be updated to depend on the new version. If you rather want to stay with a particular PostgreSQL version, you should install specific packages like "postgresql-9.5" instead of "postgresql".
#2 Updated by Brett Smith over 5 years ago
- Subject changed from arvados-sso-server deb package unnecessarily depends on "postgresql" meta-package to [Deployment] arvados-sso-server deb package unnecessarily depends on "postgresql" meta-package
I think it wants to depend on something like postgresql-server-dev-all instead, in order to build the client gem.