[OpenWrt-Devel] Postfix on OpenWRT

Outback Dingo outbackdingo at gmail.com
Sun Sep 28 20:09:49 EDT 2014


On Mon, Sep 29, 2014 at 10:08 AM, Outback Dingo <outbackdingo at gmail.com>
wrote:

>
> 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
>> ___________
>>
>

Once you have a working implementation and a patch generated submit it, ill
do a test build and get it committed.


> ____________________________________
>> 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/3b7deb62/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