Unfortunately no one can be told what fun_plug is - you have to see it for yourself.
You are not logged in.
I wanted a small smtp mailserver, but couldn't find any ready made package from fonz. Asked him on IRC and he suggested postfix. With few hurdles finally made it work.
The package is available here http://www.mediafire.com/?3f2e1tdjxxu
The package assumes the following
groupadd -g 1001 postdrop
useradd -u 1000 postfix
I guess Postfix uses /bin/find and it fails for some reason I couldn't find. So I soft linked
mv /bin/find /bin/find.org
ln -s /ffp/bin/find /bin/find
The package won't work out of the box as it requires some configuration changes /ffp/etc/postfix/main.cf
If somebody wants to compile from source, please follow the steps below.
# ffp find
mv /bin/find /bin/find.org
ln -s /ffp/bin/find /bin/find
#Install following fun plug packages from fonz site
#gcc, db42, make, kernel-headers-2.6.9.1-2, binutils-2.18.50.0.1-4, perl-5.10-2
# Berkeley db soft link
mkdir /usr/include
mkdir /usr/lib
ln -s /mnt/HD_a2/ffp/include/db.h /usr/include/db.h
ln -s /ffp/lib/libdb.so /usr/lib/libdb.so
ln -s /ffp/lib/libdb-4.2.so /usr/lib/libdb-4.2.so
# Disable NIS since it doesn't compile as it requires somd dependency and not required as well
# found this tip through gentoo
sed -i -e "s|#define HAS_NIS|//#define HAS_NIS|g" src/util/sys_defs.h
make makefiles CCARGS='-DDEF_CONFIG_DIR=\"/ffp/etc/postfix\" -DDEF_COMMAND_DIR=\"/ffp/sbin\" -DDEF_DAEMON_DIR=\"/ffp/usr/libexec/postfix\" -DDEF_DATA_DIR=\"/ffp/var/lib/postfix\" -DDEF_MAILQ_PATH=\"/ffp/bin/mailq\" -DDEF_HTML_DIR=\"no\" -DDEF_MANPAGE_DIR=\"/ffp/share/man\" -DDEF_NEWALIAS_PATH=\"/ffp/bin/newaliases\" -DDEF_QUEUE_DIR=\"/ffp/var/spool/postfix\" -DDEF_README_DIR=\"no\" -DDEF_SENDMAIL_PATH=\"/ffp/sbin/sendmail\"'
make
# if you see some messages like below, don't worry, they are just directives
#gcc -Wmissing-prototypes -Wformat -g -o -I. -I../../Include -DLINUX2 -c ...
make install
groupadd -g 1001 postdrop
useradd -u 1000 postfix
chown -R postfix /ffp/var/spool/postfix
chgrp -R postdrop /ffp/var/spool/postfix
chown root /ffp/var/spool/postfix
chgrp postdrop /ffp/sbin/postqueue /ffp/sbin/postdrop
chmod 777 /ffp/sbin/postqueue /ffp/sbin/postdrop
chmod g+s /ffp/sbin/postdrop /ffp/sbin/postqueue
vi /ffp/etc/postfix/aliases
postmap /ffp/etc/postfix/aliases
ln -s /ffp/etc/postfix/aliases.db /etc/aliases.db
touch /ffp/etc/postfix/relay_recipients
postmap /ffp/etc/postfix/relay_recipients
postfix check # shouldn't give any error message
Hope this will be useful for somebody.
Offline
I can confirm that the above installation works.
I have managed to setup my CH3SNAS as a backup mailserver for all of my domains.
Offline
I cleaned this up a tad and made a build script if anyone is interested. Fixed all the symlinking to host issues and added auto detection for ssl/cyrus/pcre/ldap support. Sending mail in the clear isn't such a hot thing to do... I might tweak it a little more depending on any issues I hit down the road but it should be done for the most part.
if your using the busybox wget, remove the -N switch. The rest _should_ build fine on a stock funplug.
After building/installing, edit your aliases file and then run:
postfix set-permissions
postalias /ffp/etc/postfix/aliases # NOT postmap!
postfix check
Ofcourse the configuration process can involve a lot more than that but that's the general idea.
http://www.jaguarlinux.com/pub/DNS-323/postfix.build
#!/ffp/bin/bash
#
# postfix build script for funplug
#
# I'm not renaming any binaries or manpages so watch
# out for conflicts if you install sendmail...
set -e
CWD=`pwd`
PKGNAME=postfix
PKG=$CWD/package-$PKGNAME
VERSION=2.5.6
BUILD=1
TAG=jag
PKGDIR=/ffp/var/cache/packages
URL=ftp://postfix.cloud9.net/official
CLEANUP=yes
# Make the package directory if not found:
if [ ! -d $PKGDIR ]; then
mkdir -p $PKGDIR
fi
# Grab the source:
( mkdir -p source && cd source
wget -N $URL/$PKGNAME-$VERSION.tar.gz )
rm -rf $PKG
mkdir -p $PKG
# Go ahead and create this here but it would probably
# be better off in a startup or post-install script
# Same goes for "postfix {set-permissions,upgrade-configuration}
if ! grep postdrop /etc/group > /dev/null 2>&1 ; then
groupadd -g 40 -r postdrop
mark=1
fi
if ! grep postfix /etc/group > /dev/null 2>&1 ; then
groupadd -g 41 -r postfix
mark=1
fi
if ! grep mail /etc/group > /dev/null 2>&1 ; then
groupadd -g 42 -r mail
mark=1
fi
if ! grep postfix /etc/passwd > /dev/null 2>&1 ; then
# Ignore /ffp/etc/default/useradd output about GID
useradd -d /ffp/var/spool/postfix -s /bin/false -g postfix -G mail -r -u 41 postfix
mark=1
fi
[[ $mark == 1 ]] && store-passwd.sh
echo
echo "$PKGNAME-$VERSION source is now extracting..."
rm -rf $PKGNAME-$VERSION
tar xf $CWD/source/$PKGNAME-$VERSION.tar.gz
cd $PKGNAME-$VERSION
chown -R root:root .
# Berkley DB
[[ -f /ffp/include/db.h ]] && \
sed -i "s@usr/include/db/@ffp/include/@" makedefs && \
sed -i "s@I/usr/include/db@I/ffp/include -L/ffp/lib@" makedefs
# Uclibc
[[ ! -f /ffp/lib/libnss_nis.a ]] && \
sed -i -e "s|#define HAS_NIS|//#define HAS_NIS|g" src/util/sys_defs.h
# Openldap
[[ -L /ffp/lib/libldap.so ]] && \
EXTRAARGS="-DHAS_LDAP -DLDAP_DEPRECATED=1" && \
EXTRALIBS="-lldap -llber"
# Openssl (EXTRALIBS are from fonz's openssl.pc (micro=h))
[[ -L /ffp/lib/libssl.so ]] && \
EXTRAARGS="$EXTRAARGS -DUSE_TLS" && \
EXTRALIBS="$EXTRALIBS -lssl -lcrypto -ldl -lz"
# pcre
[[ -f /ffp/include/pcre.h ]] && \
EXTRAARGS="$EXTRAARGS -DHAS_PCRE" && \
EXTRALIBS="$EXTRALIBS -lpcre"
# cyrus-sasl (v2 only for this script)
[[ -L /ffp/lib/libsasl2.so ]] && \
EXTRAARGS="$EXTRAARGS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/ffp/include/sasl" && \
EXTRALIBS="$EXTRALIBS -L/ffp/lib/sasl2 -lsasl2"
# Now append it all to makedefs
sed -i "s@ffp/lib@ffp/lib $EXTRAARGS@" makedefs
# Change some things around:
sed -i 's@^#alias_maps = hash:/etc/aliases$@alias_maps = hash:/ffp/etc/postfix/aliases@' conf/main.cf
sed -i 's@^#alias_database = hash:/etc/aliases$@alias_database = hash:/ffp/etc/postfix/aliases@' conf/main.cf
sed -i 's@etc/postfix/relay_recipients@ffp/etc/postfix/relay_recipients@' conf/main.cf
# Change the PATH: (busybox sucks)
sed -i 's@^PATH.*$@PATH=/ffp/sbin:/usr/sbin:/sbin:/ffp/bin:/usr/bin:/bin@' \
conf/post-install
sed -i '/^umask 022/a\PATH=/ffp/sbin:/usr/sbin:/sbin:/ffp/bin:/usr/bin:/bin' \
conf/postfix-script
CCARGS='-DDEF_CONFIG_DIR=\"/ffp/etc/postfix\" -DDEF_COMMAND_DIR=\"/ffp/sbin\" -DDEF_DAEMON_DIR=\"/ffp/libexec/postfix\" -DDEF_DATA_DIR=\"/ffp/var/lib/postfix\" -DDEF_MAILQ_PATH=\"/ffp/bin/mailq\" -DDEF_HTML_DIR=\"/ffp/share/doc/postfix/html\" -DDEF_MANPAGE_DIR=\"/ffp/share/man\" -DDEF_NEWALIAS_PATH=\"/ffp/bin/newaliases\" -DDEF_QUEUE_DIR=\"/ffp/var/spool/postfix\" -DDEF_README_DIR=\"/ffp/share/doc/postfix/README\" -DDEF_SENDMAIL_PATH=\"/ffp/sbin/sendmail\"' \
AUXLIBS="$EXTRALIBS" \
make -f Makefile.init makefiles
make OPT="-march=armv5te -O2"
sh postfix-install -non-interactive \
install_root=$PKG \
mail_owner=postfix \
setgid_group=postdrop
# Strip:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null )
# Build the package:
cd $PKG
tar czf $PKGDIR/$PKGNAME-$VERSION-$BUILD$TAG.tgz *
echo && echo "Your package is in $PKGDIR" && echo
# Clean up:
[[ $CLEANUP == yes ]] && \
rm -rf $CWD/$PKGNAME-$VERSION $CWD/package-$PKGNAME
exit 1Last edited by madpenguin (2009-01-28 21:14:37)
Offline
The original postfix package is no longer available on mediafire. Does anyone have it? I can host it.
Offline