Merge pull request #4853 from StevenHessing/noddos
[feed/packages.git] / net / radicale / Makefile
1 #
2 # Copyright (C) 2008-2017 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=radicale
10 PKG_VERSION:=1.1.6
11 PKG_RELEASE:=1
12 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
13
14 PKG_LICENSE:=GPL-3.0
15 PKG_LICENSE_FILES:=COPYING
16
17 PKG_SOURCE_PROTO:=git
18 PKG_SOURCE_URL=https://github.com/Kozea/Radicale
19 PKG_SOURCE_VERSION:=7568ec39f09a753217fb2d525c5f8db64f4d98f4
20 PKG_MIRROR_HASH:=73de51e296479f860d4d8cd383a6aa34e8c702d9fca63b0499c7fcc2e794e6df
21 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
22 PKG_SOURCE_SUBDIR=$(PKG_NAME)-$(PKG_VERSION)
23
24 include $(INCLUDE_DIR)/package.mk
25 $(call include_mk, python-package.mk)
26 $(call include_mk, python3-package.mk)
27
28 # no default dependencies
29 PKG_DEFAULT_DEPENDS:=
30
31 define Package/radicale/Default
32 SECTION:=net
33 CATEGORY:=Network
34 SUBMENU:=Web Servers/Proxies
35 URL:=http://radicale.org/
36 TITLE:=Radicale CalDAV/CardDAV server
37 PKGARCH:=all
38 USERID:=radicale=5232:radicale=5232
39 endef
40 define Package/radicale-py2
41 $(call Package/radicale/Default)
42 TITLE+= (Python 2)
43 VARIANT:=2
44 DEPENDS:=+python-logging +python-openssl +python-xml +python-codecs
45 endef
46 define Package/radicale-py3
47 $(call Package/radicale/Default)
48 TITLE+= (Python 3)
49 VARIANT:=3
50 DEPENDS:=+python3-logging +python3-openssl +python3-xml +python3-codecs +python3-email
51 endef
52
53 # shown in LuCI package description
54 define Package/radicale-py2/description
55 Radicale CalDAV/CardDAV server (Python 2) - Homepage: http://radicale.org/
56 endef
57 define Package/radicale-py3/description
58 Radicale CalDAV/CardDAV server (Python 3) - Homepage: http://radicale.org/
59 endef
60
61 # shown in make menuconfig <Help>
62 define Package/radicale-py2/config
63 help
64 The Radicale Project is a CalDAV (calendar) and CardDAV (contact) server.
65 It aims to be a light solution, easy to use, easy to install, easy to configure.
66 As a consequence, it requires few software dependances and is pre-configured to work out-of-the-box.
67 !!! Will install and use Python $(VARIANT) !!!
68 .
69 Version : $(PKG_VERSION)
70 Homepage: http://radicale.org/
71 endef
72 Package/radicale-py3/config = $(Package/radicale-py2/config)
73
74 define Package/radicale-py2/conffiles
75 /etc/config/radicale
76 /etc/radicale/users
77 /etc/radicale/rights
78 endef
79 Package/radicale-py3/conffiles = $(Package/radicale-py2/conffiles)
80
81 define Build/Configure
82 # nothing to configure
83 endef
84 define Build/Compile
85 # nothing to compile
86 endef
87
88 define Package/radicale-py2/preinst
89 #!/bin/sh
90 [ -n "$${IPKG_INSTROOT}" ] && exit 0 # if run within buildroot exit
91
92 # stop service if PKG_UPGRADE
93 [ "$${PKG_UPGRADE}" = "1" ] && /etc/init.d/radicale stop >/dev/null 2>&1
94
95 exit 0 # suppress errors from stop command
96 endef
97 define Package/radicale-py3/preinst
98 $(call Package/radicale-py2/preinst)
99 endef
100
101 define Package/radicale/inst_all
102 $(INSTALL_DIR) $(1)/etc/init.d
103 $(INSTALL_BIN) ./files/radicale.init $(1)/etc/init.d/radicale
104
105 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
106 $(INSTALL_BIN) ./files/radicale.hotplug $(1)/etc/hotplug.d/iface/80-radicale
107
108 $(INSTALL_DIR) $(1)/etc/config
109 $(INSTALL_CONF) ./files/radicale.config $(1)/etc/config/radicale
110
111 $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
112 $(INSTALL_DATA) ./files/radicale.upgrade $(1)/lib/upgrade/keep.d/radicale
113
114 $(INSTALL_DIR) $(1)/etc/radicale/ssl
115 $(INSTALL_DATA) ./files/config.template $(1)/etc/radicale/config.template
116 $(INSTALL_DATA) ./files/logging.template $(1)/etc/radicale/logging.template
117 $(INSTALL_DATA) ./files/radicale.users $(1)/etc/radicale/users
118 $(INSTALL_DATA) ./files/radicale.rights $(1)/etc/radicale/rights
119
120 $(INSTALL_DIR) $(1)/usr/bin
121 $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/radicale $(1)/usr/bin/
122 endef
123 define Package/radicale-py2/install
124 $(call Package/radicale/inst_all, $(1))
125 $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/radicale
126 $(CP) $(PKG_BUILD_DIR)/radicale/* $(1)$(PYTHON_PKG_DIR)/radicale
127 endef
128 define Package/radicale-py3/install
129 $(call Package/radicale/inst_all, $(1))
130 $(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR)/radicale
131 $(CP) $(PKG_BUILD_DIR)/radicale/* $(1)$(PYTHON3_PKG_DIR)/radicale
132 endef
133
134 define Package/radicale-py2/postinst
135 #!/bin/sh
136 # patch /usr/bin/radicale force run using python2
137 /bin/sed -i 's/python/python2/' $${IPKG_INSTROOT}/usr/bin/radicale
138 endef
139 define Package/radicale-py3/postinst
140 #!/bin/sh
141 # patch /usr/bin/radicale force run using python3
142 /bin/sed -i 's/python/python3/' $${IPKG_INSTROOT}/usr/bin/radicale
143 endef
144
145 $(eval $(call BuildPackage,radicale-py2))
146 $(eval $(call BuildPackage,radicale-py3))