diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/postfix | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/postfix')
-rw-r--r-- | recipes/postfix/files/install.patch | 63 | ||||
-rw-r--r-- | recipes/postfix/files/internal_recipient | 2 | ||||
-rw-r--r-- | recipes/postfix/files/main.cf_2.0 | 101 | ||||
-rw-r--r-- | recipes/postfix/files/makedefs.patch | 16 | ||||
-rwxr-xr-x | recipes/postfix/files/postfix | 31 | ||||
-rw-r--r-- | recipes/postfix/files/volatiles | 15 | ||||
-rw-r--r-- | recipes/postfix/postfix-2.0.20/.mtn2git_empty | 0 | ||||
-rw-r--r-- | recipes/postfix/postfix-native_2.0.20.bb | 10 | ||||
-rw-r--r-- | recipes/postfix/postfix-native_2.2.12.bb | 10 | ||||
-rw-r--r-- | recipes/postfix/postfix.inc | 81 | ||||
-rw-r--r-- | recipes/postfix/postfix_2.0.20.bb | 3 | ||||
-rw-r--r-- | recipes/postfix/postfix_2.2.12.bb | 1 |
12 files changed, 333 insertions, 0 deletions
diff --git a/recipes/postfix/files/install.patch b/recipes/postfix/files/install.patch new file mode 100644 index 0000000000..baffcce0e8 --- /dev/null +++ b/recipes/postfix/files/install.patch @@ -0,0 +1,63 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- postfix-2.0.15/postfix-install~install.patch ++++ postfix-2.0.15/postfix-install +@@ -187,8 +187,8 @@ + 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 + } + +@@ -336,7 +336,7 @@ + + : ${install_root=/} + : ${tempdir=`pwd`} +-: ${config_directory=`bin/postconf -h -d config_directory`} ++: ${config_directory=`$POSTCONF -h -d config_directory`} + + # Find out the location of installed configuration files. + +@@ -399,7 +399,7 @@ + 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 + } +@@ -414,7 +414,7 @@ + case "$junk" in + "") eval unset $name;; + esac +- eval : \${$name=\`bin/postconf -d -h $name\`} || exit 1 ++ eval : \${$name=\`$POSTCONF -d -h $name\`} || exit 1 + done + + # Override settings manually. +@@ -521,6 +521,8 @@ + SAMPLE_DIRECTORY=$install_root$sample_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 +@@ -639,7 +641,7 @@ + # 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" \ + "command_directory = $command_directory" \ + "queue_directory = $queue_directory" \ diff --git a/recipes/postfix/files/internal_recipient b/recipes/postfix/files/internal_recipient new file mode 100644 index 0000000000..0d11944beb --- /dev/null +++ b/recipes/postfix/files/internal_recipient @@ -0,0 +1,2 @@ +root@ permit_mynetworks,reject + diff --git a/recipes/postfix/files/main.cf_2.0 b/recipes/postfix/files/main.cf_2.0 new file mode 100644 index 0000000000..1a6ddabbf3 --- /dev/null +++ b/recipes/postfix/files/main.cf_2.0 @@ -0,0 +1,101 @@ +#!/bin/sh +cat <<EOF +# Configure your domain and accounts +mydomain=sample.com +mynetworks = 127.0.0.1/32 192.168.1.0/24 + +virtual_mailbox_domains = sample.com, other.net +virtual_mailbox_maps = hash:/etc/postfix/virtual +virtual_alias_maps = hash:/etc/postfix/virtual_alias + + +# 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 +mydestination = +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 + +EOF diff --git a/recipes/postfix/files/makedefs.patch b/recipes/postfix/files/makedefs.patch new file mode 100644 index 0000000000..433b171e5a --- /dev/null +++ b/recipes/postfix/files/makedefs.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- postfix-2.0.15/makedefs~makedefs ++++ postfix-2.0.15/makedefs +@@ -189,7 +189,7 @@ + echo "No <db.h> include file found." 1>&2 + echo "Install the appropriate db*-devel package first." 1>&2 + echo "See the RELEASE_NOTES file for more information." 1>&2 +- exit 1 ++ #exit 1 + fi + # GDBM locks the DBM .pag file after open. This breaks postmap. + # if [ -f /usr/include/gdbm-ndbm.h ] diff --git a/recipes/postfix/files/postfix b/recipes/postfix/files/postfix new file mode 100755 index 0000000000..2fd5ba7007 --- /dev/null +++ b/recipes/postfix/files/postfix @@ -0,0 +1,31 @@ +#!/bin/sh + +case "$1" in + + start) + echo "Starting Postfix..." + postfix start + ;; + + stop) + echo "Stopping Postfix..." + postfix stop + ;; + + reload) + echo "Reloading Postfix..." + postfix reload + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "Usage: $0 {start|stop|reload|restart}" + exit 1 + ;; +esac + diff --git a/recipes/postfix/files/volatiles b/recipes/postfix/files/volatiles new file mode 100644 index 0000000000..bc330c99bd --- /dev/null +++ b/recipes/postfix/files/volatiles @@ -0,0 +1,15 @@ +d postfix nogroup 2755 /var/spool/mail none +d root postfix 0755 /var/spool/postfix none +d postfix root 0700 /var/spool/postfix/active none +d postfix root 0700 /var/spool/postfix/bounce none +d postfix root 0700 /var/spool/postfix/corrupt none +d postfix root 0700 /var/spool/postfix/defer none +d postfix root 0700 /var/spool/postfix/deferred none +d postfix root 0700 /var/spool/postfix/flush none +d postfix root 0700 /var/spool/postfix/hold none +d postfix root 0700 /var/spool/postfix/incoming none +d postfix postdrop 0730 /var/spool/postfix/maildrop none +d root root 0755 /var/spool/postfix/pid none +d postfix root 0700 /var/spool/postfix/private none +d postfix postdrop 0710 /var/spool/postfix/public none +d root root 0755 /var/spool/vmail none diff --git a/recipes/postfix/postfix-2.0.20/.mtn2git_empty b/recipes/postfix/postfix-2.0.20/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/recipes/postfix/postfix-2.0.20/.mtn2git_empty diff --git a/recipes/postfix/postfix-native_2.0.20.bb b/recipes/postfix/postfix-native_2.0.20.bb new file mode 100644 index 0000000000..66ff65de4c --- /dev/null +++ b/recipes/postfix/postfix-native_2.0.20.bb @@ -0,0 +1,10 @@ +require postfix_${PV}.bb + +inherit native +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/postfix-${PV}" +DEPENDS = "virtual/db-native libpcre-native" +export DIRS = "src/util src/global src/postconf" + +do_stage () { + install -m 0755 src/postconf/postconf ${STAGING_BINDIR}/ +} diff --git a/recipes/postfix/postfix-native_2.2.12.bb b/recipes/postfix/postfix-native_2.2.12.bb new file mode 100644 index 0000000000..66ff65de4c --- /dev/null +++ b/recipes/postfix/postfix-native_2.2.12.bb @@ -0,0 +1,10 @@ +require postfix_${PV}.bb + +inherit native +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/postfix-${PV}" +DEPENDS = "virtual/db-native libpcre-native" +export DIRS = "src/util src/global src/postconf" + +do_stage () { + install -m 0755 src/postconf/postconf ${STAGING_BINDIR}/ +} diff --git a/recipes/postfix/postfix.inc b/recipes/postfix/postfix.inc new file mode 100644 index 0000000000..0371f62957 --- /dev/null +++ b/recipes/postfix/postfix.inc @@ -0,0 +1,81 @@ +SECTION = "console/network" +DEPENDS = "virtual/db libpcre postfix-native" +LICENSE = "IPL" + +SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://${FILESDIR}/makedefs.patch;patch=1 \ + file://${FILESDIR}/install.patch;patch=1 \ + file://main.cf_2.0 \ + file://volatiles \ + file://postfix \ + file://internal_recipient \ + " + +S = "${WORKDIR}/postfix-${PV}" + +inherit update-rc.d + +INITSCRIPT_NAME = "postfix" +INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." + +#FIXME: this is broken because the native build won't work on systems where +# native bdb does not require libpthread. ARM doesn't require libpthread +# because it uses an assembler mutex implementation. +LIBBDB_EXTRA = "-lpthread" +LIBBDB_EXTRA_arm = "" +LIBBDB_EXTRA_armeb = "" + +export SYSLIBS = "-lpcre -ldb ${LIBBDB_EXTRA} -lnsl -lresolv ${LDFLAGS}" +export EXPORT = "AUXLIBS='-lpcre' CCARGS='-DHAS_PCRE ${CFLAGS}' OPT='' DEBUG='-g'" +export CC_append = " -DHAS_PCRE ${CFLAGS}" +export EXTRA_OEMAKE = "-e" +export POSTCONF = "${STAGING_BINDIR_NATIVE}/postconf" + +do_compile () { + unset CFLAGS CPPFLAGS CXXFLAGS + oe_runmake makefiles + oe_runmake +} + +do_install () { + sh ./postfix-install 'install_root=${D}' -non-interactive + rm -rf ${D}${localstatedir}/spool/postfix + mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/sample-main.cf + install -d ${D}${localstatedir}/tmp + install -d ${D}${sysconfdir}/default/volatiles + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/main.cf_2.0 ${D}${localstatedir}/tmp/main_cf.sh + install -m 644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/01_postfix + install -m 755 ${WORKDIR}/postfix ${D}${sysconfdir}/init.d/postfix + install -m 644 ${WORKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient + mv ${D}${sbindir}/sendmail ${D}${sbindir}/sendmail.${PN} +} + +pkg_postinst () { + update-alternatives --install ${sbindir}/sendmail sendmail sendmail.${PN} 40 + grep postfix /etc/group || addgroup postfix + grep postdrop /etc/group || addgroup postdrop + grep vmail /etc/group || addgroup vmail + grep postfix /etc/passwd || adduser --disabled-password --home=/var/spool/postfix --ingroup postfix -g "Postfix" postfix + grep vmail /etc/passwd || adduser --disabled-password --home=/var/spool/vmail --ingroup vmail -g "Postfix" vmail + chgrp postdrop /usr/sbin/postqueue + chgrp postdrop /usr/sbin/postdrop + chmod g+s /usr/sbin/postqueue + chmod g+s /usr/sbin/postdrop + /var/tmp/main_cf.sh >/etc/postfix/main.cf + rm -f /var/tmp/main_cf.sh + chmod 644 /etc/postfix/main.cf + [ -d /var/spool/postfix ] && rmdir /var/spool/postfix + /etc/init.d/populate-volatile.sh update + touch /etc/aliases + newaliases +} + +pkg_postrm () { + update-alternatives --remove sendmail sendmail.${PN} +} + +# Exclude .debug directories from the main package +FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \ + ${libexecdir}/postfix/*" +FILES_${PN}-dbg += "${libexecdir}/postfix/.debug" diff --git a/recipes/postfix/postfix_2.0.20.bb b/recipes/postfix/postfix_2.0.20.bb new file mode 100644 index 0000000000..8cafc344f2 --- /dev/null +++ b/recipes/postfix/postfix_2.0.20.bb @@ -0,0 +1,3 @@ +require postfix.inc + +PR = "r13" diff --git a/recipes/postfix/postfix_2.2.12.bb b/recipes/postfix/postfix_2.2.12.bb new file mode 100644 index 0000000000..3f1039a83d --- /dev/null +++ b/recipes/postfix/postfix_2.2.12.bb @@ -0,0 +1 @@ +require postfix.inc |