postfix: fix send mail failure and eliminate warning

* Update main.cf for postfix 3.x to eliminate startup warning
* Set daemon_directory from ${libexecdir} to ${libexecdir}/postfix
* Using absolute path for newaliases and postmap to generate the correct
  db file in pkg_postinst
* Remove duplicate SRC_URI lines in postfix_3.2.2.bb

(LOCAL REV: NOT UPSTREAM) -- will sent to oe-devel later

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>

* Move use of newaliases and postmap on host to install phase
  because absolute path might not exist at rootfs build time.

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Yi Zhao
2017-10-26 14:43:31 -07:00
committed by Joe MacDonald
parent d338d219df
commit e1221e7aa4
3 changed files with 22 additions and 26 deletions
@@ -1,3 +1,6 @@
compatibility_level = 2
smtputf8_enable = no
# Configure your domain and accounts
#mydomain=sample.com
#FQDN from gethostname
@@ -18,7 +18,7 @@ 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://main.cf \
file://postfix \
file://internal_recipient \
file://postfix.service \
@@ -135,7 +135,7 @@ SYSTEMD_SERVICE_${PN} = "postfix.service"
do_install () {
sh ./postfix-install 'install_root=${D}' \
'config_directory=${sysconfdir}/postfix' \
'daemon_directory=${libexecdir}' \
'daemon_directory=${libexecdir}/postfix' \
'command_directory=${sbindir}' \
'queue_directory=${localstatedir}/spool/postfix' \
'sendmail_path=${sbindir}/sendmail.postfix' \
@@ -149,8 +149,8 @@ do_install () {
mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/sample-main.cf
install -m 755 ${S}/bin/smtp-sink ${D}/${sbindir}/
install -d ${D}${sysconfdir}/init.d
install -m 644 ${WORKDIR}/main.cf_2.0 ${D}${sysconfdir}/postfix/main.cf
sed -i 's#@LIBEXECDIR@#${libexecdir}#' ${D}${sysconfdir}/postfix/main.cf
install -m 644 ${WORKDIR}/main.cf ${D}${sysconfdir}/postfix/main.cf
sed -i 's#@LIBEXECDIR@#${libexecdir}/postfix#' ${D}${sysconfdir}/postfix/main.cf
install -m 755 ${WORKDIR}/check_hostname.sh ${D}${sbindir}/
@@ -159,11 +159,11 @@ do_install () {
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/postfix.service ${D}${systemd_unitdir}/system
sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/postfix.service
sed -i -e 's#@LIBEXECDIR@#${libexecdir}/postfix#g' ${D}${systemd_unitdir}/system/postfix.service
sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/postfix.service
sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/postfix.service
install -m 0755 ${WORKDIR}/aliasesdb ${D}${libexecdir}
install -m 0755 ${WORKDIR}/aliasesdb ${D}${libexecdir}/postfix
install -m 770 -d ${D}${localstatedir}/spool/postfix
chown postfix:postfix ${D}${localstatedir}/spool/postfix
@@ -217,6 +217,12 @@ do_install_append_class-native() {
do_install_append_class-target() {
# Remove references to buildmachine paths in target makedefs.out
sed -i 's:-fdebug-prefix-map[^ ]*::g; s:--sysroot=${STAGING_DIR_TARGET}::g' ${D}/etc/postfix/makedefs.out
# Since we are building recipe postfix, newaliases and postmap come from our sysroot_native.
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
}
NATIVE_INSTALL_WORKS = "1"
@@ -240,13 +246,8 @@ pkg_postinst_${PN} () {
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
if ${@'true' if 'linuxstdbase' in d.getVar('DISTROOVERRIDES', False) else 'false'}; then
# /usr/lib/sendmial is required by LSB core test
# /usr/lib/sendmail is required by LSB core test
[ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
fi
fi
@@ -255,4 +256,5 @@ pkg_postinst_${PN} () {
# Exclude .debug directories from the main package
FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \
${libexecdir}/* ${systemd_unitdir}/*"
FILES_${PN}-dbg += "${libexecdir}/.debug"
CONFFILES_${PN} = "/etc/aliases /etc/postfix/virtual_alias*"
FILES_${PN}-dbg += "${libexecdir}/postfix/.debug"
@@ -1,18 +1,9 @@
require postfix.inc
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 \
file://aliasesdb \
file://check_hostname.sh \
file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \
file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
file://postfix-install.patch \
file://icu-config.patch \
SRC_URI += "file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \
file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
file://postfix-install.patch \
file://icu-config.patch \
"
SRC_URI[md5sum] = "aea073a9b0bea5bdb590460a270a4aa0"
SRC_URI[sha256sum] = "d06849418d119d09366997b2b481bb23f737629769b4e4a52da42fb3ad8b0576"