[OpenWrt-Devel] Postfix on OpenWRT

Outback Dingo outbackdingo at gmail.com
Sun Sep 28 20:08:17 EDT 2014


On Mon, Sep 29, 2014 at 9:03 AM, Denis Shulyaka <shulyaka at gmail.com> wrote:

> Hi,
>
> I'm currently packaging a 2.11.1 version. Here is the link:
>
> http://shulyaka.org.ru/pub/tinycdb.tar.gz
> http://shulyaka.org.ru/pub/postfix.tar.gz


these links are broken... no packages found.


>
>
> 2014-09-29 2:04 GMT+04:00 W. Michael Petullo <mike at flyn.org>:
> >> Wow! I'm happy that someone new joined the party. Toes it mean that
> binary
> >> packages for Barrier Breaker are going to be available? I'm asking
> because
> >> during the compilation I get the following error:
> >>
> >>
> /mnt/trash/barrier_breaker-14.07-rc3/OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/../../../../mips-openwrt-linux-uclibc/bin/ld:
> >> skipping incompatible /usr/lib64/libc.so when searching for -lc
> >> collect2: error: ld returned 1 exit status
> >> Makefile:50: recipe for target 'master' failed
> >
> > Postfix compiles fine on my build host (Fedora 20), but actually creating
> > the packages causes the following errors (here it looks like the script
> > is trying to manipulate my build host's root filesystem):
> >
> >> Configuring postfix.
> >> postfix: error: to submit mail, use the Postfix sendmail command
> >> postfix: fatal: the postfix command is reserved for the superuser
> >> postfix: error: to submit mail, use the Postfix sendmail command
> >> postfix: fatal: the postfix command is reserved for the superuser
> >> postalias: fatal: open /etc/aliases.db: Permission denied
> >> grep: /etc/sysupgrade.conf: No such file or directory
> >>
> /home/mike/Source/openwrt/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx//usr/lib/opkg/info/postfix.postinst:
> line 24: [: -eq: unary operator expected
> >>
> /home/mike/Source/openwrt/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/root-ar71xx//usr/lib/opkg/info/postfix.postinst:
> line 29: /etc/init.d/postfix: No such file or directory
> >
> > The following is the postinst script, with some comments inline:
>
> This has been fixed (with the help from Reinhard Schu) in the 2.11.1
> package. It was a bug in postinst script.
>
> >> define Package/postfix/postinst
> >> #!/bin/sh
> >> if [ `grep -c postfix /etc/passwd` -eq 0 ]
> >> then
> >>  echo "postfix:x:34:" >> /etc/group
> >>  echo "postdrop:x:35:" >> /etc/group
> >>  echo "postfix:!:34:34::/var:/bin/false" >> /etc/passwd
> >> fi
> >
> > Adding users often goes in the init.d script where we can make use of
> some
> > common shell functions. See, for example, lighttpd's use of user_exists
> > in lighttpd.init at:
> >
> >
> https://github.com/openwrt/packages/blob/master/net/lighttpd/files/lighttpd.init
>
> Thanks for the hint! I've applied it.
>
> >> if [ ! -f /etc/services ] || [ `grep -c smtp /etc/services` -eq 0 ]
> >> then
> >>  echo "smtp            25/tcp          mail" >> /etc/services
> >>  echo "smtp            25/udp          mail" >> /etc/services
> >> fi
> >
> > I think /etc/services always includes smtp on OpenWrt. Is this not
> > correct?
>
> I think I just had a broken setup some time ago, it was completely
> empty. However now I can see a lot of services there so I think it is
> safe to remove. Thanks again for the hint!
>
> >> if [ ! -f /etc/aliases ]
> >> then
> >>  ln -s /etc/postfix/aliases /etc/aliases
> >> fi
> >
> > Why do we need /etc/aliases?
>
> This is a default location hard built into postfix in src/util/sys_defs.h
> file:
>
> #define ALIAS_DB_MAP    DEF_DB_TYPE ":/etc/aliases"
>
> It can be redefined in the user config file. I was going to write a
> patch but thought /etc/aliases is where users would look for it, so I
> made a soft link. Do you think it is wrong?
>
> >> postfix set-permissions
> >> postfix upgrade-configuration
> >> newaliases
> >> if [ `ps | grep "postfix/master" | grep -cv grep` -gt 0 ]
> >> then
> >>  postfix reload
> >> fi
> >> if [ `grep -c aliases /etc/sysupgrade.conf` -eq 0 ]
> >> then
> >>  echo "/etc/postfix/main.cf" >> /etc/sysupgrade.conf
> >>  echo "/etc/postfix/aliases" >> /etc/sysupgrade.conf
> >> fi
> >> /etc/init.d/postfix enable
> >> endef
> >
> > Thanks,
> >
> > --
> > Mike
> >
> > :wq
>
> Best regards,
> Denis Shulyaka
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20140929/6481dcec/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list