Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37c508297f | ||
|
|
13bf07fecf |
No files matched your search
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "tesm"
|
name = "tesm"
|
||||||
version = "2.8.33"
|
version = "2.8.35"
|
||||||
description = "TESM -- Verwaltung und Ueberwachung von PoE-Endgeraeten und Aruba-Switchen"
|
description = "TESM -- Verwaltung und Ueberwachung von PoE-Endgeraeten und Aruba-Switchen"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|||||||
+6
-1
@@ -422,7 +422,12 @@ step "Python-Umgebung"
|
|||||||
# dasselbe laeuft als ExecStartPre vor jedem Dienststart. Zwei getrennte
|
# dasselbe laeuft als ExecStartPre vor jedem Dienststart. Zwei getrennte
|
||||||
# Paketlisten waeren zwei Listen, die auseinanderlaufen: die Reparatur baute
|
# Paketlisten waeren zwei Listen, die auseinanderlaufen: die Reparatur baute
|
||||||
# dann eine Umgebung, die nicht mehr der Installation entspricht.
|
# dann eine Umgebung, die nicht mehr der Installation entspricht.
|
||||||
"$ROOT/deploy/tesm-venv" "$ROOT" "$APP" --immer
|
# Ueber "bash" und nicht als Programm: Dateien im Baum tragen kein
|
||||||
|
# Ausfuehrungsrecht -- git kennt auf einer Windows-Buildmaschine keines, und
|
||||||
|
# install.sh, tesm-helper und tesm-motd werden aus demselben Grund ebenso
|
||||||
|
# aufgerufen oder mit ausdruecklichem Modus installiert. Ohne das brach die
|
||||||
|
# Aktualisierung mit "Permission denied" ab (und rollte zurueck).
|
||||||
|
bash "$ROOT/deploy/tesm-venv" "$ROOT" "$APP" --immer
|
||||||
info "Abhaengigkeiten installiert"
|
info "Abhaengigkeiten installiert"
|
||||||
|
|
||||||
# -- Statische Dateien fuer nginx --------------------------------------------
|
# -- Statische Dateien fuer nginx --------------------------------------------
|
||||||
|
|||||||
@@ -28,6 +28,18 @@
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# **Der venv muss fuer den Dienstbenutzer lesbar sein.**
|
||||||
|
#
|
||||||
|
# Dieses Programm laeuft als ExecStartPre der Dienst-Unit -- und erbt damit
|
||||||
|
# deren UMask=0027. Alles, was es anlegt, gehoerte root und waere 0750: der
|
||||||
|
# Dienst selbst laeuft unprivilegiert und koennte sein eigenes site-packages
|
||||||
|
# nicht einmal betreten. Gemessen: nach der Reparatur ging "import gunicorn"
|
||||||
|
# als root, als Benutzer tesm nicht -- die Reparatur baute etwas, das genau
|
||||||
|
# der Prozess nicht benutzen konnte, fuer den sie gedacht war.
|
||||||
|
#
|
||||||
|
# Im venv liegt nichts Geheimes; Schluessel und Datenbank stehen woanders.
|
||||||
|
umask 022
|
||||||
|
|
||||||
ROOT="${1:-}"
|
ROOT="${1:-}"
|
||||||
APP="${2:-}"
|
APP="${2:-}"
|
||||||
MODUS="reparieren"
|
MODUS="reparieren"
|
||||||
@@ -130,6 +142,11 @@ if ! bestuecken; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Und noch einmal ausdruecklich, fuer den Fall, dass ein frueherer Lauf mit
|
||||||
|
# strengerer Maske gebaut hat: was hier liegt, muss lesbar sein. Idempotent
|
||||||
|
# und in einer Sekunde durch.
|
||||||
|
chmod -R a+rX "$VENV" 2>/dev/null || true
|
||||||
|
|
||||||
[[ "$MODUS" == "immer" ]] || melden "INFO" "Python-Umgebung von $NAME ist wieder vollstaendig."
|
[[ "$MODUS" == "immer" ]] || melden "INFO" "Python-Umgebung von $NAME ist wieder vollstaendig."
|
||||||
rm -f "$MERKER" 2>/dev/null || true
|
rm -f "$MERKER" 2>/dev/null || true
|
||||||
exit 0
|
exit 0
|
||||||
Reference in new issue
Block a user