All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH 1/1] postfix: fix send mail failure and eliminate warning
@ 2017-10-26 21:43 Joe Slater
  2017-11-02  7:52 ` Yi Zhao
  0 siblings, 1 reply; 2+ messages in thread
From: Joe Slater @ 2017-10-26 21:43 UTC (permalink / raw)
  To: openembedded-devel

From: Yi Zhao <yi.zhao@windriver.com>

* 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>
---
 .../postfix/files/{main.cf_2.0 => main.cf}         |  3 +++
 .../recipes-daemons/postfix/postfix.inc            | 28 ++++++++++++----------
 .../recipes-daemons/postfix/postfix_3.2.2.bb       | 17 ++++---------
 3 files changed, 22 insertions(+), 26 deletions(-)
 rename meta-networking/recipes-daemons/postfix/files/{main.cf_2.0 => main.cf} (98%)

diff --git a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 b/meta-networking/recipes-daemons/postfix/files/main.cf
similarity index 98%
rename from meta-networking/recipes-daemons/postfix/files/main.cf_2.0
rename to meta-networking/recipes-daemons/postfix/files/main.cf
index dc7feb5..2371ace 100644
--- a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
+++ b/meta-networking/recipes-daemons/postfix/files/main.cf
@@ -1,3 +1,6 @@
+compatibility_level = 2
+smtputf8_enable = no
+
 # Configure your domain and accounts
 #mydomain=sample.com
 #FQDN from gethostname
diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc
index a588bd3..8dad45f 100644
--- a/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -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"
diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb b/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
index 439ede9..89af406 100644
--- a/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
+++ b/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
@@ -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"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [meta-networking][PATCH 1/1] postfix: fix send mail failure and eliminate warning
  2017-10-26 21:43 [meta-networking][PATCH 1/1] postfix: fix send mail failure and eliminate warning Joe Slater
@ 2017-11-02  7:52 ` Yi Zhao
  0 siblings, 0 replies; 2+ messages in thread
From: Yi Zhao @ 2017-11-02  7:52 UTC (permalink / raw)
  To: Joe Slater, openembedded-devel

Hi Joe,

I got an error for do_install after apply this patch:

newaliases: fatal: chdir /var/spool/postfix: No such file or directory


//Yi

在 2017年10月27日 05:43, Joe Slater 写道:
> From: Yi Zhao <yi.zhao@windriver.com>
>
> * 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>
> ---
>   .../postfix/files/{main.cf_2.0 => main.cf}         |  3 +++
>   .../recipes-daemons/postfix/postfix.inc            | 28 ++++++++++++----------
>   .../recipes-daemons/postfix/postfix_3.2.2.bb       | 17 ++++---------
>   3 files changed, 22 insertions(+), 26 deletions(-)
>   rename meta-networking/recipes-daemons/postfix/files/{main.cf_2.0 => main.cf} (98%)
>
> diff --git a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 b/meta-networking/recipes-daemons/postfix/files/main.cf
> similarity index 98%
> rename from meta-networking/recipes-daemons/postfix/files/main.cf_2.0
> rename to meta-networking/recipes-daemons/postfix/files/main.cf
> index dc7feb5..2371ace 100644
> --- a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
> +++ b/meta-networking/recipes-daemons/postfix/files/main.cf
> @@ -1,3 +1,6 @@
> +compatibility_level = 2
> +smtputf8_enable = no
> +
>   # Configure your domain and accounts
>   #mydomain=sample.com
>   #FQDN from gethostname
> diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc
> index a588bd3..8dad45f 100644
> --- a/meta-networking/recipes-daemons/postfix/postfix.inc
> +++ b/meta-networking/recipes-daemons/postfix/postfix.inc
> @@ -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"
> diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb b/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
> index 439ede9..89af406 100644
> --- a/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
> +++ b/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
> @@ -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"



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-11-02  7:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-26 21:43 [meta-networking][PATCH 1/1] postfix: fix send mail failure and eliminate warning Joe Slater
2017-11-02  7:52 ` Yi Zhao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.