etebase: upgrade to 0.6.1
authorPeter Stadler <redacted>
Sun, 20 Dec 2020 20:57:29 +0000 (21:57 +0100)
committerPeter Stadler <redacted>
Sun, 20 Dec 2020 21:00:13 +0000 (22:00 +0100)
Signed-off-by: Peter Stadler <redacted>
net/etebase/Makefile
net/etebase/files/81_setup-etebase
net/etebase/files/etebase.locations
net/etebase/files/uwsgi.ini
net/etebase/files/uwsgi.init

index bcc406ce5da3776bfaf475426df4fbe39ea9488e..ebcda301b8fd9044c5a22fba9ebcabf23759a268 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=etebase
-PKG_VERSION:=0.3.0
-PKG_RELEASE:=3
+PKG_VERSION:=0.6.1
+PKG_RELEASE:=1
 
-PKG_SOURCE:=etesync-server-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=etebase-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/etesync/server/archive/v$(PKG_VERSION)
-PKG_HASH:=d0728effa898a8b7afb4ce7439e0d0fd46bc819008925f21788d7e113435b579
+PKG_HASH:=4832c35fa1b46936bfde894a8c888989e9a37dd64ca588df22524825f3e568ec
 
 PKG_LICENSE:=AGPL-3.0-only
 PKG_LICENSE_FILES:=LICENSE
@@ -25,18 +25,19 @@ define Package/etebase
        SECTION:=net
        CATEGORY:=Network
        SUBMENU:=Web Servers/Proxies
-       TITLE:=End-to-End Encrypted Secure Data Sync
-       URL:=https://www.etesync.com/
-       DEPENDS:=+nginx-ssl +python3-light +python3-django \
-               +python3-django-restframework +python3-drf-nested-routers \
-               +python3-django-cors-headers +python3-django-etesnc-journal \
-               +uwsgi +uwsgi-python3-plugin +uwsgi-syslog-plugin
-       USERID:=etebase=44313
+       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 Secure Data Sync
+       End-to-end encrypted backend
 endef
 
 
@@ -65,12 +66,18 @@ define Py3Package/etebase/install
 
        # Upstream application:
        $(INSTALL_DIR) $(1)/usr/share/etebase/
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/manage.py $(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/etesync-server.ini
+       $(LN) /var/etc/etebase/server.ini $(1)/usr/share/etebase/etebase-server.ini
 
-       $(INSTALL_DIR) $(1)/usr/share/etebase/etesync_server/
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/etesync_server/* $(1)/usr/share/etebase/etesync_server/
+       $(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/
@@ -85,10 +92,10 @@ Py3Package/etebase/filespec:=
 define Package/etebase/postrm
 #!/bin/sh
 [ -n "$${IPKG_INSTROOT}" ] && exit 0
-rmdir --ignore-fail-on-non-empty /usr/share/etebase/etebase
+cd /usr/share/etebase/ && rmdir */*/*/*/* */*/*/* */*/* */* * 2>/dev/null
 [ "$${PKG_UPGRADE}" = "1" ] && exit 0
 rm -r /www/etebase/static
-rmdir /www/etebase
+rmdir --ignore-fail-on-non-empty /www/etebase /var/etc/etebase
 exit 0
 endef
 
index 43a4ec789b8e87588e3065a3e19b4f232b709594..4cf4fa642385ebd911bec0ca96dc38c9be10494b 100644 (file)
@@ -6,12 +6,12 @@ python3 manage.pyc migrate --noinput || exit 1
 
 # setup minimal ini for collectstatic:
 mkdir -p /var/etc/etebase/ || exit 1
-printf "[global]\nSTATIC_ROOT=/www/etebase/static" >etesync-server.ini || exit 1
+printf "[global]\nSTATIC_ROOT=/www/etebase/static" >etebase-server.ini || exit 1
 python3 manage.pyc collectstatic --noinput || exit 1
 
 ETEBASE_HAS_USER_PY3CMD="import sqlite3
 c = sqlite3.connect('db.sqlite3').cursor()
-c.execute('select * from auth_user')
+c.execute('select * from myauth_user;')
 if c.fetchone()==None: print('0')
 else: print('1')"
 
index cb5ea938d13f45071dff2a602839d57cc1e771be..5ef04419094f3dc51f506cf24faf0da605212887 100644 (file)
@@ -5,6 +5,13 @@ location /etebase/static {
        try_files $uri $uri/ =404;
 }
 
+location /etebase/media {
+       access_log off;
+       error_log /dev/null;
+       expires 1y;
+       try_files $uri $uri/ =404;
+}
+
 location /etebase {
        access_log off;
        error_log /dev/null;
index 5f0c67d45aaffa36c65fd1ffb27eba031f41a353..570047f06739e7b9cd6a1300355561cf563013bb 100644 (file)
@@ -10,7 +10,7 @@ strict = true
 plugin = python
 manage-script-name = true
 chdir = /usr/share/etebase
-mount = /etebase=etesync_server.wsgi:application
+mount = /etebase=etebase_server.wsgi:application
 pidfile = /var/etc/etebase/master.pid
 
 enable-threads = true
index 72dbbefcc97d240a0092dff44a090f1517bd3680..516b424f788d5643717584c6c8052f3c28778925 100644 (file)
@@ -30,7 +30,7 @@ etebase_validate_global() {
 
     uci_load_validate etebase django "global" "$1" \
         'secret_file:file:secret.txt' \
-        'static_url:string:/etebase/static' \
+        'static_url:string:static/' \
         'language_code:string:en-us' \
         'time_zone:string:UTC' \
         'debug:bool:false' \
@@ -51,6 +51,8 @@ etebase_print_global() {
 
 
 etebase_validate_allowed_hosts() {
+    cd /usr/share/etebase/ >/dev/null || return
+
     uci_load_validate etebase django "allowed_hosts" "$1" \
         'uci_allow_all_ips_of:network' \
         'allowed_host:host' \
git clone https://git.99rst.org/PROJECT