Skip to content

Resolve "add debian packaging"

Konrad Mohrfeldt requested to merge 321-debian-packaging into release-may

Closes #321 (closed)

was für ein monster ey. aber… was lange währt und so…

dieser merge request macht ein wenig mehr als nur debian paketierung.

änderungen sind:

  1. die static und media haben jetzt kein /stadt prefix mehr
  2. grunt ist komplett rausgeflogen und wird jetzt komplett über make targets abgehandelt
  3. unser makefile ist jetzt modularisiert
  4. es gibt ein neues database_dump manage.py kommando
  5. wir haben jetzt eine Anti-PEP420 policy (PEP420 hat eingeführt, dass python pakete keine __init__.py mehr haben müssen), damit setuptools schön automatisiert bleibt (es gibt dafür ein lint target)
  6. unsere settings funktionieren jetzt anders
  7. stadt.settings ist jetzt ein package
  8. local_settings.py ist jetzt faktisch stadt.settings.local, sprich eine local.py datei im stadt/settings verzeichnis
  9. das laden der settings ist jetzt quasi umgedreht. unsere standardsettings versuchen nicht mehr die lokale konfiguration zu laden, sondern die lokale konfiguration importiert die default konfiguration (oder halt nicht) aus stadt.settings.default
  10. die stadt/settings/__init__.py läd die lokale konfiguration, wenn vorhanden
  11. die STADTGESTALTEN_PRESET umgebungsvariable kann übergeben werden um eine ergänzende konfiguration zu laden (der code ist trivial und in der stadt/settings/__init__.py zu finden)

neu ist die debian paketierung an sich:

  1. alle anwendungsdaten liegen unter /usr/share/stadtgestalten
  2. wir liefern ein virtualenv aus, dass sich unter /usr/share/stadtgestalten/.virtualenv befindet
  3. variable daten werden in /var/lib/stadtgestalten gespeichert. das betrifft von nutzer_innen hochgeladene dateien und ggf. die sqlite datenbank
  4. es gibt ein stadtctl executable in /usr/bin, das unsere manage.py aufruft
  5. wir liefern eine uwsgi-konfiguration aus (bei aktivierung dieser konfiguration führt das paket außerdem automatisiert datenbank-migrationen durch und erstellt datenbank-backups)
  6. wir liefern eine sexy nginx beispielkonfiguration in /usr/share/doc/stadtgestalten/examples/nginx.conf aus. ich konnte die konfiguration so vereinfachen, dass wir keinen separaten offline.* host mehr brauchen, sondern ein 503 automatisch unsere maintenance seite ausliefert
  7. ich habe unsere doku ein wenig aktualisiert. menschen können jetzt mit make app_setup in einem schritt die anwendung initialisieren und starten 😼

ich glaube das war’s.

@lars bitte schau dir die debian paketierung und allgemein die makefiles an. ungewöhnliches habe ich glaube ich immer dokumentiert. @robert ich bin an deiner meinung zu den settings interessiert :)

Merge request reports