2 # Copyright (C) 2008-2017 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
7 include $(TOPDIR
)/rules.mk
12 PKG_MAINTAINER
:=Christian Schoenebeck
<christian.schoenebeck@gmail.com
>
15 PKG_LICENSE_FILES
:=COPYING
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
)
24 include $(INCLUDE_DIR
)/package.mk
25 $(call include_mk
, python-package.mk
)
26 $(call include_mk
, python3-package.mk
)
28 # no default dependencies
31 define Package
/radicale
/Default
34 SUBMENU
:=Web Servers
/Proxies
35 URL
:=http
://radicale.org
/
36 TITLE
:=Radicale CalDAV
/CardDAV server
38 USERID
:=radicale
=5232:radicale
=5232
40 define Package
/radicale-py2
41 $(call Package
/radicale
/Default
)
44 DEPENDS
:=+python-logging
+python-openssl
+python-xml
+python-codecs
46 define Package
/radicale-py3
47 $(call Package
/radicale
/Default
)
50 DEPENDS
:=+python3-logging
+python3-openssl
+python3-xml
+python3-codecs
+python3-email
53 # shown in LuCI package description
54 define Package
/radicale-py2
/description
55 Radicale CalDAV
/CardDAV server
(Python
2) - Homepage
: http
://radicale.org
/
57 define Package
/radicale-py3
/description
58 Radicale CalDAV
/CardDAV server
(Python
3) - Homepage
: http
://radicale.org
/
61 # shown in make menuconfig <Help>
62 define Package
/radicale-py2
/config
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
) !!!
69 Version
: $(PKG_VERSION
)
70 Homepage
: http
://radicale.org
/
72 Package
/radicale-py3
/config
= $(Package
/radicale-py2
/config
)
74 define Package
/radicale-py2
/conffiles
79 Package
/radicale-py3
/conffiles
= $(Package
/radicale-py2
/conffiles
)
81 define Build
/Configure
82 # nothing to configure
88 define Package
/radicale-py2
/preinst
90 [ -n
"$${IPKG_INSTROOT}" ] && exit
0 # if run within buildroot exit
92 # stop service if PKG_UPGRADE
93 [ "$${PKG_UPGRADE}" = "1" ] && /etc
/init.d
/radicale stop
>/dev
/null
2>&1
95 exit
0 # suppress errors from stop command
97 define Package
/radicale-py3
/preinst
98 $(call Package
/radicale-py2
/preinst
)
101 define Package
/radicale
/inst_all
102 $(INSTALL_DIR
) $(1)/etc
/init.d
103 $(INSTALL_BIN
) .
/files
/radicale.init
$(1)/etc
/init.d
/radicale
105 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/iface
106 $(INSTALL_BIN
) .
/files
/radicale.hotplug
$(1)/etc
/hotplug.d
/iface
/80-radicale
108 $(INSTALL_DIR
) $(1)/etc
/config
109 $(INSTALL_CONF
) .
/files
/radicale.config
$(1)/etc
/config
/radicale
111 $(INSTALL_DIR
) $(1)/lib
/upgrade
/keep.d
112 $(INSTALL_DATA
) .
/files
/radicale.upgrade
$(1)/lib
/upgrade
/keep.d
/radicale
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
120 $(INSTALL_DIR
) $(1)/usr
/bin
121 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/bin
/radicale
$(1)/usr
/bin
/
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
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
134 define Package
/radicale-py2
/postinst
136 # patch /usr/bin/radicale force run using python2
137 /bin
/sed
-i
's/python/python2/' $${IPKG_INSTROOT}/usr
/bin
/radicale
139 define Package
/radicale-py3
/postinst
141 # patch /usr/bin/radicale force run using python3
142 /bin
/sed
-i
's/python/python3/' $${IPKG_INSTROOT}/usr
/bin
/radicale
145 $(eval
$(call BuildPackage
,radicale-py2
))
146 $(eval
$(call BuildPackage
,radicale-py3
))