dovecot: import from packages
authorPeter Wagner <tripolar@gmx.at>
Mon, 16 Jun 2014 09:49:56 +0000 (11:49 +0200)
committerPeter Wagner <tripolar@gmx.at>
Mon, 16 Jun 2014 09:54:42 +0000 (11:54 +0200)
Signed-off-by: Peter Wagner <tripolar@gmx.at>
mail/dovecot/Makefile [new file with mode: 0644]
mail/dovecot/files/dovecot.init [new file with mode: 0644]
mail/dovecot/patches/001-configure_in.patch [new file with mode: 0644]

diff --git a/mail/dovecot/Makefile b/mail/dovecot/Makefile
new file mode 100644 (file)
index 0000000..fdc2930
--- /dev/null
@@ -0,0 +1,76 @@
+#
+# Copyright (C) 2006-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=dovecot
+PKG_VERSION:=2.2.13
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.dovecot.org/releases/2.2
+PKG_MD5SUM:=a3eb1c0b1822c4f2b0fe9247776baa71
+
+PKG_BUILD_DEPENDS:=libiconv
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/dovecot
+  SECTION:=mail
+  CATEGORY:=Mail
+  DEPENDS:=+libopenssl +librt +zlib +libbz2 +libcap
+  TITLE:=An IMAP and POP3 daemon
+  MAINTAINER:=Peter Wagner <tripolar@gmx.at>
+  URL:=http://www.dovecot.org/
+endef
+
+define Package/dovecot/description
+ Dovecot is a program which provides POP3 and IMAP services.
+endef
+
+CONFIGURE_ARGS += \
+       --without-gssapi \
+       --without-pam \
+       --with-moduledir=/usr/lib/dovecot/modules \
+       --with-notify=dnotify \
+       --without-lzma \
+       --without-lz4
+
+CONFIGURE_VARS += \
+       RPCGEN= \
+       i_cv_signed_size_t=no \
+       i_cv_signed_time_t=no \
+       i_cv_gmtime_max_time_t=32 \
+       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_copy=yes \
+       lib_cv_va_val_copy=yes
+
+define Package/dovecot/install
+       $(INSTALL_DIR)  $(1)/etc/init.d \
+                       $(1)/etc/dovecot \
+                       $(1)/usr/share/doc/dovecot/example-config \
+                       $(1)/usr/lib/dovecot \
+                       $(1)/usr/bin \
+                       $(1)/usr/sbin
+       $(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/share/doc/dovecot/example-config $(1)/usr/share/doc/dovecot/example-config
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/doveconf $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
+       $(INSTALL_BIN) ./files/dovecot.init $(1)/etc/init.d/dovecot
+       rm  $(1)/usr/lib/dovecot/dovecot-config
+       find $(1)/usr/lib/dovecot/ -name "*.a" -o -name "*.la" | xargs rm
+endef
+
+$(eval $(call BuildPackage,dovecot))
diff --git a/mail/dovecot/files/dovecot.init b/mail/dovecot/files/dovecot.init
new file mode 100644 (file)
index 0000000..7739cd1
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2013 OpenWrt.org
+
+START=75
+STOP=75
+
+USE_PROCD=1
+
+start_service() {
+       user_exists dovecot 59 || user_add dovecot 59
+       group_exists dovecot 59 || group_add dovecot 59
+       mkdir -p -m 0755 /var/lib/dovecot
+       mkdir -p -m 0755 /var/run/dovecot
+       chmod 0750 /var/lib/dovecot
+       procd_open_instance
+       procd_set_param command /usr/sbin/dovecot -F
+       procd_close_instance
+}
diff --git a/mail/dovecot/patches/001-configure_in.patch b/mail/dovecot/patches/001-configure_in.patch
new file mode 100644 (file)
index 0000000..69328cb
--- /dev/null
@@ -0,0 +1,31 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -504,9 +504,9 @@ have_ioloop=no
+ if test "$ioloop" = "best" || test "$ioloop" = "epoll"; then
+   AC_CACHE_CHECK([whether we can use epoll],i_cv_epoll_works,[
+-    AC_TRY_RUN([
++    AC_TRY_LINK([
+       #include <sys/epoll.h>
+-  
++    ], [
+       int main()
+       {
+       return epoll_create(5) < 1;
+@@ -675,7 +675,7 @@ fi
+ dnl * Old glibcs have broken posix_fallocate(). Make sure not to use it.
+ dnl * It may also be broken in AIX.
+ AC_CACHE_CHECK([whether posix_fallocate() works],i_cv_posix_fallocate_works,[
+-  AC_TRY_RUN([
++  AC_TRY_LINK([
+     #define _XOPEN_SOURCE 600
+     #include <stdio.h>
+     #include <stdlib.h>
+@@ -684,6 +684,7 @@ AC_CACHE_CHECK([whether posix_fallocate(
+     #if defined(__GLIBC__) && (__GLIBC__ < 2 || __GLIBC_MINOR__ < 7)
+       possibly broken posix_fallocate
+     #endif
++  ], [
+     int main() {
+       int fd = creat("conftest.temp", 0600);
+       int ret;