Browse Source

dovecot: prepare for runtime dependency by plugins

Add ABI_VERSION declaration in order to tell dovecot plugins that are
runtime-dependent on dovecot's Application Binary Interface (ABI)
version, such as the pigeonhole mail filter, that they need to be
rebuilt each time the dovecot's ABI version changes.

This PR is not yet closing issue #5062. A forthcoming PR for pigeonhole
package will close the issue.

Introduce a new configuration parameter to enable ICU (i18n) support.
Make the ICU disabled by default.

Introduce PKG_CONFIG_DEPENDS with the list of configuration parameters
triggering rebuild of dovecot.

Declare the conffiles section to save dovecot's configuration files and
its init.d script on sysupgrade.

Introduce a new package, dovecot-utils, to contain doveadm and dsync
utilities: closes #4912.

Correct the destination directory for the installation of
example-config files. At present, the example files are installed into
/usr/share/doc/dovecot/example-config/example-config.

Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
lilik-openwrt-22.03
Val Kulkov 7 years ago
parent
commit
12f0caf3b4
1 changed files with 38 additions and 7 deletions
  1. +38
    -7
      mail/dovecot/Makefile

+ 38
- 7
mail/dovecot/Makefile View File

@ -9,15 +9,22 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dovecot PKG_NAME:=dovecot
PKG_VERSION:=2.2.33.2 PKG_VERSION:=2.2.33.2
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.dovecot.org/releases/2.2 PKG_SOURCE_URL:=http://www.dovecot.org/releases/2.2
PKG_HASH:=fe1e3b78609a56ee22fc209077e4b75348fa1bbd54c46f52bde2472a4c4cee84 PKG_HASH:=fe1e3b78609a56ee22fc209077e4b75348fa1bbd54c46f52bde2472a4c4cee84
PKG_LICENSE:=LGPL-2.1 MIT BSD-3-Clause Unique PKG_LICENSE:=LGPL-2.1 MIT BSD-3-Clause Unique
PKG_LICENSE_FILES:=COPYING COPYING.LGPL COPYING.MIT PKG_LICENSE_FILES:=COPYING COPYING.LGPL COPYING.MIT
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
PKG_BUILD_DEPENDS:=libiconv PKG_BUILD_DEPENDS:=libiconv
PKG_CONFIG_DEPENDS:= \
CONFIG_DOVECOT_LDAP \
CONFIG_DOVECOT_MYSQL \
CONFIG_DOVECOT_PGSQL \
CONFIG_DOVECOT_SQLITE \
CONFIG_DOVECOT_ICU
PKG_FIXUP:=autoreconf PKG_FIXUP:=autoreconf
PKG_INSTALL:=1 PKG_INSTALL:=1
@ -27,11 +34,11 @@ include $(INCLUDE_DIR)/package.mk
define Package/dovecot define Package/dovecot
SECTION:=mail SECTION:=mail
CATEGORY:=Mail CATEGORY:=Mail
DEPENDS:=+DOVECOT_LDAP:libopenldap +DOVECOT_MYSQL:libmysqlclient +DOVECOT_PGSQL:libpq +DOVECOT_SQLITE:libsqlite3 +libopenssl +librt +zlib +libbz2 +libcap
DEPENDS:=+DOVECOT_LDAP:libopenldap +DOVECOT_MYSQL:libmysqlclient +DOVECOT_PGSQL:libpq +DOVECOT_SQLITE:libsqlite3 +libopenssl +librt +zlib +libbz2 +libcap +DOVECOT_ICU:icu
TITLE:=An IMAP and POP3 daemon TITLE:=An IMAP and POP3 daemon
MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
URL:=http://www.dovecot.org/ URL:=http://www.dovecot.org/
USERID:=dovecot=59:dovecot=59 USERID:=dovecot=59:dovecot=59
ABI_VERSION:=$(PKG_VERSION)
endef endef
define Package/dovecot/description define Package/dovecot/description
@ -61,9 +68,26 @@ define Package/dovecot/config
default n default n
help help
Implements SQLite DB support in dovecot. Implements SQLite DB support in dovecot.
config DOVECOT_ICU
bool "Enable i18n features"
default n
help
Enable ICU (International Components for Unicode) support.
endmenu endmenu
endef endef
define Package/dovecot/conffiles
/etc/init.d/dovecot
/etc/dovecot/
endef
define Package/dovecot-utils
SECTION:=mail
CATEGORY:=Mail
DEPENDS:=+dovecot
TITLE:=doveadm and dsync utilities for Dovecot
endef
CONFIGURE_ARGS += \ CONFIGURE_ARGS += \
--without-gssapi \ --without-gssapi \
--without-pam \ --without-pam \
@ -71,11 +95,11 @@ CONFIGURE_ARGS += \
--with-notify=dnotify \ --with-notify=dnotify \
--without-lzma \ --without-lzma \
--without-lz4 \ --without-lz4 \
--with-icu=no \
$(if $(CONFIG_DOVECOT_LDAP),--with-ldap=yes,--with-ldap=no) \ $(if $(CONFIG_DOVECOT_LDAP),--with-ldap=yes,--with-ldap=no) \
$(if $(CONFIG_DOVECOT_MYSQL),--with-mysql=yes,--with-mysql=no) \ $(if $(CONFIG_DOVECOT_MYSQL),--with-mysql=yes,--with-mysql=no) \
$(if $(CONFIG_DOVECOT_PGSQL),--with-pgsql=yes,--with-pgsql=no) \ $(if $(CONFIG_DOVECOT_PGSQL),--with-pgsql=yes,--with-pgsql=no) \
$(if $(CONFIG_DOVECOT_SQLITE),--with-sqlite=yes,--with-sqlite=no)
$(if $(CONFIG_DOVECOT_SQLITE),--with-sqlite=yes,--with-sqlite=no) \
$(if $(CONFIG_DOVECOT_ICU),--with-icu=yes,--with-icu=no)
CONFIGURE_VARS += \ CONFIGURE_VARS += \
RPCGEN= \ RPCGEN= \
@ -101,13 +125,13 @@ endef
define Package/dovecot/install define Package/dovecot/install
$(INSTALL_DIR) $(1)/etc/init.d \ $(INSTALL_DIR) $(1)/etc/init.d \
$(1)/etc/dovecot \ $(1)/etc/dovecot \
$(1)/usr/share/doc/dovecot/example-config \
$(1)/usr/share/doc/dovecot \
$(1)/usr/lib/dovecot \ $(1)/usr/lib/dovecot \
$(1)/usr/bin \ $(1)/usr/bin \
$(1)/usr/sbin $(1)/usr/sbin
$(CP) $(PKG_INSTALL_DIR)/etc/dovecot/* $(1)/etc/dovecot/ $(CP) $(PKG_INSTALL_DIR)/etc/dovecot/* $(1)/etc/dovecot/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/dovecot/* $(1)/usr/lib/dovecot/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/dovecot/* $(1)/usr/lib/dovecot/
$(CP) $(PKG_INSTALL_DIR)/usr/share/doc/dovecot/example-config $(1)/usr/share/doc/dovecot/example-config
$(CP) $(PKG_INSTALL_DIR)/usr/share/doc/dovecot/example-config $(1)/usr/share/doc/dovecot/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/doveconf $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/doveconf $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
$(INSTALL_BIN) ./files/dovecot.init $(1)/etc/init.d/dovecot $(INSTALL_BIN) ./files/dovecot.init $(1)/etc/init.d/dovecot
@ -115,4 +139,11 @@ define Package/dovecot/install
find $(1)/usr/lib/dovecot/ -name "*.a" -o -name "*.la" | xargs rm find $(1)/usr/lib/dovecot/ -name "*.a" -o -name "*.la" | xargs rm
endef endef
define Package/dovecot-utils/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/doveadm $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/dsync $(1)/usr/bin/
endef
$(eval $(call BuildPackage,dovecot)) $(eval $(call BuildPackage,dovecot))
$(eval $(call BuildPackage,dovecot-utils))

Loading…
Cancel
Save