6f2f77fbf46071f817df27e55abbfd1fd5cdb235
[packages.git] / mail / dovecot / Makefile
1 #
2 # Copyright (C) 2006-2008 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=dovecot
11 PKG_VERSION:=1.1.2
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.dovecot.org/releases/1.1
16 PKG_MD5SUM:=fcebb6c099421049632b2f1f019f55cd
17
18 include $(INCLUDE_DIR)/package.mk
19
20 define Package/dovecot
21   SECTION:=mail
22   CATEGORY:=Mail
23   DEPENDS:=+libopenssl +zlib
24   TITLE:=An IMAP and POP3 daemon
25   URL:=http://www.dovecot.org/
26 endef
27
28 define Package/dovecot/description
29  Dovecot is a program which provides POP3 and IMAP services.
30 endef
31
32 define Build/Configure
33         (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status}; \
34                 autoconf \
35         );
36         $(call Build/Configure/Default, \
37                 --without-gssapi \
38                 --with-moduledir=/usr/lib/dovecot/modules \
39                 --with-notify=dnotify \
40                 , \
41                 RPCGEN= \
42                 i_cv_signed_size_t=no \
43                 i_cv_signed_time_t=no \
44                 i_cv_gmtime_max_time_t=32 \
45                 i_cv_mmap_plays_with_write=yes \
46                 i_cv_fd_passing=yes \
47                 i_cv_c99_vsnprintf=yes \
48                 lib_cv_va_copy=yes \
49                 lib_cv_va_copy=yes \
50                 lib_cv___va_copy=yes \
51                 lib_cv_va_val_copy=yes \
52         )
53 endef
54
55 define Build/Compile    
56         $(MAKE) -C $(PKG_BUILD_DIR) \
57                 DESTDIR="$(PKG_INSTALL_DIR)" \
58                 all install
59 endef
60
61 define Package/dovecot/install
62         $(INSTALL_DIR) $(1)/etc/init.d
63         $(INSTALL_BIN) ./files/dovecot.init $(1)/etc/init.d/dovecot
64         $(INSTALL_DATA) $(PKG_BUILD_DIR)/dovecot-example.conf $(1)/etc/dovecot.conf
65         $(INSTALL_DIR) $(1)/usr/lib/dovecot
66         $(CP) $(PKG_INSTALL_DIR)/usr/lib/dovecot/* $(1)/usr/lib/dovecot/
67         $(INSTALL_DIR) $(1)/usr/sbin
68         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
69         find $(1)/usr/lib/dovecot/modules/ \
70                 -name "*.a" -o -name "*.la" | xargs rm
71 endef
72
73 define Package/dovecot/conffiles
74 /etc/dovecot.conf
75 endef
76
77 define Package/dovecot/postinst
78 #!/bin/sh
79
80 id=59
81 name=dovecot
82 home=/var/run/dovecot
83 shell=/bin/false
84
85 # do not change below
86 # check if we are on real system
87 if [ -z "$${IPKG_INSTROOT}" ]; then
88         # create copies of passwd and group, if we use squashfs
89         rootfs=`mount |awk '/root/ { print $$5 }'`
90         if [ "$$rootfs" = "squashfs" ]; then
91                 if [ -h /etc/group ]; then
92                         rm /etc/group
93                         cp -p /rom/etc/group /etc/group
94                 fi
95                 if [ -h /etc/passwd ]; then
96                         rm /etc/passwd
97                         cp -p /rom/etc/passwd /etc/passwd
98                 fi
99         fi
100 fi
101
102 echo ""
103 if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then
104         echo "adding group $$name to /etc/group"
105         echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group
106 fi
107 if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then
108         echo "adding user $$name to /etc/passwd"
109         echo "$${name}:x:$${id}:$${id}:$${name}:$${home}:$${shell}" >> $${IPKG_INSTROOT}/etc/passwd
110 fi
111 endef
112
113
114 $(eval $(call BuildPackage,dovecot))