xref: /openbmc/openbmc/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.21.1.bb (revision 8460358c3d24c71d9d38fd126c745854a6301564)
1*8460358cSPatrick WilliamsSUMMARY = "Dovecot is an open source IMAP and POP3 email server"
2*8460358cSPatrick WilliamsHOMEPAGE = "https://www.dovecot.org/"
3*8460358cSPatrick WilliamsDESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
4*8460358cSPatrick WilliamsSECTION = "mail"
5*8460358cSPatrick WilliamsLICENSE = "LGPL-2.1-only & MIT"
6*8460358cSPatrick WilliamsLIC_FILES_CHKSUM = "file://COPYING;md5=2956560272e5b31d9d64f03111732048"
7*8460358cSPatrick Williams
8*8460358cSPatrick WilliamsSRC_URI = "http://dovecot.org/releases/2.3/dovecot-${PV}.tar.gz \
9*8460358cSPatrick Williams           file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
10*8460358cSPatrick Williams           file://dovecot.service \
11*8460358cSPatrick Williams           file://dovecot.socket \
12*8460358cSPatrick Williams           file://0001-not-check-pandoc.patch \
13*8460358cSPatrick Williams           file://0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch \
14*8460358cSPatrick Williams           file://1ccd5b54a408d12fce0c94ab0bbaedbb5ef69830.patch \
15*8460358cSPatrick Williams           "
16*8460358cSPatrick WilliamsSRC_URI[sha256sum] = "2d90a178c4297611088bf7daae5492a3bc3d5ab6328c3a032eb425d2c249097e"
17*8460358cSPatrick Williams
18*8460358cSPatrick WilliamsDEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc bison-native"
19*8460358cSPatrick WilliamsCFLAGS += "-I${STAGING_INCDIR}/tirpc"
20*8460358cSPatrick WilliamsLDFLAGS += "-ltirpc"
21*8460358cSPatrick Williams
22*8460358cSPatrick Williamsinherit autotools pkgconfig systemd useradd gettext multilib_header
23*8460358cSPatrick Williams
24*8460358cSPatrick WilliamsPACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam systemd', d)}"
25*8460358cSPatrick Williams
26*8460358cSPatrick WilliamsPACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
27*8460358cSPatrick WilliamsPACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd,"
28*8460358cSPatrick WilliamsPACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap,"
29*8460358cSPatrick WilliamsPACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
30*8460358cSPatrick Williams
31*8460358cSPatrick Williams# From native build in armv7a-hf/eglibc
32*8460358cSPatrick WilliamsCACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \
33*8460358cSPatrick Williams                         i_cv_gmtime_max_time_t=32 \
34*8460358cSPatrick Williams                         i_cv_signed_time_t=yes \
35*8460358cSPatrick Williams                         i_cv_mmap_plays_with_write=yes \
36*8460358cSPatrick Williams                         i_cv_fd_passing=yes \
37*8460358cSPatrick Williams                         i_cv_c99_vsnprintf=yes \
38*8460358cSPatrick Williams                         lib_cv___va_copy=yes \
39*8460358cSPatrick Williams                         lib_cv_va_copy=yes \
40*8460358cSPatrick Williams                         lib_cv_va_val_copy=yes \
41*8460358cSPatrick Williams                        "
42*8460358cSPatrick Williams
43*8460358cSPatrick Williams# hardcode epoll() to avoid running unsafe tests
44*8460358cSPatrick Williams# BSD needs kqueue and uclibc poll()
45*8460358cSPatrick WilliamsEXTRA_OECONF = " --with-ioloop=epoll"
46*8460358cSPatrick Williams
47*8460358cSPatrick WilliamsSYSTEMD_PACKAGES = "${PN}"
48*8460358cSPatrick WilliamsSYSTEMD_SERVICE:${PN} = "dovecot.service dovecot.socket"
49*8460358cSPatrick WilliamsSYSTEMD_AUTO_ENABLE = "disable"
50*8460358cSPatrick Williams
51*8460358cSPatrick Williamsdo_install:append () {
52*8460358cSPatrick Williams    rm -rf ${D}${libdir}/dovecot/dovecot-config
53*8460358cSPatrick Williams    install -d 755 ${D}/etc/dovecot
54*8460358cSPatrick Williams    touch ${D}/etc/dovecot/dovecot.conf
55*8460358cSPatrick Williams    chmod 644 ${D}/etc/dovecot/dovecot.conf
56*8460358cSPatrick Williams    if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
57*8460358cSPatrick Williams        install -m 0644 ${UNPACKDIR}/dovecot.service ${D}${systemd_unitdir}/system
58*8460358cSPatrick Williams        sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service
59*8460358cSPatrick Williams        sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service
60*8460358cSPatrick Williams    fi
61*8460358cSPatrick Williams    oe_multilib_header dovecot/config.h
62*8460358cSPatrick Williams}
63*8460358cSPatrick Williams
64*8460358cSPatrick WilliamsUSERADD_PACKAGES = "${PN}"
65*8460358cSPatrick WilliamsUSERADD_PARAM:${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \
66*8460358cSPatrick Williams                      -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull"
67*8460358cSPatrick WilliamsGROUPADD_PARAM:${PN} = "-f -r dovecot;-f -r dovenull"
68*8460358cSPatrick Williams
69*8460358cSPatrick WilliamsFILES:${PN} += "${libdir}/dovecot/*plugin.so \
70*8460358cSPatrick Williams                ${libdir}/dovecot/libfs_compress.so \
71*8460358cSPatrick Williams                ${libdir}/dovecot/libssl_iostream_openssl.so"
72*8460358cSPatrick WilliamsFILES:${PN}-staticdev += "${libdir}/dovecot/*/*.a"
73*8460358cSPatrick WilliamsFILES:${PN}-dev += "${libdir}/dovecot/libdovecot*.so"
74*8460358cSPatrick WilliamsFILES:${PN}-dbg += "${libdir}/dovecot/*/.debug"
75*8460358cSPatrick Williams
76*8460358cSPatrick WilliamsCVE_STATUS[CVE-2016-4983] = "not-applicable-platform: Affects only postinstall script on specific distribution."
77