[Pkg-exim4-users] DEBCONFitemDEBCONF

David Baron d_baron at 012.net.il
Tue Jul 3 09:14:07 UTC 2007

On Tuesday 03 July 2007, Marc Haber wrote:
> On Mon, Jul 02, 2007 at 02:21:56PM +0300, David Baron wrote:
> > On Monday 02 July 2007, Marc Haber wrote:
> > > On Sun, Jul 01, 2007 at 05:11:28PM +0300, David Baron wrote:
> > > > This stuff is no lonber acceptable and any Sid upgrades not accepting
> > > > the maintiners configuration will render exim4 inoperative
> > >
> > > Exim should either not run at all, or continue running with the old
> > > configuration. Please show evidence of an "inoperative" exim.
> >
> > Exim complained about missing config and cited the DEBCONF macros in the
> > /var tmp file generated.
> $ sudo grep DEBCONF /etc/exim4/exim4.conf.template
> /var/lib/exim4/config.autogenerated
> /etc/exim4/exim4.conf.template:DEBCONFthisisbrokenconfigDEBCONF
> $ sudo update-exim4.conf
> DEBCONFsomethingDEBCONF found in exim configuration. This is most probably
> caused by you upgrading to exim4 4.67-3 or later without accepting the
> suggested conffile changes. Please read
> /usr/share/doc/exim4-config/NEWS.Debian.gz for 4.67-2 and 4.67-4
> 2007-07-03 02:23:29 Exim configuration error in line 21 of
> /var/lib/exim4/config.autogenerated.tmp: malformed macro definition
> Invalid new configfile /var/lib/exim4/config.autogenerated.tmp, not
> installing /var/lib/exim4/config.autogenerated.tmp to
> /var/lib/exim4/config.autogenerated $ sudo grep DEBCONF
> /etc/exim4/exim4.conf.template /var/lib/exim4/config.autogenerated
> /etc/exim4/exim4.conf.template:DEBCONFthisisbrokenconfigDEBCONF
> $
> This shows pretty well that the invalid exim4 configuration does not
> get installed to the file that is actually read by exim.
> > The daemon continued to run but bawked at every email offered,
> > repeated the error messages.
> Please show evidence that this actually happened so that it can be
> reproduced here.

2007-06-24 22:03:11 1I2XMd-0003rG-7C <= kelly_ik at myjaring.net H=localhost 
(ip6-localhost) [] P=esmtp S=8404 
id=2a63281d469b03e3c6080cce0012f7be at myjaring.net
2007-06-24 22:03:11 non-existent configuration 
file(s): /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
2007-06-24 22:08:11 1I2XRT-0003se-GZ <= dana at xigbol.net H=localhost 
(ip6-localhost) [] P=esmtp S=30494
2007-06-24 22:08:11 non-existent configuration 
file(s): /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
2007-06-24 22:08:11 1I2XRT-0003se-J1 <= galia at xigbol.net H=localhost 
(ip6-localhost) [] P=esmtp S=30480
2007-06-24 22:08:11 non-existent configuration 
file(s): /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
2007-06-24 22:13:11 1I2XWJ-0003u3-QC <= dating.israelheetlxxt at fadmail.com 
H=localhost (ip6-localhost) [] P=esmtp S=9817 
id=635801c7b6c3$a982d470$71708038 at dating.israelheetlxxt
2007-06-24 22:13:11 non-existent configuration 
file(s): /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
2007-06-24 22:18:12 1I2XbA-0003vC-0Z <= info at osneck.net H=localhost 
(ip6-localhost) [] P=esmtp S=5946
2007-06-24 22:18:12 non-existent configuration 
file(s): /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
2007-06-24 22:27:05 non-existent configuration 
file(s): /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated
2007-06-24 22:35:42 non-existent configuration 
file(s): /etc/exim4/exim4.conf:/var/lib/exim4/config.autogenerated

Mail was not being correctly received during this period. /var/mail/user was 
empty and a logon to the provider's mail site also showed no messages around. 

However, stuff that appears here would have been spam so the procmail pipe 
might have been what ws inoperative. It could well have been coincidence that 
between when I tried the -4 upgrade to when I downgraded to -1, I received no 
non-spam email. As I said, I think I was able to send so some configuration 
was operating at the time.

> > > > The documentation says one can define:
> > > > exim macro DEBCONFstringOK_config_adapted
> > > > and continue with existing configuration files
> > >
> > > No, that's wrong. If you still have - after adapting your local config
> > > to the new configuration scheme - DEBCONFsomethingDEBCONF somewhere in
> > > your config, you can silence the warning. That is not going to change
> > > your requirement to adapt your config. You can find information about
> > > how to define exim macros in README.Debian.gz, chapter 2.1.3.
> >
> > Ok. That "news" file was in error.
> Which "news" file?
/usr/share/doc/exim4-config/NEWS.Debian.gz for 4.67-2 and 4.67-4

and this says that if one wants to continue using a config with DEBCONF 
macros, one should define the "...adapted" macro. It did not say that this 
would simply suppress the messages (which it did not do in any event).

> > I made copies of the configuration files I believe I changed so I suppose
> > I could take the new ones and then work from there.
> Actually, dpkg does this automatically for yo.
I have some ".old" dpkg files so this is true

> >  However, exim is not the easiest to set up and a conversion script
> >  would make more sense, at least to me!
> Please send such a script that works with every corner case.
> > > Ask smart questions. Say exactly what you did and people will be able
> > > to help. "A few places" does not help at all.
> >
> > Where would one try such a thing? main/01_exim4-config_listmacrodefs (I
> > am using separate files)? update-exim4.conf.conf? Where else... ?
> any file in conf.d/main would do the trick for split config. See
> README.Debian.gz, chapter 2.1.3.
> > If the "adapted" idea were indeed in error, then neither would worked.
> Which "adapted" idea?

That ...adapted macro suggested in the "NEWS" file which had no effect.

> > > > So ... the upgrade should be nicer behaved, either shutting exim and
> > > > stuff like fetchmail down until there is a valid configuration
> > >
> > > Please show evidence that it does not.
> >
> > Obviously does not.

I saw no evidence that any other daemon was touched by the installation other 
than the restart of exim4.

> > 1. Shutting down found mail fetcher fetchmail or alternative.
> > 2. Shutting down exim4
> > 3. Upgrading exim4
> > 4. Uh-oh, cannot run with the old config files right now--better do
> > something about this. Do not restart the daemons until resolving this!
> That's how it is designed to work, and proven to work on my test system.

OK. If it did so, it was silent about it. All I saw was something like 3. and 
then a warning like 4. which was, in fact, the contents of that NEWS file

update-exim4.conf (produces a warning) and restart of exim4 daemon done. My 
question was whether exim4 should have been restarted at this point if, 
according to the warning message, it was not (fully) operative. Maybe the 
NEWS text should display BEFORE any exim4 packages are replaced and ask: Do 
you want to proceed? This was what happened on the original -2 upgrade (I did 
not proceed) but might only have been visible if apt-listchanges were 
installed. This did not repeat for -3 and later and the postconfig stuff was 
placed after a bug was filed over the malformed macro. At the post stage, it 
is already too late to stop.

I guess such problems, whether actually serious or not, will occur whenever 
baskwards compatability of a package is not maintained. 

As I said, I installed -5, accepted the newer conf files and edited the 
macrodefs easily enough. I certainly never entered any DEBCONFitemDEBCONF 
that I would have needed to deal with. 

Thanks for you help and patience.

More information about the Pkg-exim4-users mailing list