From ef627d51f718439ca68eaa2fa9d4bee918ec64ac Mon Sep 17 00:00:00 2001
From: nd <git@notandy.de>
Date: Sat, 31 Jul 2021 18:18:49 +0200
Subject: [PATCH] add package testing

---
 .gitlab-ci.yml   | 8 ++++++++
 debian/uffd.cfg  | 4 ++--
 uffd/__init__.py | 7 ++++++-
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e1b703fa..95ba6974 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -116,6 +116,14 @@ test:package:apt:
   stage: test
   script:
   - apt -y install ./build/*.deb
+  - apt -y install curl
+  - ln -s /etc/uffd/uwsgi.ini /etc/uwsgi/apps-available/uffd.ini
+  - ln -s /etc/uwsgi/apps-available/uffd.ini /etc/uwsgi/apps-enabled/uffd.ini
+  - service uwsgi start uffd || ( service uwsgi status uffd ; sleep 15; cat /var/log/uwsgi/app/uffd.log; )
+  - echo "server { listen 127.0.0.1:5000 default_server;  include /etc/uffd/nginx.include.conf; }" > /etc/nginx/sites-enabled/uffd.ini
+  - service nginx start || ( service nginx status; nginx -t; exit 1; )
+  - sleep 5
+  - curl -Lv 127.0.0.1:5000
   dependencies:
   - build:apt
 
diff --git a/debian/uffd.cfg b/debian/uffd.cfg
index f3740716..954a0a99 100644
--- a/debian/uffd.cfg
+++ b/debian/uffd.cfg
@@ -1,2 +1,2 @@
-FLASK_ENV=production
-SQLALCHEMY_DATABASE_URI=sqlite:///var/lib/uffd/db.sqlite
+FLASK_ENV="production"
+SQLALCHEMY_DATABASE_URI="sqlite:////var/lib/uffd/db.sqlite"
diff --git a/uffd/__init__.py b/uffd/__init__.py
index c85436f5..6550124c 100644
--- a/uffd/__init__.py
+++ b/uffd/__init__.py
@@ -59,7 +59,12 @@ def create_app(test_config=None): # pylint: disable=too-many-locals
 	register_template_helper(app)
 	setup_navbar(app)
 
-	os.makedirs(app.instance_path, exist_ok=True)
+	# We never want to fail here, but at a file access that doesn't work.
+	# We might only have read access to app.instance_path
+	try:
+		os.makedirs(app.instance_path, exist_ok=True)
+	except:
+		pass
 
 	db.init_app(app)
 	Migrate(app, db, render_as_batch=True, directory='uffd/migrations')
-- 
GitLab