Hi, Today, installs like below fail in Ubuntu because dbconfig-common is configured before a database is installed and configured:
apt install rsyslog-mysql apt install rsyslog-pgsql apt install phpmyadmin #1438706 #1649265 apt install bacula-director-mysql bacula #1116634 apt install redmine-mysql There may be others. The dbconfig-common (or dbconfig-mysql, ...) package cannot declare a Depends or Recommends on the database server, because it could be remote. It does declare a Suggests on the db server, though (dbconfig-mysql suggests default-mysql-server, dbconfig-pgsql suggests postgresql, and so on). But this also doesn't work: apt install mysql-server rsyslog-mysql or this: apt install postgresql-server rsyslog-pgsql dbconfig-common is still configured before the DB server. In the other cases I listed above, actually including the database server in the same apt transaction works, but I'm inclined to believe it's pure luck, as those are packages with more complex dependencies and I think it's just chance that the DB server is installed first. But I could be wrong, and that's why I'm sending this email: is there something special that packages depending on dbconfig-common should do, either in d/control, or in maintainer scripts, to avoid the problem? Or is it just a "known issue", i.e., "you shall install and configure the DB server first"? But then, how to handle the case where the DB is remote? The only chance one gets to input the remote system's details (ip and port), in an interactive install, is after the postinst first fails: then you get a menu with the options "abort, retry, retry (skip questions), ignore", and if you "retry", then it actually asks you more detailed questions about the database (is it remote, etc). Is this also the expected workflow? Let it fail, then retry, and then provide the details? And what about unattended installs? "apt install -y rsyslog-mysql mysql-server" will fail, but "apt install -y mysql-server; apt install -y rsyslog-mysql" will work. Or resort to debconf-set-selections? I first encountered this when writing DEP8 tests for rsyslog-pgsql and rsyslog-mysql: if I declared just the "rsyslog-pgsql" (or mysql) dependency in the autopkgtest control file, the installation would fail. I had to install the DB server via d/t/control dependencies, and then inside the test itself install rsyslog-{pgsql,mysql}. -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel