Wir setzen eine automatische Aktualisierung der Drupal-Archive und PO-Files ein um damit einen automatischen Installer (basierend auf drush) zu betreiben.
Leider kam es in den letzten Wochen mehrmals zu Problemen mit Syntaxfehlern in den heruntergeladenen Dateien. Durch einen manuellen Re-Download einige Stunden später konnte das meist behoben werden, allerdings ist es ärgerlich, da der Installer dann natürlich immer erstmal Fehler bringt.
Jetzt bin ich dabei, das Problem zu debuggen, also ob mein Download-System oder das verfügbare Archiv schuld ist. Leider gibt es keine MD5-Prüfsummen um einen Download zu verifizieren.
Wird die Syntax der PO-Files auf dem Drupal-Server automatisch geprüft bevor ein Release online gestellt wird?
KDE verlangt von seinen Entwicklern, vor jedem Upload mit "msgfmt --statistics --check-header" auf Fehler zu prüfen. Mache ich das mit der Drupal-Datei, kommt folgender Fehler:
# msgfmt --statistics --check-header drupal-7.0.de.po
drupal-7.0.de.po:5: header field `Last-Translator' missing in header
drupal-7.0.de.po:13745: »msgid«- und »msgstr[0]«-Eintrag enden nicht jeweils mit »\n«
msgfmt: es ist 1 fataler Fehler aufgetreten
4469 übersetzte Meldungen.
Ich fände es sinnvoll, wenn ein solcher automatischer Check vor der Online-Stellung der neuen PO-Dateien gemacht würde, um sicher zu stellen dass diese Dateien auch korrekt benutzt werden können.
Comments
Comment #1
Thomas_Zahreddin commentedHallo Bernd,
danke für den Hinweis, meine Erfahrung ist auch, dass die Infrastruktur des localize-Projekts noch nicht 100% rund läuft.
Wesentliche Information für Dich: Alle Dateien werden durch l10n_server generiert.
D.h. ich vermute den Fehler in der Art und Weise, wie die Datei generiert wird und je nachdem zu welchem Zeitpunkt der Download in Relation zur Generierung erfolgt entsprechende Fehler auftreten können, z.B. der Gernerierungsprozess auf dem Server ist noch nicht fertig, eine unvollständige Datei wird aber auf dem Client gespeichert. Im Code sieht es danach aus, dass das po-file bzw. tar.gz direkt im Download-Verzeichnis generiert wird, wodurch es zu dem beschriebenen Szenario kommen kann.
Von daher ist es sinnvoll das Problem zu untersuchen und dann je nach Ergebnis, den Fehler beim entsprechenden Projekt zu melden (wahrscheinlich l10n_server).
Comment #2
hass commentedComment #5
joachim namyslo