[Bug 1906970] Re: dpkg hook hostname error
Balint Reczey
1906970 at bugs.launchpad.net
Thu Feb 25 20:10:05 UTC 2021
This also breaks installing postfix in autokgtest and holds back fixing
sbuild's autopkgtest at the moment.
...
/etc/aliases does not exist, creating it.
WARNING: /etc/aliases exists, but does not have a root alias.
Postfix (main.cf) is now set up with a default configuration. If you need to
make changes, edit /etc/postfix/main.cf (and others) as needed. To view
Postfix configuration values, see postconf(1).
After modifying main.cf, be sure to run 'systemctl reload postfix'.
Running newaliases
newaliases: warning: valid_hostname: misplaced delimiter: autopkgtest..
newaliases: fatal: file /etc/postfix/main.cf: parameter myhostname: bad parameter value: autopkgtest..
dpkg: error processing package postfix (--configure):
installed postfix package post-installation script subprocess returned error exit status 75
Setting up libslirp0:amd64 (4.4.0-1) ...
Setting up ipxe-qemu (1.0.0+git-20190125.36a4c85-5ubuntu3) ...
Setting up libasound2:amd64 (1.2.4-1.1build1) ...
Setting up librole-tiny-perl (2.002004-1) ...
Setting up libndctl6:amd64 (71.1-1) ...
dpkg: dependency problems prevent configuration of buildd:
buildd depends on default-mta | mail-transport-agent; however:
Package default-mta is not installed.
Package postfix which provides default-mta is not configured yet.
Package mail-transport-agent is not installed.
Package postfix which provides mail-transport-agent is not configured yet.
dpkg: error processing package buildd (--configure):
dependency problems - leaving unconfigured
Setting up ipxe-qemu-256k-compat-efi-roms (1.0.0+git-20150424.a25a16d-0ubuntu4) ...
...
** Tags added: update-excuse
** Also affects: sbuild (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sbuild in Ubuntu.
https://bugs.launchpad.net/bugs/1906970
Title:
dpkg hook hostname error
Status in postfix package in Ubuntu:
New
Status in sbuild package in Ubuntu:
New
Bug description:
I tried to install postfix (3.4.13-0ubuntu1) within a Dockerfile
(Ubuntu 20.04.01 LTS) and it failed because there is an error in the
dpkg info file.
I'm attaching the log of the 2nd time "apt install -y postfix" is
executed, as it is way shorter and still shows the error message.
```
root at cc1a572af0dc:/etc# apt install -y postfix
Reading package lists... Done
Building dependency tree
Reading state information... Done
postfix is already the newest version (3.4.13-0ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postfix (3.4.13-0ubuntu1) ...
Postfix (main.cf) configuration was untouched. If you need to make changes,
edit /etc/postfix/main.cf (and others) as needed. To view Postfix
configuration values, see postconf(1).
After modifying main.cf, be sure to run 'systemctl reload postfix'.
Running newaliases
newaliases: warning: valid_hostname: misplaced delimiter: cc1a572af0dc..
newaliases: fatal: file /etc/postfix/main.cf: parameter myhostname: bad parameter value: cc1a572af0dc..
dpkg: error processing package postfix (--configure):
installed postfix package post-installation script subprocess returned error exit status 75
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...
Errors were encountered while processing:
postfix
E: Sub-process /usr/bin/dpkg returned an error code (1)
```
I then looked into the /etc/postfix/main.cf file and tried to manually
change the hostname, but it automatically gets overwritten by dpkg
when apt install is ran.
After that I was able to track the issue into the script
"/var/lib/dpkg/info/postfix.postinst" more exactly the sed command in
line 52. It reads the content of the search parameter from
/etc/resolv.conf, and concatenates it with a "." as delimiter with the
hostname, but it doesn't honor the special case of "search ." and
therefore constructs an incorrect myhostname parameter for postfix of
"cc1a572af0dc..".
I'd propose to remove this resolve.conf lookup entirely so that the package installation doesn't fail within docker containers...
It is a bad practice in my opinion to overwrite existing config files upon package installation.
Also I'd suggest not executing postfix after the configuration is written, so that in case of unforeseen circumstances (like this one) a user can just simply run a sed against the config file after installing the package.
And the Dockerfile for reference:
```
FROM ubuntu:latest
ENV DEBIAN_FRONTEND=noninteractive
#ENV DEBIAN_PRIORITY=low
RUN apt update \
&& echo "postfix postfix/main_mailer_type select Internet Site" | debconf-set-selections \
&& echo "postfix postfix/mailname string mysubdomain.mydomain.com" | debconf-set-selections \
&& apt install -y postfix
```
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/postfix/+bug/1906970/+subscriptions
More information about the foundations-bugs
mailing list