You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.9 KiB

pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
dovecot: Fix managesieve-login needs libdovecot-login When trying to use managesieve my MUA complained sieve wasn't supported. On investigation dovecot logs the following could be seen: Aug 16 00:28:44 managesieve-login: Fatal: master: service(managesieve-login): child 1430 returned error 127 Aug 16 00:31:32 managesieve-login: Error: Error loading shared library libdovecot-login.so.0: No such file or directory (needed by /usr/lib/dovecot/managesieve-login) Aug 16 00:31:32 managesieve-login: Error: Error loading shared library libdovecot.so.0: No such file or directory (needed by /usr/lib/dovecot/managesieve-login) Aug 16 00:31:32 managesieve-login: Error: Error relocating /usr/lib/dovecot/managesieve-login: net_ip2addr: symbol not found The issue (verified with readelf on non-working build and build with my fix) is that there is no RPATH information in the pigeonhole binaries (like managesieve-login). The dovecot-config that is 'installed' in the staging dir assumes that plugins will be built on the same host as the installed files. The 'installed' dovecot-config (partial) looks like: LIBDOVECOT='-L/usr/lib/dovecot -ldovecot' LIBDOVECOT_LOGIN='-ldovecot-login -L/home/user/Build/openwrt/openwrt-ath79/staging_dir/target-mips_24kc_musl/usr/lib -lssl -lcrypto' LIBDOVECOT_SQL=-ldovecot-sql LIBDOVECOT_COMPRESS=-ldovecot-compression LIBDOVECOT_LDA=-ldovecot-lda LIBDOVECOT_STORAGE='-ldovecot-storage ' LIBDOVECOT_DSYNC=-ldovecot-dsync LIBDOVECOT_LIBFTS=-ldovecot-fts The solution I used was to modify dovecot-config to add the rpath to DOVECOT_BINARY_LDFLAGS, and to replace references to host directories with staging_dir directories. This results in RPATH being added as it needs to be, and results in a working version of dovecot+pigeonhole. NB: I've also touched package version of pigeonhole as this change in dovecot results in (needed) binary changes for pigeonhole. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
6 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
pigeonhole: fix runtime dependency on dovecot's ABI Closes #5062. With ABI_VERSION declaration in dovecot's Makefile introduced in PR #5182, pigeonhole plugin will now be rebuilt on every dovecot upgrade. To announce the rebuilt pigeonhole plugin to opkg, introduce a different model of version numbering. The new version numbering now includes both dovecot and pigeonhole plugin version numbers. Therefore, the rebuilt pigeonhole plugin will be visible to opkg whenever dovecot or pigeonhole plugin version changes. Rename "pigeonhole" to "dovecot-pigeonhole". There are several reasons for renaming the package: 1. pigeonhole is a plugin. There seems to be a convention to name plugins by adding corresponding suffixes to the parent package name, such as lua-*, luci-*, php7-mod-*, perlbase-*, transmission-* etc. 2. When named as "dovecot-pigeonhole", the pigeonhole plugin is displayed right next to dovecot in config manager ("make menuconfig") and is therefore highly visible to anyone who explores the available modules for dovecot. 3. When named as "dovecot-pigeonhole", the package version number consisting of both dovecot and pigeonhole version numbers makes more sense: "dovecot-pigeonhole_2.2.33.2-0.4.20-2" looks more comprehensible than "pigeonhole_2.2.33.2-0.4.20-2", however admittedly both variants look rather ugly. Add ManageSieve to the package. Adding managesieve-login and its libraries increases the size of the package by about 11% from 702061 bytes to 781294 bytes on the bcm53xx platform. As dovecot is unlikely to be used on a low-end LEDE/OpenWrt box, the addition of ~80KB to the package size is not likely to make a noticeable difference but it will add the capability to use pigeonhole plugin for dovecot with systems that talk ManageSieve, such as the RoundCube. Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
7 years ago
  1. #
  2. # Copyright (C) 2006-2017 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=dovecot-pigeonhole
  9. PKG_VERSION_PLUGIN:=0.5.2
  10. PKG_VERSION_DOVECOT:=$(shell make --no-print-directory -C ../dovecot/ val.PKG_VERSION V=s)
  11. PKG_VERSION:=$(PKG_VERSION_DOVECOT)-$(PKG_VERSION_PLUGIN)
  12. PKG_RELEASE:=4
  13. DOVECOT_VERSION:=2.3
  14. PKG_SOURCE:=dovecot-$(DOVECOT_VERSION)-pigeonhole-$(PKG_VERSION_PLUGIN).tar.gz
  15. PKG_SOURCE_URL:=https://pigeonhole.dovecot.org/releases/$(DOVECOT_VERSION)
  16. PKG_HASH:=950e8e15c58e539761255e140dd3678dd2477fa432a5f2b804e53821bdc02535
  17. PKG_LICENSE:=LGPL-2.1
  18. PKG_LICENSE_FILES:=COPYING COPYING.LGPL
  19. PKG_BUILD_DIR:=$(BUILD_DIR)/dovecot-$(DOVECOT_VERSION)-pigeonhole-$(PKG_VERSION_PLUGIN)
  20. PKG_INSTALL:=1
  21. include $(INCLUDE_DIR)/package.mk
  22. include $(INCLUDE_DIR)/nls.mk
  23. define Package/dovecot-pigeonhole
  24. SECTION:=mail
  25. CATEGORY:=Mail
  26. DEPENDS:=+dovecot
  27. EXTRA_DEPENDS:=dovecot (>= $(PKG_VERSION_DOVECOT))
  28. TITLE:=Mail filtering facilities for Dovecot
  29. MAINTAINER:=W. Michael Petullo <mike@flyn.org>
  30. URL:=https://wiki2.dovecot.org/Pigeonhole
  31. endef
  32. define Package/dovecot-pigeonhole/description
  33. Pigeonhole provides mail filtering facilities for Dovecot using the Sieve
  34. (RFC 5228) language.
  35. endef
  36. CONFIGURE_ARGS += \
  37. --with-dovecot=$(STAGING_DIR)/usr/lib/dovecot/
  38. CONFIGURE_VARS += \
  39. LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib/dovecot/" \
  40. CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/include/dovecot/"
  41. define Package/dovecot-pigeonhole/install
  42. $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/dovecot/ $(1)/usr/libexec/dovecot/
  43. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
  44. $(CP) $(PKG_INSTALL_DIR)/usr/lib/dovecot/* $(1)/usr/lib/dovecot/
  45. $(CP) $(PKG_INSTALL_DIR)/usr/libexec/dovecot/* $(1)/usr/libexec/dovecot/
  46. find $(1)/usr/lib/dovecot/ -name "*.a" -o -name "*.la" | xargs rm
  47. endef
  48. $(eval $(call BuildPackage,dovecot-pigeonhole))