| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- ################################################################################
- #
- # dovecot
- #
- ################################################################################
- DOVECOT_VERSION_MAJOR = 2.3
- DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).21.1
- DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR)
- DOVECOT_INSTALL_STAGING = YES
- DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015
- DOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT
- DOVECOT_CPE_ID_VENDOR = dovecot
- DOVECOT_SELINUX_MODULES = dovecot
- DOVECOT_AUTORECONF = YES
- # add host-gettext for AM_ICONV macro needed for autoreconf
- DOVECOT_DEPENDENCIES = \
- host-gettext \
- host-pkgconf \
- $(if $(BR2_PACKAGE_LIBICONV),libiconv) \
- openssl
- # CVE-2016-4983 is an issue in a postinstall script in the dovecot rpm, which
- # is part of the Red Hat packaging and not part of upstream dovecot
- DOVECOT_IGNORE_CVES += CVE-2016-4983
- # 0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch
- # Note: this ignore CVE entry is reported as stale by pkg-stats, but
- # the NVD database is incorrect:
- # https://lore.kernel.org/buildroot/20250517181815.02ce0393@windsurf/
- DOVECOT_IGNORE_CVES += CVE-2022-30550
- DOVECOT_CONF_ENV = \
- RPCGEN=__disable_RPCGEN_rquota \
- i_cv_epoll_works=yes \
- i_cv_inotify_works=yes \
- i_cv_posix_fallocate_works=no \
- i_cv_signed_size_t=no \
- i_cv_gmtime_max_time_t=32 \
- i_cv_signed_time_t=yes \
- i_cv_mmap_plays_with_write=yes \
- i_cv_fd_passing=yes \
- i_cv_c99_vsnprintf=yes \
- lib_cv_va_copy=yes \
- lib_cv___va_copy=yes \
- lib_cv_va_val_copy=yes
- DOVECOT_CONF_OPTS = --without-docs --with-ssl=openssl
- ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL)$(BR2_PACKAGE_DOVECOT_SQLITE),)
- DOVECOT_CONF_OPTS += --without-sql
- endif
- ifeq ($(BR2_PACKAGE_BZIP2),y)
- DOVECOT_CONF_OPTS += --with-bzlib
- DOVECOT_DEPENDENCIES += bzip2
- else
- DOVECOT_CONF_OPTS += --without-bzlib
- endif
- ifeq ($(BR2_PACKAGE_ICU),y)
- DOVECOT_CONF_OPTS += --with-icu
- DOVECOT_DEPENDENCIES += icu
- else
- DOVECOT_CONF_OPTS += --without-icu
- endif
- ifeq ($(BR2_PACKAGE_LIBCAP),y)
- DOVECOT_CONF_OPTS += --with-libcap
- DOVECOT_DEPENDENCIES += libcap
- else
- DOVECOT_CONF_OPTS += --without-libcap
- endif
- ifeq ($(BR2_PACKAGE_LIBSODIUM),y)
- DOVECOT_CONF_OPTS += --with-sodium
- DOVECOT_DEPENDENCIES += libsodium
- else
- DOVECOT_CONF_OPTS += --without-sodium
- endif
- ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
- DOVECOT_DEPENDENCIES += libxcrypt
- endif
- ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
- DOVECOT_CONF_OPTS += --with-pam
- DOVECOT_DEPENDENCIES += linux-pam
- else
- DOVECOT_CONF_OPTS += --without-pam
- endif
- ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL),y)
- DOVECOT_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config"
- DOVECOT_CONF_OPTS += --with-mysql
- DOVECOT_DEPENDENCIES += mariadb
- else
- DOVECOT_CONF_OPTS += --without-mysql
- endif
- ifeq ($(BR2_PACKAGE_DOVECOT_SQLITE),y)
- DOVECOT_CONF_OPTS += --with-sqlite
- DOVECOT_DEPENDENCIES += sqlite
- else
- DOVECOT_CONF_OPTS += --without-sqlite
- endif
- ifeq ($(BR2_PACKAGE_LZ4),y)
- DOVECOT_CONF_OPTS += --with-lz4
- DOVECOT_DEPENDENCIES += lz4
- else
- DOVECOT_CONF_OPTS += --without-lz4
- endif
- ifeq ($(BR2_PACKAGE_XZ),y)
- DOVECOT_CONF_OPTS += --with-lzma
- DOVECOT_DEPENDENCIES += xz
- else
- DOVECOT_CONF_OPTS += --without-lzma
- endif
- ifeq ($(BR2_PACKAGE_ZLIB),y)
- DOVECOT_CONF_OPTS += --with-zlib
- DOVECOT_DEPENDENCIES += zlib
- else
- DOVECOT_CONF_OPTS += --without-zlib
- endif
- # fix paths to avoid using /usr/lib/dovecot
- define DOVECOT_POST_CONFIGURE
- for i in $$(find $(@D) -name "Makefile"); do \
- $(SED) 's%^pkglibdir =.*%pkglibdir = \$$(libdir)%' $$i; \
- $(SED) 's%^pkglibexecdir =.*%pkglibexecdir = \$$(libexecdir)%' $$i; \
- done
- endef
- DOVECOT_POST_CONFIGURE_HOOKS += DOVECOT_POST_CONFIGURE
- # dovecot installs dovecot-config in usr/lib/, therefore
- # DOVECOT_CONFIG_SCRIPTS can not be used to rewrite paths
- define DOVECOT_FIX_STAGING_DOVECOT_CONFIG
- $(SED) 's,^LIBDOVECOT_INCLUDE=.*$$,LIBDOVECOT_INCLUDE=\"-I$(STAGING_DIR)/usr/include/dovecot\",' $(STAGING_DIR)/usr/lib/dovecot-config
- $(SED) 's,^LIBDOVECOT=.*$$,LIBDOVECOT=\"-L$(STAGING_DIR)/usr/lib -ldovecot\",' $(STAGING_DIR)/usr/lib/dovecot-config
- endef
- DOVECOT_POST_INSTALL_STAGING_HOOKS += DOVECOT_FIX_STAGING_DOVECOT_CONFIG
- $(eval $(autotools-package))
|