Ubuntu, supervisord, trac, locale

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
BlackJack

Es sind zwar zwei Python-Programme beteiligt, aber es wohl doch OT. :-)

Ich versuche ein Trac mit supervisord zum laufen zu bringen, weil ich das nicht so oft brauche und es schön wäre es bei Bedarf per Weboberfläche hoch- und runter zu fahren. Das klappt auch alles ganz gut soweit, wenn ich folgendes als Konfiguration für supervisord verwende:

Code: Alles auswählen

[program:trac_thb]
command=tracd --hostname 0.0.0.0 --port 8192 --auth='*,trac/users.htdigest,localhost' trac/
directory=/home/bj/thb/
user=bj
Nun nerven mich aber diese amerikanischen Datumsangaben, also wollte ich eine deutsche locale verwenden und habe noch die Zeile:

Code: Alles auswählen

environment = LANG=de_DE.utf8
hinzugefügt.

Jetzt antwortet tracd nicht mehr. Im Log taucht dafür folgender Fehler auf:

Code: Alles auswählen

...
  File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 346, in dispatch_request
    locale.setlocale(locale.LC_ALL, environ['trac.locale'])
  File "/usr/lib/python2.6/locale.py", line 513, in setlocale
    return _setlocale(category, locale)
Error: unsupported locale setting
Benutzer bj kennt die Locale aber:

Code: Alles auswählen

bj@s8n:~$ locale -a
C
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_LI.utf8
de_LU.utf8
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
Auch benutzer root, unter dem supervisord läuft:

Code: Alles auswählen

root@s8n:~# locale -a
C
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_LI.utf8
de_LU.utf8
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
Und wenn ich ``locale -a`` vom supervisord ausführen lasse und dann in die Logdatei schaue:

Code: Alles auswählen

C
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_LI.utf8
de_LU.utf8
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
Wenn ich folgendes auf der Kommandozeile ausführe, dann funktioniert das sowohl als bj als auch als root problemlos:

Code: Alles auswählen

LANG=de_DE.utf8 tracd --hostname 0.0.0.0 --port 8192 --auth='*,trac/users.htdigest,localhost' trac
Sieht jemand einen offensichtlichen Fehler oder hat eine Idee!?
Antworten