Skip to contentSkip to conversation

Adding exim

PATCH New Luca Ceresoli 5 participants 18 messages Mar 6, 2014 – Apr 9, 2014

lore
Share & tools
lore
#0 lore raw

cover Adding exim

Hi all,

I'm resuming a patchset from 2011 [0], that was never merged, since Bernd Kuhls recently expressed interest a part of it [1].

The original patchset goal was to add cyrus-imapd, cyrus-sasl and exim to Buildroot, along with their dependencies. That required a lot of patching because none of these packages are cross-compilation-friendly. The quality of my original patches was not very good, but there was apparently not much interest in them, and eventually I quite forgot about them.

The mentioned software are still up and running in my local buildroot-based projects, and they have been kept up-to-date.

I am now resending only the exim-related patches, updated and with references to cyrus packages removed, because that's what Bernd expressed interest for. This makes exim not usable out of the box, because in my original patches it shipped a config file tailored for cyrus-imapd.

However note an MTA is usually configured to deliver mail to a specific mail server, so in order to exploit exim it is necessary to add such a package. Bernd wrote he's working on dovecot, so he may add an exim config for it. Or I may resurrect and cleanup my cyrus-imapd patches and send them again after exim is in Buildroot.
Or both.

For the time being, here's my current best effort for bringing exim into Buildroot.

Changes since the 2011 patchset:
- use the exim user, not the cyrus user (makes no sense without cyrus-imapd);
- do not ship a cyrus-centric configuration file;
- bump to 4.82 (latest upstream release).

[0] http://lists.busybox.net/pipermail/buildroot/2011-August/045128.html
[1] http://lists.busybox.net/pipermail/buildroot/2014-March/091094.html

Luca

Luca Ceresoli (2):
system/skeleton: add mail group
exim: new package

 package/Config.in                                  |  1 +
 package/exim/Config.in                             |  9 +++++
 package/exim/Local-Makefile                        | 15 ++++++++
 package/exim/S86exim                               | 26 ++++++++++++++
 .../exim/exim-Build-buildconfig-for-the-host.patch | 23 ++++++++++++
 ...n-t-make-backup-copies-of-installed-files.patch | 40 +++++++++++++++++++++
 ...ip-version-check-and-symlink-installation.patch | 40 +++++++++++++++++++++
 package/exim/exim.mk                               | 41 ++++++++++++++++++++++
 system/skeleton/etc/group                          |  1 +
 9 files changed, 196 insertions(+)
 create mode 100644 package/exim/Config.in
 create mode 100644 package/exim/Local-Makefile
 create mode 100644 package/exim/S86exim
 create mode 100644 package/exim/exim-Build-buildconfig-for-the-host.patch
 create mode 100644 package/exim/exim-Don-t-make-backup-copies-of-installed-files.patch
 create mode 100644 package/exim/exim-Skip-version-check-and-symlink-installation.patch
 create mode 100644 package/exim/exim.mk
Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/2 system/skeleton: add mail group

---
 system/skeleton/etc/group | 1 +
 1 file changed, 1 insertion(+)
system/skeleton/etc/group +1 -0
index 864d1db..85a1fa2 100644
@@ -6,6 +6,7 @@ adm:x:4:
 tty:x:5:
 disk:x:6:
 lp:x:7:
+mail:x:8:
 kmem:x:9:
 wheel:x:10:root
 cdrom:x:11:
Signature · 1 line
1.8.3.2
#2 lore raw

PATCH 1/2 system/skeleton: add mail group

Luca, All,

On 2014-03-06 17:54 +0100, Luca Ceresoli spake thusly:

Quoted 9 lines
---
 system/skeleton/etc/group | 1 +
 1 file changed, 1 insertion(+)
system/skeleton/etc/group +0 -0
index 864d1db..85a1fa2 100644

system/skeleton/etc/group adm:x:4: · line 12

Quoted 7 lines
system/skeleton/etc/group +1 -0
@@ -6,6 +6,7 @@ adm:x:4:
 tty:x:5:
 disk:x:6:
 lp:x:7:
+mail:x:8:
 kmem:x:9:
 wheel:x:10:root
 cdrom:x:11:

There is no reason to add the 'mail' group to the default skeleton. If it is missing, 'mkuser' is expected to create it (if not, that's a bug.)

So the EXIM_USER in your second patch should be enough.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/2 system/skeleton: add mail group

Hi Yann,

Quoted 23 lines · Yann E. MORIN

Luca, All,

On 2014-03-06 17:54 +0100, Luca Ceresoli spake thusly:

Quoted 9 lines
---
  system/skeleton/etc/group | 1 +
  1 file changed, 1 insertion(+)
system/skeleton/etc/group +0 -0
index 864d1db..85a1fa2 100644

system/skeleton/etc/group adm:x:4: · line 12

Quoted 7 lines
system/skeleton/etc/group +1 -0
@@ -6,6 +6,7 @@ adm:x:4:
  tty:x:5:
  disk:x:6:
  lp:x:7:
+mail:x:8:
  kmem:x:9:
  wheel:x:10:root
  cdrom:x:11:

There is no reason to add the 'mail' group to the default skeleton. If it is missing, 'mkuser' is expected to create it (if not, that's a bug.)

Quoted 1 line

So the EXIM_USER in your second patch should be enough.

Technically speaking you're perfectly right.

I just felt the mail group is one of those groups that are supposed to be used by multiple packages. At least an MTA and a mail server, maybe a spam filter, a virus scanner... and we might have multiple alternatives for each of them.

So it looks bad to me to refer to the same group in (potentially) many packages and not having the group well-defined in "the" group list.

Of course this is my POV, and it's not very strong now that we have such a small number of mail-related packages in Buildroot...

Oh, following my idea I could as well change:

define EXIM_USERS
-exim 88 mail 8 * - - - exim
+exim 88 mail -1 * - - - exim
endef

and your script would get the group ID, right?

Signature · 1 line
Luca
#4 lore raw

PATCH 1/2 system/skeleton: add mail group

Luca, All,

On 2014-03-07 16:04 +0100, Luca Ceresoli spake thusly:

Quoted 31 lines
Quoted 21 lines · Yann E. MORIN

On 2014-03-06 17:54 +0100, Luca Ceresoli spake thusly:

Quoted 9 lines
---
 system/skeleton/etc/group | 1 +
 1 file changed, 1 insertion(+)
system/skeleton/etc/group +0 -0
index 864d1db..85a1fa2 100644

system/skeleton/etc/group adm:x:4: · line 12

Quoted 7 lines
system/skeleton/etc/group +1 -0
@@ -6,6 +6,7 @@ adm:x:4:
 tty:x:5:
 disk:x:6:
 lp:x:7:
+mail:x:8:
 kmem:x:9:
 wheel:x:10:root
 cdrom:x:11:

There is no reason to add the 'mail' group to the default skeleton. If it is missing, 'mkuser' is expected to create it (if not, that's a bug.)

Quoted 1 line

So the EXIM_USER in your second patch should be enough.

Technically speaking you're perfectly right.

I just felt the mail group is one of those groups that are supposed to be used by multiple packages. At least an MTA and a mail server, maybe a spam filter, a virus scanner... and we might have multiple alternatives for each of them.

Quoted 5 lines

So it looks bad to me to refer to the same group in (potentially) many packages and not having the group well-defined in "the" group list.

Of course this is my POV, and it's not very strong now that we have such a small number of mail-related packages in Buildroot...

'mail' is not a strictly-required group, so I think it does not really belong to the skeleton, especially since most systems Buildroot is aimed at won't have an MDA. OTOH, it is a pretty prevalent group in Unix systems.

So I don't mind much about adding the 'mail' group.

Quoted 8 lines

Oh, following my idea I could as well change:

define EXIM_USERS

(quoted diff) +1 -1
-exim 88 mail 8 * - - - exim
+exim 88 mail -1 * - - - exim
 endef

and your script would get the group ID, right?

Yes.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH 1/2 system/skeleton: add mail group

Hi

Just put them in the rootfs overlay, keeping the skeleton to the bare minimum.

-----Oorspronkelijk bericht-----
Van: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] Namens Yann E. MORIN
Verzonden: zaterdag 29 maart 2014 17:22
Aan: Luca Ceresoli
CC: Thomas Petazzoni; berndkuhls at hotmail.com; buildroot at uclibc.org
Onderwerp: Re: [Buildroot] [PATCH 1/2] system/skeleton: add mail group

Luca, All,

On 2014-03-07 16:04 +0100, Luca Ceresoli spake thusly:

Quoted 32 lines
Quoted 22 lines · Yann E. MORIN

On 2014-03-06 17:54 +0100, Luca Ceresoli spake thusly:

Quoted 9 lines
---
 system/skeleton/etc/group | 1 +
 1 file changed, 1 insertion(+)
system/skeleton/etc/group +0 -0
index 864d1db..85a1fa2 100644

system/skeleton/etc/group adm:x:4: · line 12

Quoted 7 lines
system/skeleton/etc/group +1 -0
@@ -6,6 +6,7 @@ adm:x:4:
 tty:x:5:
 disk:x:6:
 lp:x:7:
+mail:x:8:
 kmem:x:9:
 wheel:x:10:root
 cdrom:x:11:

There is no reason to add the 'mail' group to the default skeleton. If it is missing, 'mkuser' is expected to create it (if not, that's a bug.)

Quoted 1 line

So the EXIM_USER in your second patch should be enough.

Technically speaking you're perfectly right.

I just felt the mail group is one of those groups that are supposed to be used by multiple packages. At least an MTA and a mail server, maybe a spam filter, a virus scanner... and we might have multiple alternatives for each of them.

Quoted 5 lines

So it looks bad to me to refer to the same group in (potentially) many packages and not having the group well-defined in "the" group list.

Of course this is my POV, and it's not very strong now that we have such a small number of mail-related packages in Buildroot...

'mail' is not a strictly-required group, so I think it does not really belong to the skeleton, especially since most systems Buildroot is aimed at won't have an MDA. OTOH, it is a pretty prevalent group in Unix systems.

So I don't mind much about adding the 'mail' group.

Quoted 8 lines

Oh, following my idea I could as well change:

define EXIM_USERS

(quoted diff) +1 -1
-exim 88 mail 8 * - - - exim
+exim 88 mail -1 * - - - exim
 endef

and your script would get the group ID, right?

Yes.

Regards,
Yann E. MORIN.

--
.-----------------.--------------------.------------------.--------------------.

|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' 
| conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |

'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#6 lore raw

PATCH 1/2 system/skeleton: add mail group

Hi Sagaert,

Quoted 4 lines · Sagaert Johan

Hi

Just put them in the rootfs overlay, keeping the skeleton to the bare minimum.

Sorry, I don't agree with this approach.

Buildroot packages should work as far as possible out of the box. They should not rely on rootfs additions or other modifications by the user. And the exim package uses the mail group, so it would not work unless the user manually overrides /etc/group in the rootfs overlay.

Moreover, overriding a file in the Buildroot standard skeleton with a modified version in a user's rootfs overlay opens to problems when upgrading to later Buildroot versions.

So the mail group should really must be created by Buildroot, either statically in system/skeleton or via EXIM_USER.

Quoted 86 lines

-----Oorspronkelijk bericht-----
Van: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] Namens Yann E. MORIN
Verzonden: zaterdag 29 maart 2014 17:22
Aan: Luca Ceresoli
CC: Thomas Petazzoni; berndkuhls at hotmail.com; buildroot at uclibc.org
Onderwerp: Re: [Buildroot] [PATCH 1/2] system/skeleton: add mail group

Luca, All,

On 2014-03-07 16:04 +0100, Luca Ceresoli spake thusly:

Quoted 32 lines
Quoted 22 lines · Yann E. MORIN

On 2014-03-06 17:54 +0100, Luca Ceresoli spake thusly:

Quoted 9 lines
---
  system/skeleton/etc/group | 1 +
  1 file changed, 1 insertion(+)
system/skeleton/etc/group +0 -0
index 864d1db..85a1fa2 100644

system/skeleton/etc/group adm:x:4: · line 12

Quoted 7 lines
system/skeleton/etc/group +1 -0
@@ -6,6 +6,7 @@ adm:x:4:
  tty:x:5:
  disk:x:6:
  lp:x:7:
+mail:x:8:
  kmem:x:9:
  wheel:x:10:root
  cdrom:x:11:

There is no reason to add the 'mail' group to the default skeleton. If it is missing, 'mkuser' is expected to create it (if not, that's a bug.)

Quoted 1 line

So the EXIM_USER in your second patch should be enough.

Technically speaking you're perfectly right.

I just felt the mail group is one of those groups that are supposed to be used by multiple packages. At least an MTA and a mail server, maybe a spam filter, a virus scanner... and we might have multiple alternatives for each of them.

Quoted 5 lines

So it looks bad to me to refer to the same group in (potentially) many packages and not having the group well-defined in "the" group list.

Of course this is my POV, and it's not very strong now that we have such a small number of mail-related packages in Buildroot...

'mail' is not a strictly-required group, so I think it does not really belong to the skeleton, especially since most systems Buildroot is aimed at won't have an MDA. OTOH, it is a pretty prevalent group in Unix systems.

So I don't mind much about adding the 'mail' group.

Quoted 8 lines

Oh, following my idea I could as well change:

define EXIM_USERS

(quoted diff) +1 -1
-exim 88 mail 8 * - - - exim
+exim 88 mail -1 * - - - exim
  endef

and your script would get the group ID, right?

Yes.

Regards,
Yann E. MORIN.

--
.-----------------.--------------------.------------------.--------------------.

|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
| conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |

'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 1 line
Luca
#7 lore raw

PATCH 1/2 system/skeleton: add mail group

In reply to Luca Ceresoli

Dear Luca Ceresoli,

Quoted 3 lines · Luca Ceresoli
---
 system/skeleton/etc/group | 1 +
 1 file changed, 1 insertion(+)

Applied, thanks. You forgot your SoB line, but since you're a well-known contributor, I've added it for you.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#8 lore raw

PATCH 1/2 system/skeleton: add mail group

Hi Thomas,

Quoted 9 lines · Thomas Petazzoni

Dear Luca Ceresoli,

Quoted 3 lines · Luca Ceresoli
---
  system/skeleton/etc/group | 1 +
  1 file changed, 1 insertion(+)

Applied, thanks. You forgot your SoB line, but since you're a well-known contributor, I've added it for you.

Sorry, thanks.

Signature · 1 line
Luca
#9 lore raw

PATCH 2/2 exim: new package

In reply to Luca Ceresoli
---
 package/Config.in                                  |  1 +
 package/exim/Config.in                             |  9 +++++
 package/exim/Local-Makefile                        | 15 ++++++++
 package/exim/S86exim                               | 26 ++++++++++++++
 .../exim/exim-Build-buildconfig-for-the-host.patch | 23 ++++++++++++
 ...n-t-make-backup-copies-of-installed-files.patch | 40 +++++++++++++++++++++
 ...ip-version-check-and-symlink-installation.patch | 40 +++++++++++++++++++++
 package/exim/exim.mk                               | 41 ++++++++++++++++++++++
 8 files changed, 195 insertions(+)
 create mode 100644 package/exim/Config.in
 create mode 100644 package/exim/Local-Makefile
 create mode 100644 package/exim/S86exim
 create mode 100644 package/exim/exim-Build-buildconfig-for-the-host.patch
 create mode 100644 package/exim/exim-Don-t-make-backup-copies-of-installed-files.patch
 create mode 100644 package/exim/exim-Skip-version-check-and-symlink-installation.patch
 create mode 100644 package/exim/exim.mk
package/Config.in +1 -0
index fca61d6..9650bc5 100644
@@ -834,6 +834,7 @@ source "package/dnsmasq/Config.in"
 source "package/dropbear/Config.in"
 source "package/ebtables/Config.in"
 source "package/ethtool/Config.in"
+source "package/exim/Config.in"
 source "package/foomatic-filters/Config.in"
 source "package/fping/Config.in"
 source "package/gesftpserver/Config.in"
package/exim/Config.in new file +9 -0
new file mode 100644
index 0000000..70038a2
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_EXIM
+	bool "exim"
+	select BR2_PACKAGE_PCRE
+	select BR2_PACKAGE_BERKELEYDB
+	help
+	  Exim is a message transfer agent (MTA) developed at the University of
+	  Cambridge for use on Unix systems connected to the Internet.
+
+	  http://www.exim.org/
package/exim/Local-Makefile new file +15 -0
new file mode 100644
index 0000000..191f0e0
@@ -0,0 +1,15 @@
+BIN_DIRECTORY=/usr/sbin
+CONFIGURE_FILE=/etc/exim/configure
+EXIM_USER=ref:exim
+EXIM_GROUP=mail
+SPOOL_DIRECTORY=/var/spool/exim
+ROUTER_ACCEPT=yes
+TRANSPORT_LMTP=yes
+LOOKUP_DBM=yes
+LOOKUP_LSEARCH=yes
+PCRE_LIBS=-lpcre
+FIXED_NEVER_USERS=root
+HEADERS_CHARSET="ISO-8859-1"
+HAVE_ICONV=no
+SYSLOG_LOG_PID=yes
+TMPDIR="/tmp"
package/exim/S86exim new file +26 -0
new file mode 100644
index 0000000..8c01b29
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Start/stop exim
+#
+
+PIDFILE=/var/lock/exim/exim-daemon.pid
+
+case "$1" in
+  start)
+	echo "Starting exim..."
+	start-stop-daemon -S -x exim -- -bd
+	;;
+  stop)
+	echo -n "Stopping exim..."
+	start-stop-daemon -K -o -p $PIDFILE
+	;;
+  restart|reload)
+	"$0" stop
+	"$0" start
+	;;
+  *)
+	echo "Usage: $0 {start|stop|restart}"
+	exit 1
+esac
+
+exit $?
package/exim/exim-Build-buildconfig-for-the-host.patch new file +23 -0
new file mode 100644
index 0000000..a926fbd
@@ -0,0 +1,23 @@
+buildconfig is meant to be executed on the host, so it has to be compiled
+using $(HOSTCC), not $(CC).
+
+Signed-off-by: Luca Ceresoli <[email protected]>
+---
+ OS/Makefile-Base |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/OS/Makefile-Base b/OS/Makefile-Base
+index 29a6ad3..420ba60 100644
+--- a/OS/Makefile-Base
++++ b/OS/Makefile-Base
+@@ -114,8 +114,8 @@ allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \
+ 
+ # Targets for special-purpose configuration header builders
+ buildconfig: buildconfig.c
+-	@echo "$(CC) buildconfig.c"
+-	$(FE)$(CC) $(CFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS)
++	@echo "$(HOSTCC) buildconfig.c"
++	$(FE)$(HOSTCC) $(HOSTCFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS)
+ 
+ 
+ # Target for the exicyclog utility script
package/exim/exim-Don-t-make-backup-copies-of-installed-files.patch new file +40 -0
new file mode 100644
index 0000000..0cdaa74
@@ -0,0 +1,40 @@
+If exim had already been installed, the install script makes backup
+copies of the pre-existing executables with a ".0" suffix.
+
+This leads to useless duplicated files on the target, so disable this
+piece of code.
+
+Signed-off-by: Luca Ceresoli <[email protected]>
+---
+ scripts/exim_install |   18 +++++++++---------
+ 1 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/scripts/exim_install b/scripts/exim_install
+index 616ab3c..e68e7d5 100755
+--- a/scripts/exim_install
++++ b/scripts/exim_install
+@@ -344,15 +344,15 @@ while [ $# -gt 0 ]; do
+ 
+   else
+     if ../scripts/newer ${name} ${BIN_DIRECTORY}/${name}; then
+-      if [ -f ${BIN_DIRECTORY}/${name} ]; then
+-        echo ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O
+-        ${real} ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O
+-        if [ $? -ne 0 ]; then
+-          echo $com ""
+-          echo $com "*** Exim installation ${ver}failed ***"
+-          exit 1
+-        fi
+-      fi
++#      if [ -f ${BIN_DIRECTORY}/${name} ]; then
++#        echo ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O
++#        ${real} ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O
++#        if [ $? -ne 0 ]; then
++#          echo $com ""
++#          echo $com "*** Exim installation ${ver}failed ***"
++#          exit 1
++#        fi
++#      fi
+       echo ${CP} ${name} ${BIN_DIRECTORY}
+       ${real} ${CP} ${name} ${BIN_DIRECTORY}
+       if [ $? -ne 0 ]; then
package/exim/exim-Skip-version-check-and-symlink-installation.patch new file +40 -0
new file mode 100644
index 0000000..94d21ae
@@ -0,0 +1,40 @@
+The exim install script installs a binary named exim-<version>, plus a symlink
+to it named exim.
+In order to achieve this "feature" (of dubious usefulness) it runs the
+executable (on the host) and then filters its output to grab the version number.
+This clearly cannot work if the executable is cross-compiled, so get rid of all
+of it and just install an executable file called exim.
+
+Inspired by:
+http://patch-tracker.debian.org/patch/series/view/exim4/4.76-2/35_install.dpatch
+
+Signed-off-by: Luca Ceresoli <[email protected]>
+---
+ scripts/exim_install |    7 +++++--
+ 1 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/exim_install b/scripts/exim_install
+index e68e7d5..487a4e1 100755
+--- a/scripts/exim_install
++++ b/scripts/exim_install
+@@ -59,6 +59,8 @@ while [ $# -gt 0 ] ; do
+   shift
+ done
+ 
++do_symlink=no
++
+ # Get the values of BIN_DIRECTORY, CONFIGURE_FILE, INFO_DIRECTORY, NO_SYMLINK,
+ # SYSTEM_ALIASES_FILE, and EXE from the global Makefile (in the build
+ # directory). EXE is empty except in the Cygwin environment. In each case, keep
+@@ -218,8 +220,9 @@ while [ $# -gt 0 ]; do
+   # The exim binary is handled specially
+ 
+   if [ $name = exim${EXE} ]; then
+-    version=exim-`./exim -bV -C /dev/null | \
+-      awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE}
++    version=exim
++#    version=exim-`./exim -bV -C /dev/null | \
++#      awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE}
+ 
+     if [ "${version}" = "exim-${EXE}" ]; then
+       echo $com ""
package/exim/exim.mk new file +41 -0

41 lines not on this page · raw message

Signature · 1 line
1.8.3.2
#10 lore raw

PATCH 2/2 exim: new package

Hi,

Luca Ceresoli <[email protected]> wrote in news:1394124890-29254-3-git-send-email-luca at lucaceresoli.net:

package/Config.in source "package/dnsmasq/Config.in" · line 837

Quoted 7 lines
package/Config.in +1 -0
@@ -834,6 +834,7 @@ source "package/dnsmasq/Config.in"
 source "package/dropbear/Config.in"
 source "package/ebtables/Config.in"
 source "package/ethtool/Config.in"
+source "package/exim/Config.in"

what about creating a new section "Mail applications"?

Quoted 8 lines
package/exim/Local-Makefile new file +5 -0
@@ -0,0 +1,15 @@
+BIN_DIRECTORY=/usr/sbin
+CONFIGURE_FILE=/etc/exim/configure
+EXIM_USER=ref:exim
+EXIM_GROUP=mail
+SPOOL_DIRECTORY=/var/spool/exim

package/exim/Local-Makefile line 15

Quoted 10 lines
package/exim/Local-Makefile new file +10 -0
+ROUTER_ACCEPT=yes
+TRANSPORT_LMTP=yes
+LOOKUP_DBM=yes
+LOOKUP_LSEARCH=yes
+PCRE_LIBS=-lpcre
+FIXED_NEVER_USERS=root
+HEADERS_CHARSET="ISO-8859-1"
+HAVE_ICONV=no
+SYSLOG_LOG_PID=yes
+TMPDIR="/tmp"

Here I use a different approach using sed inside exim.mk:

( sed -e 's,^BIN_DIR.*$$,BIN_DIRECTORY=/usr/bin,' \
      -e 's,^CONF.*$$,CONFIGURE_FILE=/etc/exim.conf,' \
      -e 's,^# INCLUDE.*$$,INCLUDE=-I$(TARGET_DIR)/usr/include,' \
      -e 's,^PCRE_CONFIG.*$$,# PCRE_CONFIG=no,' \
      -e 's,^# PCRE_LIBS.*$$,PCRE_LIBS=-lpcre,' \
      -e 's,^# HAVE_ICONV.*$$,HAVE_ICONV=yes,' \
      -e 's,^# AUTH_CRAM_MD5=.*$$,AUTH_CRAM_MD5=yes,' \
      -e 's,^# AUTH_DOVECOT=.*$$,AUTH_DOVECOT=yes,' \
      -e 's,^# AUTH_PLAINTEXT=.*$$,AUTH_PLAINTEXT=yes,' \
      -e 's,^# LOOKUP_PASSWD=.*$$,LOOKUP_PASSWD=yes,' \
      -e 's,^# WITH_CONTENT_SCAN=.*$$,WITH_CONTENT_SCAN=yes,' \
      -e 's,^# SUPPORT_TLS=.*$$,SUPPORT_TLS=yes,' \
      -e 's,^# TLS_LIBS=.*$$,TLS_LIBS=-lssl -lcrypto,' \
      -e 's,^# PID_FILE_PATH=.*$$,PID_FILE_PATH=/var/run/exim.pid,' \
      -e 's,^COMPRESS_COMMAND=.*$$,COMPRESS_COMMAND=/bin/gzip,' \
      -e 's,^ZCAT_COMMAND=.*$$,ZCAT_COMMAND=/bin/zcat,' \
      -e 's,^EXIM_USER.*$$,EXIM_USER=ref:exim,' \
      -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' $(@D)/src/EDITME > 
$(@D)/Local/Makefile \
        ); \

This should imho be extended to options in Config.in for different mail environments, similar to the Debian packages exim4-daemon-heavy & exim4- daemon-light.

I have to add that buildroot does not create a rootfs here, it delivers binaries for my personal mailserver package which is used in another distro with its own init system, therefore I can not review your init script.

Regards, Bernd

#11 lore raw

PATCH 2/2 exim: new package

Hi Bernd,

please do reply to all, not only to the mailing list. Some people (including me) check their personal e-mail more frequently than mailing lists.

Quoted 5 lines · Bernd Kuhls

Hi,

Luca Ceresoli <[email protected]> wrote in news:1394124890-29254-3-git-send-email-luca at lucaceresoli.net:

Quoted 9 lines

package/Config.in source "package/dnsmasq/Config.in" · line 837

Quoted 7 lines
package/Config.in +1 -0
@@ -834,6 +834,7 @@ source "package/dnsmasq/Config.in"
  source "package/dropbear/Config.in"
  source "package/ebtables/Config.in"
  source "package/ethtool/Config.in"
+source "package/exim/Config.in"

what about creating a new section "Mail applications"?

I don't think we have a large enough number of mail-related packages in Buildroot to justify such a section. But I may be wrong.

Quoted 34 lines
Quoted 9 lines
package/exim/Local-Makefile new file +5 -0
@@ -0,0 +1,15 @@
+BIN_DIRECTORY=/usr/sbin
+CONFIGURE_FILE=/etc/exim/configure
+EXIM_USER=ref:exim
+EXIM_GROUP=mail
+SPOOL_DIRECTORY=/var/spool/exim

package/exim/Local-Makefile line 15

Quoted 10 lines
package/exim/Local-Makefile new file +10 -0
+ROUTER_ACCEPT=yes
+TRANSPORT_LMTP=yes
+LOOKUP_DBM=yes
+LOOKUP_LSEARCH=yes
+PCRE_LIBS=-lpcre
+FIXED_NEVER_USERS=root
+HEADERS_CHARSET="ISO-8859-1"
+HAVE_ICONV=no
+SYSLOG_LOG_PID=yes
+TMPDIR="/tmp"

Here I use a different approach using sed inside exim.mk:

( sed -e 's,^BIN_DIR.*$$,BIN_DIRECTORY=/usr/bin,' \
       -e 's,^CONF.*$$,CONFIGURE_FILE=/etc/exim.conf,' \
       -e 's,^# INCLUDE.*$$,INCLUDE=-I$(TARGET_DIR)/usr/include,' \
       -e 's,^PCRE_CONFIG.*$$,# PCRE_CONFIG=no,' \
       -e 's,^# PCRE_LIBS.*$$,PCRE_LIBS=-lpcre,' \
       -e 's,^# HAVE_ICONV.*$$,HAVE_ICONV=yes,' \
       -e 's,^# AUTH_CRAM_MD5=.*$$,AUTH_CRAM_MD5=yes,' \
       -e 's,^# AUTH_DOVECOT=.*$$,AUTH_DOVECOT=yes,' \
       -e 's,^# AUTH_PLAINTEXT=.*$$,AUTH_PLAINTEXT=yes,' \
       -e 's,^# LOOKUP_PASSWD=.*$$,LOOKUP_PASSWD=yes,' \
       -e 's,^# WITH_CONTENT_SCAN=.*$$,WITH_CONTENT_SCAN=yes,' \
       -e 's,^# SUPPORT_TLS=.*$$,SUPPORT_TLS=yes,' \
Quoted 8 lines
       -e 's,^# TLS_LIBS=.*$$,TLS_LIBS=-lssl -lcrypto,' \
       -e 's,^# PID_FILE_PATH=.*$$,PID_FILE_PATH=/var/run/exim.pid,' \
       -e 's,^COMPRESS_COMMAND=.*$$,COMPRESS_COMMAND=/bin/gzip,' \
       -e 's,^ZCAT_COMMAND=.*$$,ZCAT_COMMAND=/bin/zcat,' \
       -e 's,^EXIM_USER.*$$,EXIM_USER=ref:exim,' \
       -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' $(@D)/src/EDITME >
$(@D)/Local/Makefile \
         ); \

At first sight it looks cleaner, but it should be made more robust IMHO. Suppose in a future release the exim developers decide to uncomment a variable that is now commented, or vice versa, or to use two spaces between "#" and the variable name. Then your sed filters would silently stop working.

Also, the line:

Quoted 1 line
       -e 's,^CONF.*$$,CONFIGURE_FILE=/etc/exim.conf,' \

could catch future variables stasting with CONF.

OTOH my approach is a bot rude, but you know what file you'll generate, which I find more reliable.

Quoted 4 lines

This should imho be extended to options in Config.in for different mail environments, similar to the Debian packages exim4-daemon-heavy & exim4- daemon-light.

Definitely. I see we use different values for some variables.

Signature · 1 line
Luca
#12 lore raw

PATCH 2/2 exim: new package

[posted and mailed]

Hi,

Luca Ceresoli <[email protected]> wrote in
news:5319DD64.9000701 at lucaceresoli.net:

Quoted 17 lines
Quoted 6 lines · Bernd Kuhls

Hi,

Luca Ceresoli <[email protected]> wrote in news:1394124890-29254-3-git-send-email-luca-ep08DiM7hqZH3+C6az13tg at publi c.gmane.org:

Quoted 9 lines

package/Config.in source "package/dnsmasq/Config.in" · line 837

Quoted 7 lines
package/Config.in +1 -0
@@ -834,6 +834,7 @@ source "package/dnsmasq/Config.in"
  source "package/dropbear/Config.in"
  source "package/ebtables/Config.in"
  source "package/ethtool/Config.in"
+source "package/exim/Config.in"

what about creating a new section "Mail applications"?

Quoted 2 lines

I don't think we have a large enough number of mail-related packages in Buildroot to justify such a section. But I may be wrong.

I am planning to add the following packages to buildroot in addition to exim:

- fetchmail
- dovecot
- dovecot-pigeonhole

Currently the following mail-related packages are included in buildroot, both in "Networking applications", and could be moved to the new section:
- libesmtp
- msmtp

This makes 6 packages in total. I do not know how many packages are needed to justify a new section, therefore I am asking before sending patches ;)

Regards, Bernd

#13 lore raw

PATCH 2/2 exim: new package

In reply to Luca Ceresoli

Dear Luca Ceresoli,

Quoted 1 line · Luca Ceresoli

---

You also for your SoB here.

Quoted 12 lines
package/exim/exim.mk new file +6 -0
new file mode 100644
index 0000000..011d0a4
@@ -0,0 +1,41 @@
+#############################################################
+#
+# exim
+#
+#############################################################
+

package/exim/exim.mk line 16

Quoted 10 lines
package/exim/exim.mk new file +10 -0
+EXIM_VERSION = 4.82
+EXIM_SOURCE = exim-$(EXIM_VERSION).tar.bz2
+EXIM_SITE = ftp://ftp.exim.org/pub/exim/exim4
+EXIM_LICENSE = GPLv2+
+EXIM_LICENSE_FILES = LICENCE
+EXIM_DEPENDENCIES = pcre berkeleydb
+
+# These echos seem to be the sanest way to feed CC and CFLAGS to exim
+define EXIM_CONFIGURE_CMDS
+	install -D package/exim/Local-Makefile $(@D)/Local/Makefile

I've used $(INSTALL) -m0644 instead

package/exim/exim.mk line 20

Quoted 4 lines
package/exim/exim.mk new file +4 -0
+	echo "CC=$(TARGET_CC)" >>$(@D)/Local/Makefile
+	echo "CFLAGS=$(TARGET_CFLAGS)" >>$(@D)/Local/Makefile
+	echo "HOSTCC=$(HOSTCC)" >>$(@D)/Local/Makefile
+	echo "HOSTCFLAGS=$(HOSTCFLAGS)" >>$(@D)/Local/Makefile

I've added AR and RANLIB here, otherwise the exim build system uses the native versions.

package/exim/exim.mk line 31

Quoted 11 lines
package/exim/exim.mk new file +11 -0
+endef
+
+# "The -j (parallel) flag must not be used with make"
+# (http://www.exim.org/exim-html-current/doc/html/spec_html/ch04.html)
+define EXIM_BUILD_CMDS
+	build=br $(MAKE1) -C $(@D)
+endef
+
+define EXIM_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 755 package/exim/S86exim \
+		$(TARGET_DIR)/etc/init.d/S86exim

I've moved this to EXIM_INSTALL_INIT_SYSV.

package/exim/exim.mk line 34

Quoted 3 lines
package/exim/exim.mk new file +3 -0
+	DESTDIR=${TARGET_DIR} INSTALL_ARG="-no_chown -no_symlink" build=br \
+	  $(MAKE1) -C $(@D) install
+	chmod u+s ${TARGET_DIR}/usr/sbin/exim

I've replaced both {TARGET_DIR} by (TARGET_DIR)

I've committed with those changes.

However, upon startup, I get an exim failure, would be good to have a look:

Starting exim...

1970-01-01 00:00:06 Exim configuration error in line 541 of /etc/exim/configure:
  router dnslookup: cannot find router driver "dnslookup"

My defconfig is:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2014.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_PACKAGE_EXIM=y

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#14 lore raw

PATCH 2/2 exim: new package

Hi Thomas,

thanks for applying my patch and improving it.

However now that we have a "Mail" category exim should be placed there. I'm sending a patch to move it.

Quoted 32 lines · Thomas Petazzoni

Dear Luca Ceresoli,

Quoted 1 line · Luca Ceresoli

---

You also for your SoB here.

Quoted 12 lines
package/exim/exim.mk new file +6 -0
new file mode 100644
index 0000000..011d0a4
@@ -0,0 +1,41 @@
+#############################################################
+#
+# exim
+#
+#############################################################
+

package/exim/exim.mk line 16

Quoted 10 lines
package/exim/exim.mk new file +10 -0
+EXIM_VERSION = 4.82
+EXIM_SOURCE = exim-$(EXIM_VERSION).tar.bz2
+EXIM_SITE = ftp://ftp.exim.org/pub/exim/exim4
+EXIM_LICENSE = GPLv2+
+EXIM_LICENSE_FILES = LICENCE
+EXIM_DEPENDENCIES = pcre berkeleydb
+
+# These echos seem to be the sanest way to feed CC and CFLAGS to exim
+define EXIM_CONFIGURE_CMDS
+	install -D package/exim/Local-Makefile $(@D)/Local/Makefile

I've used $(INSTALL) -m0644 instead

Quoted 7 lines

package/exim/exim.mk line 20

Quoted 4 lines
package/exim/exim.mk new file +4 -0
+	echo "CC=$(TARGET_CC)" >>$(@D)/Local/Makefile
+	echo "CFLAGS=$(TARGET_CFLAGS)" >>$(@D)/Local/Makefile
+	echo "HOSTCC=$(HOSTCC)" >>$(@D)/Local/Makefile
+	echo "HOSTCFLAGS=$(HOSTCFLAGS)" >>$(@D)/Local/Makefile

I've added AR and RANLIB here, otherwise the exim build system uses the native versions.

Did you actually experience a build error, or just fixed ased on visual inspection? That's weird, the code I submitted works here. But my build environment is different, this might justify a different behaviour.

Of course I am not against this change, in the worst case it's useless. Just curious.

Quoted 32 lines

package/exim/exim.mk line 31

Quoted 12 lines
package/exim/exim.mk new file +11 -0
+endef
+
+# "The -j (parallel) flag must not be used with make"
+# (http://www.exim.org/exim-html-current/doc/html/spec_html/ch04.html)
+define EXIM_BUILD_CMDS
+	build=br $(MAKE1) -C $(@D)
+endef
+
+define EXIM_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 755 package/exim/S86exim \
+		$(TARGET_DIR)/etc/init.d/S86exim

I've moved this to EXIM_INSTALL_INIT_SYSV.

package/exim/exim.mk line 34

Quoted 3 lines
package/exim/exim.mk new file +3 -0
+	DESTDIR=${TARGET_DIR} INSTALL_ARG="-no_chown -no_symlink" build=br \
+	  $(MAKE1) -C $(@D) install
+	chmod u+s ${TARGET_DIR}/usr/sbin/exim

I've replaced both {TARGET_DIR} by (TARGET_DIR)

I've committed with those changes.

However, upon startup, I get an exim failure, would be good to have a look:

Starting exim...

1970-01-01 00:00:06 Exim configuration error in line 541 of /etc/exim/configure:
   router dnslookup: cannot find router driver "dnslookup"

My defconfig is:

Quoted 9 lines

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2014.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_PACKAGE_EXIM=y

I'll have a look at this error.

Signature · 1 line
Luca
#15 lore raw

PATCH 2/2 exim: new package

Dear Luca Ceresoli,

Quoted 1 line · Luca Ceresoli

thanks for applying my patch and improving it.

You're welcome.

Quoted 2 lines

However now that we have a "Mail" category exim should be placed there. I'm sending a patch to move it.

Sure, no problem.

Quoted 9 lines
Quoted 2 lines

I've added AR and RANLIB here, otherwise the exim build system uses the native versions.

Did you actually experience a build error, or just fixed ased on visual inspection? That's weird, the code I submitted works here. But my build environment is different, this might justify a different behaviour.

Of course I am not against this change, in the worst case it's useless. Just curious.

I did not experience any problem, I just saw while looking at the build log that it was correctly using the cross-gcc, but not cross-ar and cross-ranlib, so I fixed that up.

Quoted 12 lines
Quoted 11 lines

My defconfig is:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2014.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_PACKAGE_EXIM=y

Quoted 1 line

I'll have a look at this error.

Great, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#16 lore raw

PATCH 2/2 exim: new package

Hi Thomas,

Quoted 20 lines · Thomas Petazzoni

Dear Luca Ceresoli,

Quoted 1 line · Luca Ceresoli

thanks for applying my patch and improving it.

You're welcome.

Quoted 2 lines

However now that we have a "Mail" category exim should be placed there. I'm sending a patch to move it.

Sure, no problem.

Quoted 7 lines
Quoted 2 lines

I've added AR and RANLIB here, otherwise the exim build system uses the native versions.

Did you actually experience a build error, or just fixed ased on visual inspection? That's weird, the code I submitted works here. But my build environment is different, this might justify a different behaviour.

Quoted 20 lines
Quoted 2 lines

Of course I am not against this change, in the worst case it's useless. Just curious.

I did not experience any problem, I just saw while looking at the build log that it was correctly using the cross-gcc, but not cross-ar and cross-ranlib, so I fixed that up.

Quoted 13 lines
Quoted 11 lines

My defconfig is:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2014.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_PACKAGE_EXIM=y

I'll have a look at this error.

This is because in my original patch dated 2011 exim was configured in a very stripped-down version, just enough to deliver mail locally to cyrus-imapd.

At that time this was done coherently in the build configuration file (package/exim/Local-Makefile), which disables most optional features, and in the runtime configuration file (/etc/exim/configure on the target), which does not configure those features.

In my resubmit last month I removed my runtime configuration file which was tailored for cyrus-imapd, since I was sending the exim patch alone. However I dd notchange the build config file. As it is, it disables features such as the dnslookup router, which is enabled by the stock runtime config file.

I'm sending a patch that changes the configuration approach in a way more similar to Bernd Kuhls' approach: instead of blindly copying a minimal Buildroot-provided configuration file, change to copy the exim-provided one and tweak it as needed. This actually makes the configuration closed to standard exim.

Signature · 1 line
Luca
#17 lore raw

PATCH 2/2 exim: new package

Hi Bernd, Thomas,

Luca Ceresoli wrote:
...

Quoted 30 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines

My defconfig is:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2014.02-rc1.tar.bz2"

Quoted 6 lines
Quoted 6 lines
Quoted 4 lines

BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_PACKAGE_EXIM=y

I'll have a look at this error.

This is because in my original patch dated 2011 exim was configured in a very stripped-down version, just enough to deliver mail locally to cyrus-imapd.

At that time this was done coherently in the build configuration file (package/exim/Local-Makefile), which disables most optional features, and in the runtime configuration file (/etc/exim/configure on the target), which does not configure those features.

In my resubmit last month I removed my runtime configuration file which was tailored for cyrus-imapd, since I was sending the exim patch alone. However I dd notchange the build config file. As it is, it disables features such as the dnslookup router, which is enabled by the stock runtime config file.

Quoted 5 lines

I'm sending a patch that changes the configuration approach in a way more similar to Bernd Kuhls' approach: instead of blindly copying a minimal Buildroot-provided configuration file, change to copy the exim-provided one and tweak it as needed. This actually makes the configuration closed to standard exim.

For the records, here's the patch that fixes the issue:
http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/81356

Signature · 1 line
Luca