87 lines
3.4 KiB
Python
87 lines
3.4 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# Licensed under the GNU General Public License, version 3.
|
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
|
|
|
from pisi.actionsapi import autotools
|
|
from pisi.actionsapi import pisitools
|
|
from pisi.actionsapi import shelltools
|
|
from pisi.actionsapi import get
|
|
|
|
def setup():
|
|
pisitools.dosed("src/util/sys_defs.h", "hash:\/etc\/aliases", "hash:/etc/mail/aliases")
|
|
|
|
def build():
|
|
cc_args = "-DHAS_PCRE -DHAS_MYSQL -I/usr/include/mysql -DHAS_PGSQL -I/usr/include/postgresql \
|
|
-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DHAS_LDAP -fPIC"
|
|
cc_libs = "-pie -Wl,-z,relro -Wl,-z,now -L/usr/lib -lpcre -lcrypt -lpthread -lpam -lssl -lcrypto -lsasl2 -lmysqlclient -lpq -lm -lz -lldap -llber"
|
|
|
|
# Default paths
|
|
pisitools.dosed("src/global/mail_params.h", \
|
|
"#define DEF_README_DIR\s+\"no\"", \
|
|
"#define DEF_README_DIR \"/usr/share/doc/%s/readme\"" % get.srcNAME())
|
|
|
|
pisitools.dosed("src/global/mail_params.h", \
|
|
"#define DEF_HTML_DIR\s+\"no\"", \
|
|
"#define DEF_HTML_DIR \"/usr/share/doc/%s/html\"" % get.srcNAME())
|
|
|
|
pisitools.dosed("src/global/mail_params.h", \
|
|
"#define DEF_MANPAGE_DIR\s+\"/usr/local/man\"", \
|
|
"#define DEF_MANPAGE_DIR \"/usr/share/man\"")
|
|
|
|
pisitools.dosed("src/util/sys_defs.h", \
|
|
"#define NATIVE_DAEMON_DIR \"/usr/libexec/postfix\"", \
|
|
"#define NATIVE_DAEMON_DIR \"/usr/lib/postfix\"")
|
|
|
|
autotools.make('CC=%s \
|
|
OPT="%s" \
|
|
CCARGS="%s" \
|
|
AUXLIBS="%s" makefiles' % (get.CC(), get.CFLAGS(), cc_args, cc_libs))
|
|
|
|
autotools.make()
|
|
|
|
def install():
|
|
shelltools.system('/bin/sh postfix-install \
|
|
-non-interactive \
|
|
install_root="%(installDIR)s" \
|
|
config_directory="/usr/share/doc/%(srcNAME)s/defaults" \
|
|
readme_directory="/usr/share/doc/%(srcNAME)s/readme" \
|
|
' % {'installDIR': get.installDIR(), 'srcNAME': get.srcNAME()})
|
|
|
|
pisitools.removeDir("/var/")
|
|
|
|
# lets make dirs
|
|
pisitools.dodir("/var/spool/postfix/")
|
|
pisitools.dodir("/etc/mail/")
|
|
pisitools.dodir("/etc/postfix/")
|
|
pisitools.dodir("/var/spool/mail/")
|
|
pisitools.dodir("/var/lib/postfix")
|
|
pisitools.dosym("/var/spool/mail", "/var/mail")
|
|
|
|
# qshape comes
|
|
pisitools.dosbin("auxiliary/qshape/qshape.pl")
|
|
pisitools.rename("/usr/sbin/qshape.pl", "qshape")
|
|
|
|
# legacy FSH
|
|
pisitools.dosym("/usr/sbin/sendmail", "/usr/lib/sendmail")
|
|
|
|
# performance tuning tools.
|
|
pisitools.dosbin("bin/smtp-source")
|
|
pisitools.dosbin("bin/smtp-sink")
|
|
pisitools.dosbin("bin/qmqp-source")
|
|
pisitools.dosbin("bin/qmqp-sink")
|
|
pisitools.doman("man/man1/smtp-source.1")
|
|
pisitools.doman("man/man1/smtp-sink.1")
|
|
pisitools.doman("man/man1/qmqp-source.1")
|
|
pisitools.doman("man/man1/qmqp-sink.1")
|
|
|
|
# Move some files
|
|
pisitools.domove("/usr/share/doc/%s/defaults/master.cf" % get.srcNAME(), "/etc/postfix/")
|
|
|
|
# Docs
|
|
pisitools.insinto("/usr/share/doc/%s/" % get.srcNAME(), "html/")
|
|
pisitools.insinto("/usr/share/doc/%s/" % get.srcNAME(), "examples/")
|
|
for s in ["*README", "COMPATIBILITY", "HISTORY", "LICENSE", "RELEASE_NOTES"]:
|
|
pisitools.insinto("/usr/share/doc/%s/" % get.srcNAME(), s)
|