From 09a888062bca0c413408429fb13b9900785e6295 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Tue, 25 Feb 2025 15:47:08 +0800 Subject: postfix: upgrade 3.8.9 -> 3.10.1 ChangeLog: https://www.postfix.org/announcements/postfix-3.10.0.html https://www.postfix.org/announcements/postfix-3.10.1.html Refresh local patches. Signed-off-by: Yi Zhao Signed-off-by: Khem Raj --- .../postfix/files/0001-Fix-makedefs.patch | 20 +- ...d-postconf-to-a-variable-for-cross-compil.patch | 32 +-- ...se-native-compiler-to-build-makedefs.test.patch | 20 +- .../postfix/files/0004-Fix-icu-config.patch | 12 +- ...dd-lnsl-and-lresolv-to-SYSLIBS-by-default.patch | 10 +- .../recipes-daemons/postfix/files/main.cf | 2 +- .../recipes-daemons/postfix/postfix_3.10.1.bb | 245 +++++++++++++++++++++ .../recipes-daemons/postfix/postfix_3.8.9.bb | 240 -------------------- 8 files changed, 293 insertions(+), 288 deletions(-) create mode 100644 meta-networking/recipes-daemons/postfix/postfix_3.10.1.bb delete mode 100644 meta-networking/recipes-daemons/postfix/postfix_3.8.9.bb diff --git a/meta-networking/recipes-daemons/postfix/files/0001-Fix-makedefs.patch b/meta-networking/recipes-daemons/postfix/files/0001-Fix-makedefs.patch index 8c9c13b1c4..785fe87452 100644 --- a/meta-networking/recipes-daemons/postfix/files/0001-Fix-makedefs.patch +++ b/meta-networking/recipes-daemons/postfix/files/0001-Fix-makedefs.patch @@ -1,4 +1,4 @@ -From 9000ee4d8bb5c5e0bcc588e9bec86eb56f4285e1 Mon Sep 17 00:00:00 2001 +From e4197bc1f431fd7e555a31e6f7f1e020b4ec8f4c Mon Sep 17 00:00:00 2001 From: Li xin Date: Fri, 19 Jun 2015 16:45:54 +0900 Subject: [PATCH] Fix makedefs @@ -19,10 +19,10 @@ Signed-off-by: Yao Zhao 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/makedefs b/makedefs -index 3448c1e..78e0717 100644 +index a740e41..28fb128 100644 --- a/makedefs +++ b/makedefs -@@ -197,9 +197,6 @@ echo "# pie=$pie" +@@ -230,9 +230,6 @@ echo "# pie=$pie" # Defaults for most sane systems @@ -32,7 +32,7 @@ index 3448c1e..78e0717 100644 ARFL=rv # Ugly function to make our error message more visible among the -@@ -492,12 +489,12 @@ case "$SYSTEM.$RELEASE" in +@@ -563,12 +560,12 @@ case "$SYSTEM.$RELEASE" in case "$CCARGS" in *-DNO_DB*) ;; *-DHAS_DB*) ;; @@ -48,7 +48,7 @@ index 3448c1e..78e0717 100644 else # No, we're not going to try db1 db2 db3 etc. # On a properly installed system, Postfix builds -@@ -506,12 +503,12 @@ case "$SYSTEM.$RELEASE" in +@@ -577,12 +574,12 @@ case "$SYSTEM.$RELEASE" in echo "Install the appropriate db*-devel package first." 1>&2 exit 1 fi @@ -63,7 +63,7 @@ index 3448c1e..78e0717 100644 do test -e $lib/lib$name.a -o -e $lib/lib$name.so && { SYSLIBS="$SYSLIBS -l$name" -@@ -531,7 +528,7 @@ case "$SYSTEM.$RELEASE" in +@@ -602,7 +599,7 @@ case "$SYSTEM.$RELEASE" in if [ `expr "X$CCARGS" : "X.*-DNO_EPOLL"` -gt 0 ] then : @@ -72,7 +72,7 @@ index 3448c1e..78e0717 100644 then echo CCARGS="$CCARGS -DNO_EPOLL" else -@@ -555,8 +552,6 @@ int main(int argc, char **argv) +@@ -626,8 +623,6 @@ int main(int argc, char **argv) } EOF ${CC-gcc} -o makedefs.test makedefs.test.c || exit 1 @@ -81,7 +81,7 @@ index 3448c1e..78e0717 100644 rm -f makedefs.test makedefs.test.[co] fi;; esac -@@ -572,12 +567,12 @@ EOF +@@ -644,12 +639,12 @@ EOF case "$CCARGS" in *-DNO_DB*) ;; *-DHAS_DB*) ;; @@ -97,7 +97,7 @@ index 3448c1e..78e0717 100644 else # On a properly installed system, Postfix builds # by including and by linking with -ldb -@@ -585,12 +580,12 @@ EOF +@@ -657,12 +652,12 @@ EOF echo "Install the appropriate db*-devel package first." 1>&2 exit 1 fi @@ -113,5 +113,5 @@ index 3448c1e..78e0717 100644 test -e $lib/lib$name.a -o -e $lib/lib$name.so && { SYSLIBS="$SYSLIBS -l$name" -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-daemons/postfix/files/0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch b/meta-networking/recipes-daemons/postfix/files/0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch index 28199ccdd2..d46efb95cb 100644 --- a/meta-networking/recipes-daemons/postfix/files/0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch +++ b/meta-networking/recipes-daemons/postfix/files/0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch @@ -1,4 +1,4 @@ -From cb69ffda0c2cbde6acdc8b01c8d5ff78d81a84fc Mon Sep 17 00:00:00 2001 +From 953719878466c55572294f42e85127bda5d34999 Mon Sep 17 00:00:00 2001 From: Li xin Date: Fri, 19 Jun 2015 17:14:58 +0900 Subject: [PATCH] Change fixed postconf to a variable for cross-compiling @@ -12,7 +12,7 @@ Signed-off-by: Yao Zhao 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 65e7911..40295be 100644 +index a37f89f..17cb64b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -22,7 +22,7 @@ META = meta/main.cf.proto meta/master.cf.proto meta/postfix-files \ @@ -25,10 +25,10 @@ index 65e7911..40295be 100644 default: update diff --git a/postfix-install b/postfix-install -index e498cd3..8049f43 100644 +index 563ee27..00d4651 100644 --- a/postfix-install +++ b/postfix-install -@@ -244,8 +244,8 @@ test -z "$non_interactive" -a ! -t 0 && { +@@ -249,8 +249,8 @@ test -z "$non_interactive" -a ! -t 0 && { exit 1 } @@ -39,7 +39,7 @@ index e498cd3..8049f43 100644 exit 1 } -@@ -266,7 +266,7 @@ do +@@ -271,7 +271,7 @@ do case "$junk" in *MAIL_VERSION*) case "$mail_version" in @@ -48,7 +48,7 @@ index e498cd3..8049f43 100644 esac val=`echo "$junk" | sed 's/MAIL_VERSION$/'"$mail_version/g"` || exit 1 case "$val" in -@@ -454,7 +454,7 @@ template files main.cf.proto and master.cf.proto." +@@ -459,7 +459,7 @@ template files main.cf.proto and master.cf.proto." : ${install_root=/} : ${tempdir=`pwd`} @@ -57,16 +57,16 @@ index e498cd3..8049f43 100644 # Find out the location of installed configuration files. -@@ -520,7 +520,7 @@ test -f $CONFIG_DIRECTORY/main.cf && { +@@ -525,7 +525,7 @@ test -f $CONFIG_DIRECTORY/main.cf && { case "$junk" in "") eval unset $name;; esac -- eval : \${$name=\`bin/postconf -c $CONFIG_DIRECTORY -hx $name\`} || -+ eval : \${$name=\`$POSTCONF -c $CONFIG_DIRECTORY -hx $name\`} || +- eval : \${$name=\`bin/postconf -qc $CONFIG_DIRECTORY -hx $name\`} || ++ eval : \${$name=\`$POSTCONF -qc $CONFIG_DIRECTORY -hx $name\`} || exit 1 done } -@@ -533,7 +533,7 @@ do +@@ -538,7 +538,7 @@ do case "$junk" in "") eval unset $name;; esac @@ -75,7 +75,7 @@ index e498cd3..8049f43 100644 done # Override settings manually. -@@ -670,6 +670,8 @@ README_DIRECTORY=$install_root$readme_directory +@@ -675,6 +675,8 @@ README_DIRECTORY=$install_root$readme_directory SHLIB_DIRECTORY=$install_root$shlib_directory META_DIRECTORY=$install_root$meta_directory @@ -84,7 +84,7 @@ index e498cd3..8049f43 100644 # Avoid repeated tests for existence of these; default permissions suffice. test -d $DAEMON_DIRECTORY || mkdir -p $DAEMON_DIRECTORY || exit 1 -@@ -841,7 +843,7 @@ IFS="$BACKUP_IFS" +@@ -846,7 +848,7 @@ IFS="$BACKUP_IFS" # the wrong place when Postfix is being upgraded. case "$mail_version" in @@ -93,15 +93,15 @@ index e498cd3..8049f43 100644 esac # Undo MAIL_VERSION expansion at the end of a parameter value. If -@@ -861,7 +863,7 @@ do +@@ -866,7 +868,7 @@ do esac done --bin/postconf -c $CONFIG_DIRECTORY -e \ -+"$POSTCONF" -c $CONFIG_DIRECTORY -e \ +-bin/postconf -qc $CONFIG_DIRECTORY -e \ ++"$POSTCONF" -qc $CONFIG_DIRECTORY -e \ "daemon_directory = $daemon_directory" \ "data_directory = $data_directory" \ "command_directory = $command_directory" \ -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-daemons/postfix/files/0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch b/meta-networking/recipes-daemons/postfix/files/0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch index 1545f21637..6f8e3e84da 100644 --- a/meta-networking/recipes-daemons/postfix/files/0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch +++ b/meta-networking/recipes-daemons/postfix/files/0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch @@ -1,22 +1,22 @@ -From 995bddd9563b1aecca2369f2f9c675f88bdc0053 Mon Sep 17 00:00:00 2001 +From a8ec63a71361ccd3f6d2959c4c87b7824282b291 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 26 Aug 2017 10:29:37 -0700 Subject: [PATCH] makedefs: Use native compiler to build makedefs.test Its a binary used during build +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Khem Raj --- -Upstream-Status: Pending - makedefs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/makedefs b/makedefs -index 78e0717..3299eba 100644 +index 28fb128..313b401 100644 --- a/makedefs +++ b/makedefs -@@ -551,7 +551,7 @@ int main(int argc, char **argv) +@@ -622,7 +622,7 @@ int main(int argc, char **argv) exit(0); } EOF @@ -25,7 +25,7 @@ index 78e0717..3299eba 100644 rm -f makedefs.test makedefs.test.[co] fi;; esac -@@ -787,7 +787,7 @@ int main(int argc, char **argv) +@@ -865,7 +865,7 @@ int main(int argc, char **argv) exit(0); } EOF @@ -34,7 +34,7 @@ index 78e0717..3299eba 100644 ./makedefs.test 2>/dev/null || CCARGS="$CCARGS -DNO_SIGSETJMP" rm -f makedefs.test makedefs.test.[co] -@@ -823,7 +823,7 @@ int main(int argc, char **argv) +@@ -903,7 +903,7 @@ int main(int argc, char **argv) &error) != 14); } EOF @@ -43,7 +43,7 @@ index 78e0717..3299eba 100644 $icu_ldflags >/dev/null 2>&1 if ./makedefs.test 2>/dev/null ; then CCARGS="$CCARGS $icu_cppflags" -@@ -938,7 +938,7 @@ int main(void) +@@ -1024,7 +1024,7 @@ int main(void) exit(ferror(stdout) ? 1 : 0); } EOF @@ -52,7 +52,7 @@ index 78e0717..3299eba 100644 ./makedefs.test || exit 1 rm -f makedefs.test makedefs.test.[co] } -@@ -1094,7 +1094,7 @@ int main(void) +@@ -1180,7 +1180,7 @@ int main(void) exit(ferror(stdout) ? 1 : 0); } EOF @@ -62,5 +62,5 @@ index 78e0717..3299eba 100644 rm -f makedefs.test makedefs.test.[co] eval ${parm_name}=\""\$parm_val"\" -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-daemons/postfix/files/0004-Fix-icu-config.patch b/meta-networking/recipes-daemons/postfix/files/0004-Fix-icu-config.patch index a38e783309..0660ee098e 100644 --- a/meta-networking/recipes-daemons/postfix/files/0004-Fix-icu-config.patch +++ b/meta-networking/recipes-daemons/postfix/files/0004-Fix-icu-config.patch @@ -1,4 +1,4 @@ -From afef4a9391e6bb1a6c3e73d370f240577ed8b0dd Mon Sep 17 00:00:00 2001 +From 404150f53bb49af987d7338a808f47fdbd50ba7f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 16 Jan 2022 11:21:54 +0800 Subject: [PATCH] Fix icu config @@ -10,18 +10,18 @@ corrupted in any case its just adding -I/usr/include to the CCARGS which we loose nothing if its not entertained. +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Khem Raj --- -Upstream-Status: Pending - makedefs | 1 - 1 file changed, 1 deletion(-) diff --git a/makedefs b/makedefs -index 3299eba..2a76f20 100644 +index 313b401..e5db212 100644 --- a/makedefs +++ b/makedefs -@@ -826,7 +826,6 @@ EOF +@@ -906,7 +906,6 @@ EOF ${BUILD_CC-gcc} -o makedefs.test makedefs.test.c $icu_cppflags \ $icu_ldflags >/dev/null 2>&1 if ./makedefs.test 2>/dev/null ; then @@ -30,5 +30,5 @@ index 3299eba..2a76f20 100644 else CCARGS="$CCARGS -DNO_EAI" -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-daemons/postfix/files/0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch b/meta-networking/recipes-daemons/postfix/files/0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch index b425cf8432..1571aa844d 100644 --- a/meta-networking/recipes-daemons/postfix/files/0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch +++ b/meta-networking/recipes-daemons/postfix/files/0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch @@ -1,4 +1,4 @@ -From 545d4a79b50caa5698622c0c1905ae154197a16f Mon Sep 17 00:00:00 2001 +From 25e7d1a9bc64f39666eb0e2b9b175773615e28d2 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Fri, 12 Oct 2018 12:38:02 +0800 Subject: [PATCH] makedefs: add -lnsl and -lresolv to SYSLIBS by default @@ -14,10 +14,10 @@ Signed-off-by: Yi Zhao 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/makedefs b/makedefs -index 2a76f20..9d5db9f 100644 +index e5db212..b00049b 100644 --- a/makedefs +++ b/makedefs -@@ -506,16 +506,7 @@ case "$SYSTEM.$RELEASE" in +@@ -577,16 +577,7 @@ case "$SYSTEM.$RELEASE" in SYSLIBS="$SYSLIBS -ldb" ;; esac @@ -35,7 +35,7 @@ index 2a76f20..9d5db9f 100644 # Kernel 2.4 added IPv6 case "$RELEASE" in 2.[0-3].*) CCARGS="$CCARGS -DNO_IPV6";; -@@ -583,16 +574,7 @@ EOF +@@ -655,16 +646,7 @@ EOF SYSLIBS="$SYSLIBS -ldb" ;; esac @@ -54,5 +54,5 @@ index 2a76f20..9d5db9f 100644 : ${SHLIB_SUFFIX=.so} : ${SHLIB_CFLAGS=-fPIC} -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-daemons/postfix/files/main.cf b/meta-networking/recipes-daemons/postfix/files/main.cf index 22c57485d7..e9f80af15d 100644 --- a/meta-networking/recipes-daemons/postfix/files/main.cf +++ b/meta-networking/recipes-daemons/postfix/files/main.cf @@ -1,4 +1,4 @@ -compatibility_level = 3.6 +compatibility_level = 3.10 smtputf8_enable = no # Configure your domain and accounts diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.10.1.bb b/meta-networking/recipes-daemons/postfix/postfix_3.10.1.bb new file mode 100644 index 0000000000..d426b0fe83 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/postfix_3.10.1.bb @@ -0,0 +1,245 @@ +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 = "mail" +DEPENDS = "db icu libpcre libnsl2 m4-native openssl postfix-native \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \ +" + +LICENSE = "IPL-1.0 | EPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a" + +SRC_URI = "http://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://main.cf \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ + file://check_hostname.sh \ + file://0001-Fix-makedefs.patch \ + file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \ + file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ + file://0004-Fix-icu-config.patch \ + file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ + " + +SRC_URI[sha256sum] = "75868db7a8ed252cd3a14c13a3ce383ddd42563160c02027d061202ee36799bf" + +UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.10(\.\d+)+).tar.gz" + +S = "${WORKDIR}/postfix-${PV}" + +CLEANBROKEN = "1" + +BBCLASSEXTEND = "native" + +inherit pkgconfig update-rc.d useradd update-alternatives systemd lib_package + +INITSCRIPT_NAME = "postfix" +INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." +USERADD_PACKAGES = "${PN}-bin" +USERADD_PARAM:${PN}-bin = \ +"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \ + -d /var/spool/vmail -r -g vmail --shell /bin/false vmail \ +" +GROUPADD_PARAM:${PN}-bin = "--system postfix;--system postdrop;--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 = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}" +export AUXLIBS-ldap = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}" + +# no native openldap +export CCARGS-ldap:class-native = "" +export AUXLIBS-ldap:class-native = "" + +export CCARGS-nonis:libc-musl = "-DNO_NIS" +export CCARGS-nonis = "" + +# SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH +# current openldap didn't enable SASL +export CCARGS-sasl = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${STAGING_INCDIR}/sasl', '', d)}" +export AUXLIBS-sasl = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}" +export CCARGS-sasl:class-native = "" +export AUXLIBS-sasl:class-native = "" + +# PCRE, TLS support default +export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS -I${STAGING_INCDIR}/openssl ${CCARGS-ldap} ${CCARGS-sasl} ${CCARGS-nonis}" +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}" + else + # native build + export BUILD_SYSROOT="${STAGING_DIR_NATIVE}" + fi + + oe_runmake makefiles + oe_runmake +} + +do_install:prepend:class-native() { + export POSTCONF="bin/postconf" +} + +SYSTEMD_SERVICE:${PN} = "postfix.service" + +do_install () { + sh ./postfix-install 'install_root=${D}' \ + 'config_directory=${sysconfdir}/postfix' \ + 'daemon_directory=${libexecdir}/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/${MLPREFIX}sample-main.cf + install -m 755 ${S}/bin/smtp-sink ${D}/${sbindir}/ + install -m 644 ${UNPACKDIR}/main.cf ${D}${sysconfdir}/postfix/main.cf + sed -i 's#@LIBEXECDIR@#${libexecdir}#' ${D}${sysconfdir}/postfix/main.cf + + install -m 755 ${UNPACKDIR}/check_hostname.sh ${D}${sbindir}/ + + install -m 644 ${UNPACKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 755 ${UNPACKDIR}/postfix ${D}${sysconfdir}/init.d/postfix + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/postfix.service ${D}${systemd_unitdir}/system + sed -i -e 's#@LIBEXECDIR@#${libexecdir}#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 + fi + + install -m 0755 ${UNPACKDIR}/aliasesdb ${D}${libexecdir}/postfix + + install -m 770 -d ${D}${localstatedir}/spool/postfix + chown postfix:postfix ${D}${localstatedir}/spool/postfix + + 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 + + rm -rf ${D}/etc/postfix/makedefs.out +} + +do_install:append:class-native() { + ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases + ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq +} + +ALTERNATIVE:${PN}-bin = "sendmail mailq newaliases" +# /usr/lib/sendmial is required by LSB core test +ALTERNATIVE:${PN}-bin:linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail" +ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq" +ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases" +ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix" +ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" +ALTERNATIVE_TARGET[usr-lib-sendmail] = "${sbindir}/sendmail.postfix" +ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail" + +ALTERNATIVE_PRIORITY = "120" + +ALTERNATIVE:${PN}-doc += "mailq.1 newaliases.1 sendmail.1" +ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1" +ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1" +ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1" + +pkg_postinst_ontarget:${PN}-cfg () { + touch /etc/aliases + newaliases + + # generate virtual_alias, default is hash + touch /etc/postfix/virtual_alias + postmap /etc/postfix/virtual_alias +} + +PACKAGES =+ "${PN}-cfg" +RDEPENDS:${PN}-cfg:class-target += "${PN}-bin" +RDEPENDS:${PN}:class-target += "${PN}-cfg" +# Exclude .debug directories from the main package +FILES:${PN}-bin += "${localstatedir} ${bindir}/* ${sbindir}/* \ + ${libexecdir}/* ${systemd_unitdir}/*" +FILES:${PN}-cfg = "${sysconfdir}" +FILES:${PN}-dbg += "${libexecdir}/postfix/.debug" +ALLOW_EMPTY:${PN} = "1" diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.8.9.bb b/meta-networking/recipes-daemons/postfix/postfix_3.8.9.bb deleted file mode 100644 index 2c474e4d04..0000000000 --- a/meta-networking/recipes-daemons/postfix/postfix_3.8.9.bb +++ /dev/null @@ -1,240 +0,0 @@ -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 = "mail" -DEPENDS = "db icu libpcre libnsl2 m4-native openssl postfix-native \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \ -" - -LICENSE = "IPL-1.0 | EPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a" - -SRC_URI = "http://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ - file://main.cf \ - file://postfix \ - file://internal_recipient \ - file://postfix.service \ - file://aliasesdb \ - file://check_hostname.sh \ - file://0001-Fix-makedefs.patch \ - file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \ - file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ - file://0004-Fix-icu-config.patch \ - file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ - " - -SRC_URI[sha256sum] = "d0205a11e36d57b640daaa17a7e7166b8abc730d93b1db7e92e32dfb24bbfde1" - -UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.8(\.\d+)+).tar.gz" - -S = "${WORKDIR}/postfix-${PV}" - -CLEANBROKEN = "1" - -BBCLASSEXTEND = "native" - -inherit pkgconfig update-rc.d useradd update-alternatives systemd lib_package - -INITSCRIPT_NAME = "postfix" -INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." -USERADD_PACKAGES = "${PN}-bin" -USERADD_PARAM:${PN}-bin = \ -"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \ - -d /var/spool/vmail -r -g vmail --shell /bin/false vmail \ -" -GROUPADD_PARAM:${PN}-bin = "--system postfix;--system postdrop;--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 = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}" -export AUXLIBS-ldap = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}" - -# no native openldap -export CCARGS-ldap:class-native = "" -export AUXLIBS-ldap:class-native = "" - -export CCARGS-nonis:libc-musl = "-DNO_NIS" -export CCARGS-nonis = "" - -# SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH -# current openldap didn't enable SASL -export CCARGS-sasl = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${STAGING_INCDIR}/sasl', '', d)}" -export AUXLIBS-sasl = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}" -export CCARGS-sasl:class-native = "" -export AUXLIBS-sasl:class-native = "" - -# PCRE, TLS support default -export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS -I${STAGING_INCDIR}/openssl ${CCARGS-ldap} ${CCARGS-sasl} ${CCARGS-nonis}" -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}" - else - # native build - export BUILD_SYSROOT="${STAGING_DIR_NATIVE}" - fi - - oe_runmake makefiles - oe_runmake -} - -do_install:prepend:class-native() { - export POSTCONF="bin/postconf" -} - -SYSTEMD_SERVICE:${PN} = "postfix.service" - -do_install () { - sh ./postfix-install 'install_root=${D}' \ - 'config_directory=${sysconfdir}/postfix' \ - 'daemon_directory=${libexecdir}/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/${MLPREFIX}sample-main.cf - install -m 755 ${S}/bin/smtp-sink ${D}/${sbindir}/ - install -d ${D}${sysconfdir}/init.d - install -m 644 ${UNPACKDIR}/main.cf ${D}${sysconfdir}/postfix/main.cf - sed -i 's#@LIBEXECDIR@#${libexecdir}#' ${D}${sysconfdir}/postfix/main.cf - - install -m 755 ${UNPACKDIR}/check_hostname.sh ${D}${sbindir}/ - - install -m 755 ${UNPACKDIR}/postfix ${D}${sysconfdir}/init.d/postfix - install -m 644 ${UNPACKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/postfix.service ${D}${systemd_unitdir}/system - sed -i -e 's#@LIBEXECDIR@#${libexecdir}#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 ${UNPACKDIR}/aliasesdb ${D}${libexecdir}/postfix - - install -m 770 -d ${D}${localstatedir}/spool/postfix - chown postfix:postfix ${D}${localstatedir}/spool/postfix - - 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 - - rm -rf ${D}/etc/postfix/makedefs.out -} - -do_install:append:class-native() { - ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases - ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq -} - -ALTERNATIVE:${PN}-bin = "sendmail mailq newaliases" -# /usr/lib/sendmial is required by LSB core test -ALTERNATIVE:${PN}-bin:linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail" -ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq" -ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases" -ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix" -ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" -ALTERNATIVE_TARGET[usr-lib-sendmail] = "${sbindir}/sendmail.postfix" -ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail" - -ALTERNATIVE_PRIORITY = "120" - -ALTERNATIVE:${PN}-doc += "mailq.1 newaliases.1 sendmail.1" -ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1" -ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1" -ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1" - -pkg_postinst_ontarget:${PN}-cfg () { - touch /etc/aliases - newaliases - - # generate virtual_alias, default is hash - touch /etc/postfix/virtual_alias - postmap /etc/postfix/virtual_alias -} - -PACKAGES =+ "${PN}-cfg" -RDEPENDS:${PN}-cfg:class-target += "${PN}-bin" -RDEPENDS:${PN}:class-target += "${PN}-cfg" -# Exclude .debug directories from the main package -FILES:${PN}-bin += "${localstatedir} ${bindir}/* ${sbindir}/* \ - ${libexecdir}/* ${systemd_unitdir}/*" -FILES:${PN}-cfg = "${sysconfdir}" -FILES:${PN}-dbg += "${libexecdir}/postfix/.debug" -ALLOW_EMPTY:${PN} = "1" -- cgit v1.2.3-54-g00ecf