postfix: add new recipe

Postfix is Wietse Venema's mail server that started life at IBM
research as an alternative to the widely-used Sendmail program.

Postfix attempts to be fast, easy to administer, and secure.
The outside has a definite Sendmail-ish flavor, but the inside
is completely different.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Jackie Huang 2014-07-13 22:27:15 -04:00 committed by Joe MacDonald
parent 239debcd8a
commit 96acc14b6c
9 changed files with 646 additions and 0 deletions

View File

@ -0,0 +1,66 @@
Change fixed postconf to a variable for cross-compiling
Upstreamstatus: Inappropriate [embedded specific]
Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
---
diff --git a/postfix-install b/postfix-install
index 49225ac..2e4c292 100644
--- a/postfix-install
+++ b/postfix-install
@@ -201,8 +201,8 @@ test -z "$non_interactive" -a ! -t 0 && {
exit 1
}
-test -x bin/postconf || {
- echo $0: Error: no bin/postconf file. Did you forget to run \"make\"? 1>&2
+test -x "$POSTCONF" || {
+ echo $0: Error: no $POSTCONF file. Did you forget to run \"make\"? 1>&2
exit 1
}
@@ -363,7 +363,7 @@ HTML files. Specify \"no\" if you do not want to install these files."
: ${install_root=/}
: ${tempdir=`pwd`}
-: ${config_directory=`bin/postconf -c conf -h -d config_directory`}
+: ${config_directory=`$POSTCONF -c conf -h -d config_directory`}
# Find out the location of installed configuration files.
@@ -433,7 +433,7 @@ test -f $CONFIG_DIRECTORY/main.cf && {
case "$junk" in
"") eval unset $name;;
esac
- eval : \${$name=\`bin/postconf -c $CONFIG_DIRECTORY -h $name\`} ||
+ eval : \${$name=\`$POSTCONF -c $CONFIG_DIRECTORY -h $name\`} ||
exit 1
done
}
@@ -446,7 +446,7 @@ do
case "$junk" in
"") eval unset $name;;
esac
- eval : \${$name=\`bin/postconf -c conf -d -h $name\`} || exit 1
+ eval : \${$name=\`$POSTCONF -c conf -d -h $name\`} || exit 1
done
# Override settings manually.
@@ -565,6 +565,8 @@ HTML_DIRECTORY=$install_root$html_directory
MANPAGE_DIRECTORY=$install_root$manpage_directory
README_DIRECTORY=$install_root$readme_directory
+test "x$POSTCONF" != "x" || POSTCONF="bin/postconf"
+
# Avoid repeated tests for existence of these; default permissions suffice.
test -d $DAEMON_DIRECTORY || mkdir -p $DAEMON_DIRECTORY || exit 1
@@ -724,7 +726,7 @@ do
# Postfix releases, and software should not suddenly be installed in
# the wrong place when Postfix is being upgraded.
-bin/postconf -c $CONFIG_DIRECTORY -e \
+"$POSTCONF" -c $CONFIG_DIRECTORY -e \
"daemon_directory = $daemon_directory" \
"data_directory = $data_directory" \
"command_directory = $command_directory" \

View File

@ -0,0 +1 @@
root@ permit_mynetworks,reject

View File

@ -0,0 +1,102 @@
# Configure your domain and accounts
#mydomain=sample.com
#FQDN from gethostname
#myhostname =
mydomain=localdomain
mydestination = $myhostname, localhost.localdomain localhost
mynetworks = 127.0.0.1/8
inet_interfaces = 127.0.0.1
virtual_mailbox_domains = sample.com, other.net
virtual_mailbox_maps = hash:/etc/postfix/virtual
virtual_alias_maps = hash:/etc/postfix/virtual_alias
alias_maps = hash:/etc/aliases
# You'll start with the following lines for maildir storage
virtual_mailbox_base = /var/spool/vmail
virtual_uid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 3`
virtual_gid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 4`
# You'll start with the following lines for IMAP storage
#virtual_transport = lmtp:unix:/var/lib/cyrus/socket/lmtp
# General stuff here again
config_directory = /etc/postfix
sample_directory = /etc/postfix
queue_directory = /var/spool/postfix
mail_spool_directory = /var/spool/mail
readme_directory = no
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 450
mynetworks_style = host
debug_peer_level = 2
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
smtpd_data_restrictions =
permit_mynetworks,
reject_unauth_pipelining,
permit
smtpd_client_restrictions =
permit_mynetworks,
# reject_unknown_client, # This can cause a lot of false rejects.
reject_invalid_hostname,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client dul.dnsbl.sorbs.net,
permit
smtpd_helo_required = yes
smtpd_helo_restrictions =
permit_mynetworks,
reject_unauth_pipelining,
# reject_non_fqdn_hostname, # This can cause a lot of false rejects.
# reject_unknown_hostname, # This can cause a lot of false rejects.
reject_invalid_hostname,
permit
smtpd_sender_restrictions =
permit_mynetworks,
reject_non_fqdn_sender,
# check_sender_access hash:/etc/postfix/access_domains,
reject_unknown_sender_domain,
permit
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
# check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
# check_helo_access pcre:/etc/postfix/helo_checks.pcre,
# check_client_access hash:/etc/postfix/maps/access_client,
# check_client_access hash:/etc/postfix/maps/exceptions_client,
# check_helo_access hash:/etc/postfix/maps/access_helo,
# check_helo_access hash:/etc/postfix/maps/verify_helo,
# check_sender_access hash:/etc/postfix/maps/access_sender,
# check_sender_access hash:/etc/postfix/maps/verify_sender,
# check_recipient_access hash:/etc/postfix/maps/access_recipient,
# reject_multi_recipient_bounce,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
# reject_unlisted_recipient,
#check_policy_service unix:private/policy,
# check_sender_access hash:/etc/postfix/maps/no_verify_sender,
# check_sender_access hash:/etc/postfix/access_domains,
# reject_unverified_sender,
# reject_unverified_recipient
check_recipient_access hash:/etc/postfix/internal_recipient
disable_vrfy_command = yes

View File

@ -0,0 +1,116 @@
1)remove RANLIB, SYSLIBS, AR and get them from env.
2)reference sysroot when searching header files
3)include sysroot path instead of absolute include path
for Linux2 and Linux3 systems.
4)for non-native build, search STAGING_BASELIBDIR/LIBDIR
native build, search host library path for nsl and resolv library
which comes from libc
Upstreamstatus: Inappropriate [embedded specific]
Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
---
makedefs | 27 +++++++++++----------------
1 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/makedefs b/makedefs
index dd5f256..e6fb795 100644
--- a/makedefs
+++ b/makedefs
@@ -87,9 +87,6 @@
# Defaults for most sane systems
-RANLIB=ranlib
-SYSLIBS=
-AR=ar
ARFL=rv
# Ugly function to make our error message more visible among the
@@ -293,12 +290,12 @@ case "$SYSTEM.$RELEASE" in
case "$CCARGS" in
*-DNO_DB*) ;;
*-DHAS_DB*) ;;
- *) if [ -f /usr/include/db.h ]
+ *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ]
then
: we are all set
- elif [ -f /usr/include/db/db.h ]
+ elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ]
then
- CCARGS="$CCARGS -I/usr/include/db"
+ CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db"
else
# No, we're not going to try db1 db2 db3 etc.
# On a properly installed system, Postfix builds
@@ -307,12 +304,12 @@ case "$SYSTEM.$RELEASE" in
echo "Install the appropriate db*-devel package first." 1>&2
exit 1
fi
- SYSLIBS="-ldb"
+ SYSLIBS="$SYSLIBS -ldb"
;;
esac
for name in nsl resolv $GDBM_LIBS
do
- for lib in /usr/lib64 /lib64 /usr/lib /lib
+ for lib in $BUILD_SYSROOT_NSL_PATH
do
test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
SYSLIBS="$SYSLIBS -l$name"
@@ -332,7 +329,7 @@ case "$SYSTEM.$RELEASE" in
if [ `expr "X$CCARGS" : "X.*-DNO_EPOLL"` -gt 0 ]
then
:
- elif [ ! -e /usr/include/sys/epoll.h ]
+ elif [ ! -e "$BUILD_SYSROOT"/usr/include/sys/epoll.h ]
then
echo CCARGS="$CCARGS -DNO_EPOLL"
else
@@ -356,8 +353,6 @@ int main(int argc, char **argv)
}
EOF
${CC-gcc} -o makedefs.test makedefs.test.c || exit 1
- ./makedefs.test 2>/dev/null ||
- CCARGS="$CCARGS -DNO_EPOLL"
rm -f makedefs.test makedefs.test.[co]
fi;;
esac
@@ -366,12 +361,12 @@ EOF
case "$CCARGS" in
*-DNO_DB*) ;;
*-DHAS_DB*) ;;
- *) if [ -f /usr/include/db.h ]
+ *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ]
then
: we are all set
- elif [ -f /usr/include/db/db.h ]
+ elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ]
then
- CCARGS="$CCARGS -I/usr/include/db"
+ CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db"
else
# On a properly installed system, Postfix builds
# by including <db.h> and by linking with -ldb
@@ -379,7 +374,7 @@ EOF
echo "Install the appropriate db*-devel package first." 1>&2
exit 1
fi
- SYSLIBS="-ldb"
+ SYSLIBS="$SYSLIBS -ldb"
;;
esac
for name in nsl resolv
@@ -415,7 +410,7 @@ EOF
esac
for name in nsl resolv
do
- for lib in /usr/lib64 /lib64 /usr/lib /lib
+ for lib in $BUILD_SYSROOT_NSL_PATH
do
test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
SYSLIBS="$SYSLIBS -l$name"
--
1.7.1

View File

@ -0,0 +1,85 @@
#!/bin/sh
success() {
echo " Successful"
exit 0
}
fail() {
echo " Failed"
exit 1
}
check_return () {
local ret="$1"
if [ "$ret" = "0" ]; then
success
else
fail
fi
}
PIDFile=/var/spool/postfix/pid/master.pid
case "$1" in
start)
echo -n "Starting Postfix..."
if [ ! -e /etc/aliases.db ]; then
# The alias database is necessary for postfix to work correctly.
echo "Creating aliases database ..."
newaliases
fi
if ! postfix status >/dev/null 2>&1; then
postfix start
check_return $?
else
success
fi
;;
stop)
echo -n "Stopping Postfix..."
if postfix status >/dev/null 2>&1; then
postfix stop
check_return $?
else
success
fi
;;
reload)
echo -n "Reloading Postfix..."
if postfix status >/dev/null 2>&1; then
postfix reload
check_return $?
else
postfix start
check_return $?
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
if postfix status >/dev/null 2>&1; then
pid=`sed -e 's/\s//g' $PIDFile`
echo "The Postfix mail system is running (PID: $pid)"
exit 0
else
echo "The Postfix mail system is not running"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|status|reload|restart}"
exit 1
;;
esac

View File

@ -0,0 +1,26 @@
Subject: [PATCH] add db6 support db6
Upstream-Status: Backport
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
src/util/dict_db.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/util/dict_db.c b/src/util/dict_db.c
index 93ee480..f1ae66b 100644
--- a/src/util/dict_db.c
+++ b/src/util/dict_db.c
@@ -693,7 +693,8 @@ static DICT *dict_db_open(const char *class, const char *path, int open_flags,
msg_fatal("set DB cache size %d: %m", dict_db_cache_size);
if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0)
msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM);
-#if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
+#if DB_VERSION_MAJOR == 6 || DB_VERSION_MAJOR == 5 || \
+ (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0)
if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0)
FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags,
"open database %s: %m", db_path));
--
1.7.1

View File

@ -0,0 +1,14 @@
[Unit]
Description=Postfix Mail Transport Agent
After=syslog.target network.target
Conflicts=sendmail.service exim.service
[Service]
Type=forking
PIDFile=/var/spool/postfix/pid/master.pid
ExecStart=/usr/sbin/postfix start
ExecReload=/usr/sbin/postfix reload
ExecStop=/usr/sbin/postfix stop
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,230 @@
SUMMARY = "Postfix Mail Transport Agent"
DESCRIPTION = "Postfix is Wietse Venema's mail server that started life at \
IBM research as an alternative to the widely-used Sendmail program. \
Postfix attempts to be fast, easy to administer, and secure. The outsidei \
has a definite Sendmail-ish flavor, but the inside is completely different."
HOMEPAGE= "http://www.postfix.org"
SECTION = "console/network"
DEPENDS = "virtual/db libpcre openssl postfix-native \
${@base_contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \
${@base_contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \
"
DEPENDS_virtclass-native = "virtual/db-native openssl-native libpcre-native"
LICENSE = "IPL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=64375f37431336ea1b1b3005fe3fa354"
SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
file://makedefs.patch \
file://install.patch \
file://main.cf_2.0 \
file://postfix \
file://internal_recipient \
file://postfix.service \
"
S = "${WORKDIR}/postfix-${PV}"
BBCLASSEXTEND = "native"
inherit update-rc.d useradd update-alternatives systemd
INITSCRIPT_NAME = "postfix"
INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ."
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = \
"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \
-d /var/spool/vmail -r -u 5000 -g vmail --shell /bin/false vmail \
"
GROUPADD_PARAM_${PN} = "--system postfix;--system postdrop;-g 5000 --system vmail"
export SYSLIBS = "${LDFLAGS}"
# CCARGS specifies includes, defines
# AUXLIBS specifies libraries
# Linux2/Linux3 has HAS_DB defined
# makedefs will make CC to be CC+CCARGS
# ldap support
export CCARGS-ldap = "\
${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}"
export AUXLIBS-ldap = "\
${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}"
# no native openldap
export CCARGS-ldap_virtclass-native = ""
export AUXLIBS-ldap_virtclass-native = ""
# SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH
# current openldap didn't enable SASL
export CCARGS-sasl = "\
${@base_contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I=/usr/include/sasl', '', d)}"
export AUXLIBS-sasl = "\
${@base_contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}"
export CCARGS-sasl_virtclass-native = ""
export AUXLIBS-sasl_virtclass-native = ""
# PCRE, TLS support default
export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl}"
export AUXLIBS = "-lpcre -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}"
export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf"
# OPT,DEBUG is aready in CFLAGS
# ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS
EXTRA_OEMAKE += "OPT= DEBUG= OPTS= "
do_compile () {
unset CFLAGS CPPFLAGS CXXFLAGS
local native_build
native_build="${@['0', '1'][bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d)]}"
# if not native build, then pass SYSTEM and RELEASE to makedefs
if [ "${native_build}" != "1" ]; then
# uname -s for target
SYSTEM="Linux"
# uname -r, use 2.6 as bottomline, even target kernel ver > 2.6
RELEASE="2.6.34"
sed -i -e \
"s:\$(SHELL) makedefs):\$(SHELL) makedefs $SYSTEM $RELEASE):" \
${S}/Makefile.in
export BUILD_SYSROOT="${STAGING_DIR_HOST}"
export BUILD_SYSROOT_NSL_PATH="${STAGING_BASELIBDIR} \
${STAGING_LIBDIR}"
else
# native build
export BUILD_SYSROOT="${STAGING_DIR_NATIVE}"
# ubuntu x86 host: /lib/x86_64-linux-gnu(64) /lib/i386-linux-gnu (32)
# on 64 bits, 32 libs in i386-linux-gnu
# let makedefs finds nsl and resolv libs, host CC will link
# the correct libraries
BUILD_SYSROOT_NSL_PATH="$(${CC} -print-search-dirs 2>/dev/null | \
sed -n '/^libraries: =/s/libraries: =//p' | \
sed -e 's/:/\n/g' | xargs -n1 readlink -f | \
grep -v 'gcc\|/[0-9.]\+$' | sort -u)"
if [ -z "$BUILD_SYSROOT_NSL_PATH" ]; then
BUILD_SYSROOT_NSL_PATH="/usr/lib64 /lib64 \
/lib/x86_64-linux-gnu \
/usr/lib /lib \
/lib/i386-linux-gnu"
fi
export BUILD_SYSROOT_NSL_PATH
fi
oe_runmake makefiles
oe_runmake
}
do_install_prepend_virtclass-native() {
export POSTCONF="bin/postconf"
}
SYSTEMD_SERVICE_${PN} = "postfix.service"
SYSTEMD_AUTO_ENABLE = "disable"
do_install () {
sh ./postfix-install 'install_root=${D}' \
'config_directory=${sysconfdir}/postfix' \
'daemon_directory=${exec_prefix}/libexec/postfix' \
'command_directory=${sbindir}' \
'queue_directory=${localstatedir}/spool/postfix' \
'sendmail_path=${sbindir}/sendmail.postfix' \
'newaliases_path=${bindir}/newaliases' \
'mailq_path=${bindir}/mailq' \
'manpage_directory=${mandir}' \
'readme_directory=${datadir}/doc/postfix' \
'data_directory=${localstatedir}/lib/postfix' \
-non-interactive
rm -rf ${D}${localstatedir}/spool/postfix
mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/sample-main.cf
install -d ${D}${sysconfdir}/init.d
install -m 644 ${WORKDIR}/main.cf_2.0 ${D}${sysconfdir}/postfix/main.cf
install -m 755 ${WORKDIR}/postfix ${D}${sysconfdir}/init.d/postfix
install -m 644 ${WORKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/postfix.service ${D}${systemd_unitdir}/system
sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${systemd_unitdir}/system/postfix.service
install -m 770 -d ${D}${localstatedir}/spool/postfix
chown postfix:postfix ${D}${localstatedir}/spool/postfix
chown postfix:postfix ${D}${localstatedir}/lib/postfix
install -m 2755 -d ${D}${localstatedir}/spool/mail
chown postfix:nogroup ${D}${localstatedir}/spool/mail
install -m 0755 -d ${D}${localstatedir}/lib/postfix
chown postfix:nogroup ${D}${localstatedir}/lib/postfix
install -m 0755 -d ${D}${localstatedir}/spool/postfix
chown root:postfix ${D}${localstatedir}/spool/postfix
install -m 0700 -d ${D}${localstatedir}/spool/postfix/active
chown postfix:root ${D}${localstatedir}/spool/postfix/active
install -m 0700 -d ${D}${localstatedir}/spool/postfix/bounce
chown postfix:root ${D}${localstatedir}/spool/postfix/bounce
install -m 0700 -d ${D}${localstatedir}/spool/postfix/corrupt
chown postfix:root ${D}${localstatedir}/spool/postfix/corrupt
install -m 0700 -d ${D}${localstatedir}/spool/postfix/defer
chown postfix:root ${D}${localstatedir}/spool/postfix/defer
install -m 0700 -d ${D}${localstatedir}/spool/postfix/deferred
chown postfix:root ${D}${localstatedir}/spool/postfix/deferred
install -m 0700 -d ${D}${localstatedir}/spool/postfix/flush
chown postfix:root ${D}${localstatedir}/spool/postfix/flush
install -m 0700 -d ${D}${localstatedir}/spool/postfix/hold
chown postfix:root ${D}${localstatedir}/spool/postfix/hold
install -m 0700 -d ${D}${localstatedir}/spool/postfix/incoming
chown postfix:root ${D}${localstatedir}/spool/postfix/incoming
install -m 0700 -d ${D}${localstatedir}/spool/postfix/saved
chown postfix:root ${D}${localstatedir}/spool/postfix/saved
install -m 0700 -d ${D}${localstatedir}/spool/postfix/trace
chown postfix:root ${D}${localstatedir}/spool/postfix/trace
install -m 0730 -d ${D}${localstatedir}/spool/postfix/maildrop
chown postfix:postdrop ${D}${localstatedir}/spool/postfix/maildrop
install -m 0755 -d ${D}${localstatedir}/spool/postfix/pid
chown root:root ${D}${localstatedir}/spool/postfix/pid
install -m 0700 -d ${D}${localstatedir}/spool/postfix/private
chown postfix:root ${D}${localstatedir}/spool/postfix/private
install -m 0710 -d ${D}${localstatedir}/spool/postfix/public
chown postfix:postdrop ${D}${localstatedir}/spool/postfix/public
install -m 0755 -d ${D}${localstatedir}/spool/vmail
chown vmail:vmail ${D}${localstatedir}/spool/vmail
chown :postdrop ${D}${sbindir}/postqueue
chown :postdrop ${D}${sbindir}/postdrop
chmod g+s ${D}${sbindir}/postqueue
chmod g+s ${D}${sbindir}/postdrop
}
do_install_append_class-native() {
ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases
ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq
}
NATIVE_INSTALL_WORKS = "1"
ALTERNATIVE_${PN} = "sendmail"
ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix"
ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
ALTERNATIVE_PRIORITY = "120"
pkg_postinst_${PN} () {
if [ "x$D" = "x" ]; then
touch /etc/aliases
newaliases
# generate virtual_alias, default is hash
touch /etc/postfix/virtual_alias
postmap /etc/postfix/virtual_alias
else
touch $D/etc/aliases
newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases
touch $D/etc/postfix/virtual_alias
postmap -c $D/etc/postfix $D/etc/postfix/virtual_alias
fi
}
# Exclude .debug directories from the main package
FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \
${exec_prefix}/libexec/postfix/* ${systemd_unitdir}/*"
FILES_${PN}-dbg += "${exec_prefix}/libexec/postfix/.debug"

View File

@ -0,0 +1,6 @@
require postfix.inc
SRC_URI += "file://postfix-add-db6-support.patch"
SRC_URI[md5sum] = "56ac1f1a79737c4ac1e24535a122a4a6"
SRC_URI[sha256sum] = "487f98a73b95a5799409caf21ec065efea91c1dcdfb84c038a0e3a265d6489e2"