fix: Ghostscript-Angebot log nicht mehr, fehlende Voraussetzungen dokumentiert (v0.7.1)
Befunde aus dem ersten echten Erstinstallations-Test auf frischen Debian-12- und Debian-13-Containern. Der Weg selbst hat getragen (Basis-Install, Instanz-Anlage, zweite Instanz, Update mit Rauchtest, Rollback) — diese Stellen haben gelogen oder gefehlt: - Das Ghostscript-Backports-Angebot auf Debian 12 war ein garantierter Leerlauf, der "aktualisiert ✓" meldete: bookworm-backports enthaelt gar kein ghostscript (am Paketindex verifiziert). Die Routine sucht jetzt den echten Kandidaten, vergleicht vorher/nachher und raeumt eine nur zur Probe angelegte Quelle wieder weg. - Derselbe untaugliche Rat stand in der Preflight-Meldung, der pdfa_level-Warnung, config.example.toml und vier Doku-Dateien — ueberall ersetzt durch die echten Optionen. - Mehrzeilige Log-Hinweise waren durch "echo -e" zerrissen und nicht kopierbar; log_* nutzt jetzt printf mit %s. - pip-freeze.txt landete beim Rollback als /pip-freeze.txt im Wurzelverzeichnis, liegt jetzt unter opt/pdf-ocr-hotfolder/. - git und sudo fehlen auf dem Proxmox-Debian-Template; "sudo ./install.sh" scheitert dort. Beide Wege dokumentiert, git als Voraussetzung ergaenzt, HTTPS-Clone als Normalfall. - Rollback: systemctl start kann kein Glob. journald-Reparatur: Instanzen danach neu starten, sonst bleibt das Journal leer. 254 Tests gruen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
"""PDF OCR Hotfolder — Scanner-PDFs automatisch durchsuchbar machen."""
|
||||
|
||||
__version__ = "0.7.0"
|
||||
__version__ = "0.7.1"
|
||||
|
||||
@@ -32,6 +32,9 @@ class OcrConfig:
|
||||
# blockiert dann JEDE Datei — deshalb pinnt requirements.txt 17.x und der
|
||||
# Preflight prüft die installierte ocrmypdf-Version mit (siehe
|
||||
# service._gs_block_reason).
|
||||
# Auf Debian 12 gibt es KEIN neueres Ghostscript (bookworm-backports führt
|
||||
# kein Ghostscript-Paket) — PDF/A ist dort mit skip_text schlicht nicht zu
|
||||
# haben.
|
||||
pdfa_level: str = ""
|
||||
deskew: bool = True
|
||||
clean: bool = False
|
||||
@@ -292,7 +295,10 @@ def legacy_warnings(cfg: Config) -> list[str]:
|
||||
"Bug, wegen dem ocrmypdf die Kombination mit skip_text ablehnt "
|
||||
"(Issue #3). Der Preflight bricht ab, falls die installierte "
|
||||
"Ghostscript-Version betroffen ist; ab 10.02.1 ist alles in "
|
||||
"Ordnung."
|
||||
"Ordnung. Auf Debian 12 lässt sich Ghostscript nicht anheben — "
|
||||
"bookworm-backports enthält kein Ghostscript. Dort bleiben nur "
|
||||
"pdfa_level = \"\" (kein PDF/A), skip_text = false oder eine "
|
||||
"Distribution mit neuerem Ghostscript (Debian 13: 10.05.1)."
|
||||
)
|
||||
return out
|
||||
|
||||
|
||||
@@ -254,19 +254,37 @@ def _gs_block_reason(pdfa_level: str, skip_text: bool) -> str | None:
|
||||
"einzelne PDF würde in error/ landen"
|
||||
)
|
||||
|
||||
if pdfa_level:
|
||||
abhilfe = (
|
||||
"Abhilfe — eines davon: "
|
||||
"(1) [ocr].pdfa_level = \"\" setzen (der Default; ohne PDF/A-Ausgabe "
|
||||
"fasst ocrmypdf >= 17 Ghostscript gar nicht an, die betroffene "
|
||||
"Version ist dann unproblematisch) — kostet allerdings PDF/A; "
|
||||
"(2) [ocr].skip_text = false setzen (dann wird vorhandener Text neu "
|
||||
"erkannt statt übersprungen, das kostet Laufzeit); "
|
||||
"(3) eine Distribution mit neuerem Ghostscript einsetzen — "
|
||||
"Debian 13 liefert 10.05.1."
|
||||
)
|
||||
else:
|
||||
abhilfe = (
|
||||
"Abhilfe — eines davon: "
|
||||
"(1) ocrmypdf >= 17 einsetzen (requirements.txt pinnt 17.x; dort "
|
||||
"wird Ghostscript ohne PDF/A-Ausgabe gar nicht angefasst) — nach "
|
||||
"einem Downgrade also die venv neu bauen; "
|
||||
"(2) [ocr].skip_text = false setzen (dann wird vorhandener Text neu "
|
||||
"erkannt statt übersprungen, das kostet Laufzeit); "
|
||||
"(3) eine Distribution mit neuerem Ghostscript einsetzen — "
|
||||
"Debian 13 liefert 10.05.1."
|
||||
)
|
||||
|
||||
return (
|
||||
f"Ghostscript {gs_version} ist von einem bekannten Fehler betroffen "
|
||||
"(10.0.0–10.02.0, der Debian-12-Standard) und wird von ocrmypdf "
|
||||
f"abgelehnt: {ursache}. "
|
||||
"Abhilfe — eines von beidem: "
|
||||
"(1) Ghostscript >= 10.02.1 aus bookworm-backports installieren "
|
||||
"(install.sh bietet das an): "
|
||||
"echo 'deb http://deb.debian.org/debian bookworm-backports main' | "
|
||||
"sudo tee /etc/apt/sources.list.d/bookworm-backports.list && "
|
||||
"sudo apt update && sudo apt install -t bookworm-backports ghostscript — "
|
||||
"oder (2) in der Config [ocr].skip_text = false setzen "
|
||||
"(dann wird vorhandener Text neu erkannt statt übersprungen)"
|
||||
+ (" bzw. [ocr].pdfa_level = \"\"." if pdfa_level else ".")
|
||||
+ abhilfe
|
||||
+ " Ein Ghostscript-Upgrade auf Debian 12 gibt es NICHT: "
|
||||
"bookworm-backports enthält kein Ghostscript-Paket. Wer auf Debian 12 "
|
||||
"PDF/A zusammen mit skip_text = true braucht, hat dort keinen Weg."
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user