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.
 
 
 
 
 
 

112 lines
3.3 KiB

include $(TOPDIR)/rules.mk
PKG_NAME:=etebase
PKG_VERSION:=0.6.1
PKG_RELEASE:=1
PKG_SOURCE:=etebase-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/etesync/server/archive/v$(PKG_VERSION)
PKG_HASH:=4832c35fa1b46936bfde894a8c888989e9a37dd64ca588df22524825f3e568ec
PKG_LICENSE:=AGPL-3.0-only
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Peter Stadler <peter.stadler@student.uibk.ac.at>
PKG_BUILD_PARALLEL:=1
PYTHON3_PKG_BUILD:=0
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
define Package/etebase
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=End-to-end encrypted backend
URL:=https://www.etebase.com/
DEPENDS:=+nginx-ssl +uwsgi +uwsgi-syslog-plugin +uwsgi-python3-plugin +python3-light \
+python3-asgiref +python3-cffi +python3-django-cors-headers +python3-django \
+python3-django-restframework +python3-drf-nested-routers +python3-msgpack \
+python3-pycparser +python3-pynacl +python3-pytz +python3-six +python3-sqlparse
# +psycopg2-binary would be needed for using postgres db.
USERID:=etebase=44312
endef
define Package/etebase/description
End-to-end encrypted backend
endef
Build/Compile:=:
define Py3Package/etebase/install
# OpenWrt specific:
$(INSTALL_DIR) $(1)/etc/uci-defaults/
$(CP) ./files/81_setup-etebase $(1)/etc/uci-defaults/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) ./files/uwsgi.init $(1)/etc/init.d/etebase
$(INSTALL_DIR) $(1)/etc/config/
$(INSTALL_CONF) ./files/uci.cfg $(1)/etc/config/etebase
# Server configuration:
$(INSTALL_DIR) $(1)/etc/nginx/conf.d/
$(INSTALL_CONF) ./files/etebase.locations $(1)/etc/nginx/conf.d/
$(INSTALL_DIR) $(1)/etc/uwsgi/vassals/
$(INSTALL_CONF) ./files/uwsgi.ini $(1)/etc/uwsgi/vassals/etebase.available
#init links etebase.available /var/etc/etebase/uwsgi.ini:
$(LN) /var/etc/etebase/uwsgi.ini $(1)/etc/uwsgi/vassals/etebase.ini
# Upstream application:
$(INSTALL_DIR) $(1)/usr/share/etebase/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/manage.py $(1)/usr/share/etebase/
#init creates /var/etc/etebase/server.ini from uci.cfg:
$(LN) /var/etc/etebase/server.ini $(1)/usr/share/etebase/etebase-server.ini
$(INSTALL_DIR) $(1)/usr/share/etebase/django_etebase/
$(CP) $(PKG_BUILD_DIR)/django_etebase/* $(1)/usr/share/etebase/django_etebase/
$(INSTALL_DIR) $(1)/usr/share/etebase/etebase_server/
$(CP) $(PKG_BUILD_DIR)/etebase_server/* $(1)/usr/share/etebase/etebase_server/
$(INSTALL_DIR) $(1)/usr/share/etebase/myauth/
$(CP) $(PKG_BUILD_DIR)/myauth/* $(1)/usr/share/etebase/myauth/
$(INSTALL_DIR) $(1)/usr/share/etebase/templates/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/templates/* $(1)/usr/share/etebase/templates/
$(INSTALL_DIR) $(1)/www/etebase/static/
endef
Py3Package/etebase/filespec:=
define Package/etebase/postrm
#!/bin/sh
[ -n "$${IPKG_INSTROOT}" ] && exit 0
cd /usr/share/etebase/ && rmdir */*/*/*/* */*/*/* */*/* */* * 2>/dev/null
[ "$${PKG_UPGRADE}" = "1" ] && exit 0
rm -r /www/etebase/static
rmdir --ignore-fail-on-non-empty /www/etebase /var/etc/etebase
exit 0
endef
define Package/etebase/conffiles
/etc/config/etebase
/etc/nginx/conf.d/etebase.locations
/etc/uwsgi/vassals/etebase.available
endef
$(eval $(call Py3Package,etebase))
$(eval $(call BuildPackage,etebase))
$(eval $(call BuildPackage,etebase-src))