ekino/docker-buildbox

libpq5 is removed from the php image, breaking it

Closed this issue · 6 comments

#16 did not fix the problem apparently.

rande commented

need to find the most pragmatic one...

root@c12717b7c5e9:/# apt-cache rdepends libpq5
libpq5
Reverse Depends:
  php5-pgsql
  kamailio-postgres-modules
  collectd-core
  collectd
  asterisk-modules
  zabbix-server-pgsql
  zabbix-proxy-pgsql
  yubikey-server-c
  libwtdbopostgres38
  libvtk6.1
  libvtk5.8
  uwsgi-plugin-emperor-pg
  ulogd2-pgsql
  tora
  tntdb-postgresql4
  tarantool-postgresql-plugin
  sylph-searcher
  spl-postgres
  libsope1
  slony1-2-bin
  postgresql-9.4-slony1-2
  skytools3-ticker
  saga
  ruby-sequel-pg
  ruby-pg
  ruby-dataobjects-postgres
  rsyslog-pgsql
  root-plugin-sql-pgsql
  rfc5766-turn-server
  repmgr
  librdf-storage-postgresql
  ratbox-services-pgsql
  libquickfix14
  libqt5sql5-psql
  libqt4-sql-psql
  qgis-providers
  qgis-mapserver
  qgis
  python-pygresql-dbg
  python-pygresql
  pure-ftpd-postgresql
  python3-psycopg2-dbg
  python3-psycopg2
  python-psycopg2-dbg
  python-psycopg2
  odbc-postgresql
  pspp
  proftpd-mod-pgsql
  postgresql-9.4-plproxy
  libpostgresql-ocaml
  postgresql-contrib-9.4
  postgresql-client-9.4
  postgresql-9.4
  libpq-dev
  libecpg6
  postgis
  postfix-pgsql
  pmacct
  pike7.8-pg
  php5-pgsql
  pgtop
  libpgtcl
  pgreplay
  pgpool2
  pgagent
  pgadmin3
  perdition-postgresql
  pdns-backend-pgsql
  libpam-pgsql
  osm2pgsql
  nuauth-log-pgsql
  node-pg
  monitoring-plugins-standard
  mit-scheme
  medusa
  ruby-mapscript
  python-mapscript
  php5-mapscript
  mapserver-bin
  libmapserver1
  libmapscript-perl
  libmapscript-java
  cgi-mapserver
  libmapnik2.2
  mapcache-tools
  mapcache-cgi
  libmapcache1
  libapache2-mod-mapcache
  lua-sql-postgres
  lua-dbi-postgresql
  libzdb9
  libreoffice-sdbc-postgresql
  libpreludedb0
  libpqxx-4.0
  libpg-perl
  libopendbx1-pgsql
  libnss-pgsql2
  libgda-5.0-postgres
  libdbd-pgsql
  libdbd-pg-perl
  libapache2-mod-auth-pgsql
  lfc-server-postgres
  dpm-srm-server-postgres
  dpm-server-postgres
  dpm-name-server-postgres
  dpm-copy-server-postgres
  kannel-sqlbox
  kannel-extras
  kannel
  kamailio-postgres-modules
  inspircd
  icinga2-ido-pgsql
  hydra
  libghc-hdbc-postgresql-dev
  libghc-haskelldb-hdbc-postgresql-dev
  libghc-postgresql-libpq-dev
  libghc-hsql-postgresql-dev
  grass-core
  libsqlclient1.7
  gnunet
  libpostgresql-gst
  gnokii-smsd-pgsql
  gearman-job-server
  libgdal1h
  libgdal-perl
  python-gammu-dbg
  python-gammu
  libgsmsd7
  gambas3-gb-db-postgresql
  freeradius-postgresql
  flow-tools
  falconpl-dbi-postgresql
  exim4-daemon-heavy
  emboss-lib
  emboss
  dsyslog-module-postgresql
  dovecot-pgsql
  libsasl2-modules-sql
  cvm-pgsql
  libcppdb-postgresql0
  courier-authlib-postgresql
  coturn
  conquest-postgres
  collectd-core
  collectd
  cfengine3
  ben
  bareos-database-postgresql
  bandwidthd-pgsql
  bacula-common-pgsql
  asterisk-modules
  libaprutil1-dbd-pgsql
  aolserver4-nspostgres
root@c12717b7c5e9:/# apt-cache show libpq5
Package: libpq5
Source: postgresql-9.4
Version: 9.4.9-0+deb8u1
Installed-Size: 484
Maintainer: Debian PostgreSQL Maintainers <pkg-postgresql-public@lists.alioth.debian.org>
Architecture: amd64
Depends: libc6 (>= 2.14), libgssapi-krb5-2 (>= 1.10+dfsg~), libldap-2.4-2 (>= 2.4.7), libssl1.0.0 (>= 1.0.0)
Pre-Depends: multiarch-support
Description: PostgreSQL C client library
Description-md5: 4109d08c168c8058d09c0cc8bf8b18b1
Multi-Arch: same
Homepage: http://www.postgresql.org/
Tag: devel::lang:sql, implemented-in::c, network::client, role::shared-lib,
 works-with::db
Section: libs
Priority: optional
Filename: pool/main/p/postgresql-9.4/libpq5_9.4.9-0+deb8u1_amd64.deb
Size: 123732
MD5sum: 64fefc6ff54555f5a709f737e902a9b3
SHA1: 7ca3a952c56c52d6ed7f5b083f283436bc83724a
SHA256: cf2833160dafd3e3c584096780e335221d28b03bc3ee03e84abe8e809a6036e8

I was pretty sure I'd checked the dependencies at the time, but apparently not.

Anyway, the simplest solution is probably to create a metapackage depending on libpq5 using equivs during the build and install it.

rande commented

pgtop looks like a good candidate.

root@c12717b7c5e9:/# apt-get install pgtop
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libpq5
The following NEW packages will be installed:
  libpq5 pgtop
0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
Need to get 170 kB of archives.
After this operation, 617 kB of additional disk space will be used.
rande commented

should be fixed in d051ef5, waiting for docker build

Not quite:

Removing libpq5:amd64 (9.4.9-0+deb8u1) ...

It's actually my fault, I added postgresql-client in the wrong place, and you replaced pgtop there:

apt-get -qq -y build-dep php5-cli pgtop

It should be added to apt-get install, not apt-get build-dep.

It's OK in the most recent build of docker-buildbox:latest-php7.0 on Docker Hub: the package is not removed anymore.