Greetings. In my spare time I've been working on getting Postfix 2.4.5 working with MacPorts, as well as getting TLS and SASL to work correctly (OpenSSL deps using system libraries instead of the ported version, leading to 0.9.7 vs 0.9.8 mismatch). The below portfile *works* correctly (with thanks to Mark Duling to helping me get this far!)-- the issue is that while I'm rather comfortable with Postifx, I'm quite certain I don't know enough about the MacPorts system to make it work in the proscribed manner. For instance, it isn't set up to use variants and whatnot, but the make arguments get passed correctly and it uses the proper dependencies. Can anyone lend a hand towards helping me polish this so that it can be published? The issues I see at the moment: jay-chandlers-computer:/opt/local/var/macports/sources/rsync.macports.org/release/ports/mail/postfix jay$ sudo postfix start postfix/postfix-script: warning: not owned by root: /opt/local/var/spool/postfix postfix/postfix-script: warning: not owned by group postdrop: /opt/local/var/spool/postfix/public postfix/postfix-script: warning: not owned by group postdrop: /opt/local/var/spool/postfix/maildrop postfix/postfix-script: warning: not owned by group postdrop: /opt/local/sbin/postqueue postfix/postfix-script: warning: not owned by group postdrop: /opt/local/sbin/postdrop postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /opt/local/sbin/postqueue postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /opt/local/sbin/postdrop postfix/postfix-script: starting the Postfix mail system That's simple enough to fix-- should just be a chown, I figure. Oct 14 11:57:25 jay-chandlers-computer postfix/master[29706]: daemon started -- version 2.4.5, configuration /etc/postfix The fact that it's pulling from /etc/postfix for its configuration is somewhat more puzzling. Portfile begins here: # $Id: Portfile 28505 2007-09-02 20:15:23Z yeled@macports.org $ PortSystem 1.0 name postfix version 2.4.5 categories mail maintainers nomaintainer@macports.org description Fast and robust mail transfer agent long_description Postfix attempts to be fast, easy to administer, and \ secure, while at the same time being \ sendmail-compatible enough to not upset existing \ users. It also offers QMQP and VERP support to let \ Postfix act as delivery daemon for ezmlm-idx. homepage http://www.postfix.org/ platforms darwin checksums sha1 dc3616ffd441c23748273527b6693835f3502ad2 master_sites http://postfix.problemlos.ch/release/official/ \ http://www.swissrave.ch/mirror/postfix-source/official/ \ ftp://ftp.matrix.com.br/pub/postfix/official/ \ ftp://ftp.its.cz/MIRRORS/ftp.porcupine.org/mirrors/postfix-release/official/\ ftp://ftp.club-internet.fr/pub/mirrors/ftp.porcupine.org/postfix-release/official/\ ftp://ftp.doc.cs.univ-paris8.fr/mirrors/ftp.porcupine.org/postfix-release/official/ set CCARGS -DNO_PCRE set AUXLIBS "-L/opt/local/lib -R/opt/local/lib -L/opt/local/lib -lsasl2 -lssl -lcrypto" configure { cd ${worksrcpath} system "make makefiles CCARGS=\"${CCARGS}\" AUXLIBS=\"${AUXLIBS}\"" reinplace "s|__PREFIX|${prefix}|g" src/util/sys_defs.h reinplace "s|__PREFIX|${prefix}|g" conf/main.cf reinplace "s|__PREFIX|${prefix}|g" src/global/mail_params.h reinplace "s|__PREFIX|${prefix}|g" man/man1/postdrop.1 # reinplace "s|__PREFIX|${prefix}|g" conf/sample-misc.cf reinplace "s|__PREFIX|${prefix}|g" man/man1/postqueue.1 reinplace "s|__PREFIX|${prefix}|g" man/man1/sendmail.1 reinplace "s|__PREFIX|${prefix}|g" man/man5/access.5 reinplace "s|__PREFIX|${prefix}|g" man/man5/canonical.5 reinplace "s|__PREFIX|${prefix}|g" man/man5/pcre_table.5 reinplace "s|__PREFIX|${prefix}|g" man/man5/regexp_table.5 reinplace "s|__PREFIX|${prefix}|g" man/man5/relocated.5 reinplace "s|__PREFIX|${prefix}|g" man/man5/transport.5 reinplace "s|__PREFIX|${prefix}|g" man/man5/virtual.5 reinplace "s|__PREFIX|${prefix}|g" man/man8/cleanup.8 reinplace "s|__PREFIX|${prefix}|g" man/man8/flush.8 reinplace "s|__PREFIX|${prefix}|g" man/man8/master.8 reinplace "s|__PREFIX|${prefix}|g" man/man8/proxymap.8 } build.target startupitem.create yes startupitem.start "${prefix}/sbin/${name} start" startupitem.stop "${prefix}/sbin/${name} stop" destroot { adduser postfix realname=Postfix\ Server addgroup postdrop cd ${worksrcpath} file mkdir ${destroot}${prefix}/etc/postfix file mkdir ${destroot}${prefix}/share/postfix xinstall -d -o postfix -g postdrop -m \ 710 ${destroot}${prefix}/var/spool/postfix/public xinstall -d -o postfix -g postdrop -m 730 \ ${destroot}${prefix}/var/spool/postfix/maildrop destroot.keepdirs ${destroot}${prefix}/var/spool/postfix/public \ ${destroot}${prefix}/var/spool/postfix/maildrop system "/bin/sh postfix-install -non-interactive \ install_root=${destroot} \ config_directory=${prefix}/etc/postfix \ daemon_directory=${prefix}/libexec/postfix \ command_directory=${prefix}/sbin \ manpage_directory=${prefix}/share/man \ queue_directory=${prefix}/var/spool/postfix \ sendmail_path=${prefix}/sbin/sendmail \ newaliases_path=${prefix}/bin/newaliases \ mailq_path=${prefix}/bin/mailq \ sample_directory=${prefix}/share/postfix/sample \ readme_directory=${prefix}/share/postfix/readme" } # This makes sure we don't overwrite user /etc files. This now breaks postfix # "just working" on fresh installs. # YOU MUST MOVE THE SAMPLE FILES TO THE CORRECT NAMESPACE. # XXX unsure if this stilll an issue 07/07/05 yeled@ post-destroot { file rename ${destroot}${prefix}/etc/postfix/main.cf \ ${destroot}${prefix}/etc/postfix/main.cf.sample file rename ${destroot}${prefix}/etc/postfix/master.cf \ ${destroot}${prefix}/etc/postfix/master.cf.sample file rename ${destroot}${prefix}/etc/postfix/aliases \ ${destroot}${prefix}/etc/postfix/aliases.sample } post-install { # Tell the user about renaming the sample configuration files. ui_msg "\n To get postfix working, you need to copy the sample configuration files and edit them (${prefix}/etc/postfix/*.sample). You may also want to turn off Apple's built-in MTA. For example, on 10.4: -Delete or rename /System/Library/LaunchDaemons/org.postfix.master.plist -Replace the built-in sendmail file with a symlink to MacPorts' own: sudo mv /usr/sbin/sendmail /usr/sbin/sendmail.org ln -s ${prefix}/sbin/sendmail /usr/sbin/sendmail NOTE: Apple OS updates could upgrade the built-in Postfix and overwrite the symlink, so the symlink mught have to be recreated. \n" } variant pcre { set CCARGS [ldelete ${CCARGS} -DNO_PCRE] set CCARGS [concat ${CCARGS} -DHAS_PCRE -I${prefix}/include] set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib -lpcre] depends_lib-append port:pcre } variant tls { depends_lib-append port:openssl set CCARGS [concat ${CCARGS} -DUSE_TLS -DHAS_SSL -I${prefix}/include/openssl] set AUXLIBS [concat ${AUXLIBS} -lssl -lcrypto] } variant sasl { depends_lib-append port:cyrus-sasl2 set CCARGS [concat ${CCARGS} -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I${prefix}/include/sasl] set AUXLIBS [concat ${AUXLIBS} -lsasl2] } variant ldap { depends_lib-append port:openldap set CCARGS [concat ${CCARGS} -DHAS_LDAP] set AUXLIBS [concat ${AUXLIBS} -lldap -llber] } variant mysql5 { depends_lib-append port:mysql5 set CCARGS [concat ${CCARGS} -DHAS_MYSQL -I${prefix}/include/mysql5/mysql] set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib/mysql5/mysql -lmysqlclient -lz -lm] } -- Jay Chandler / KB1JWQ Living Legend / Systems Exorcist Today's Excuse: Traffic jam on the Information Superhighway
participants (1)
-
Jay Chandler