Files
pdf-ocr-hotfolder/requirements.txt
T
techadmin aa9918adba fix: ocrmypdf-Pin auf 17.4.1, Preflight erkennt den GS-Fall, Rauchtest (v0.6.1)
v0.6.0 hat ocrmypdf auf 16.13.0 gepinnt, um einen ungewollten Major-Sprung
zu verhindern. Auf Bestandsinstallationen war das ein DOWNGRADE (dort lief
via ">=16.0" bereits 17.x) — und 16.13.0 bricht auf Debian 12 mit dem
Bord-Ghostscript 10.0.0 bei JEDER PDF ab, sobald skip_text gesetzt ist.
Im Test auf CT 200 lief das Update mit Exit 0 durch, der Dienst blieb
"active", --check-config meldete "Preflight ok" — und jede Datei landete
in error/. Stiller Totalausfall.

- requirements.txt: ocrmypdf==17.4.1 (real auf Debian 12 + gs 10.0.0
  verifiziert). Ab 17.0.0 steht die GS-Pruefung in ocrmypdf unter einem
  `if options.output_type.startswith('pdfa')`; bis 16.x lief sie ohne
  diesen Guard und schlug auch bei output_type="pdf" zu.
- check_preflight() prueft Ghostscript nicht mehr nur bei gesetztem
  pdfa_level, sondern bildet die reale Bedingung ab:
  betroffene GS-Version UND skip_text UND (PDF/A ODER ocrmypdf < 17).
  Der Dienst bricht damit beim Start ab statt bei der ersten Datei.
- update.sh zeigt Versionsspruenge der gepinnten Pakete; Downgrades als
  WARN, auch in der Abschluss-Zusammenfassung.
- update.sh faehrt nach dem Start einen Rauchtest (eingebettete Mini-PDF
  durch die echte Pipeline) und raeumt restlos auf. Uebersprungen, wenn
  Upload-Ziele oder E-Mail-Notify aktiv sind, damit kein Testmuell zum
  Kunden geht. Abschaltbar mit --no-smoke-test.
- Doku korrigiert: pdfa_level = "" allein ist keine Entwarnung, die haengt
  an der ocrmypdf-Version.

152 Tests gruen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 22:55:47 +02:00

25 lines
1.3 KiB
Plaintext

# Feste Pins: ein Update darf nicht ungefragt einen Major-Sprung einziehen
# (der naechste waere ocrmypdf 18 — der reisst sonst alle Instanzen auf einmal).
# Geprueft gegen Python 3.11 (Debian 12) und 3.13 (Debian 13) — fuer beide
# gibt es fertige Wheels, es wird nichts kompiliert.
# Beim Anheben: update.sh --rebuild-venv auf einer Testmaschine fahren.
#
# ocrmypdf: MUSS 17.x sein, 16.x ist fuer uns unbrauchbar (v0.6.1).
# In ocrmypdf 16.x laeuft die Ghostscript-Pruefung in
# builtin_plugins/ghostscript.py:check_options() BEDINGUNGSLOS, also auch bei
# output_type="pdf". Auf Debian 12 (Ghostscript 10.0.0) bricht damit
# JEDE PDF ab, sobald skip_text=true gesetzt ist — und das ist unser Default:
# if Version('10.0.0') <= gs_version < Version('10.02.1') and (
# options.skip_text or options.redo_ocr
# ): raise MissingDependencyError(...)
# Ab 17.0.0 steckt genau dieser Block in einem
# `if options.output_type.startswith('pdfa'):` — bei pdfa_level = "" wird
# Ghostscript gar nicht erst angefasst und die Pruefung greift nicht mehr.
# Deshalb hier 17.x. 17.4.1 ist die im Feld auf Debian 12 + gs 10.0.0
# verifizierte Version; 17.12.1 traegt denselben Guard und waere der
# naechste Kandidat, ist aber noch nicht auf einer Testmaschine gefahren.
ocrmypdf==17.4.1
watchdog==6.0.0
requests==2.33.1
paramiko==4.0.0