Desde hace como dos semanas que vengo esporádicamente peleando
con un problema: Tenía que poner a andar el plugin de Mercurial
para Trac. Según las instrucciones de
la página, sólo es cuestión de generar un .egg
(¿se acuerdan?),
ponerlo en el directorio plugins del environment y ya.
Pero corriendo tracd y entrando con un browser me
daba:
TracError: Unsupported version control system "hg"
Mi primer sospechoso era el .egg; creía que no lo
estaba encontrando. Prendiendo el logging en el
trac.ini descubrí que en realidad si lo levantaba.
Siguiendo un par de links encontré una sugerencia de correr todos
los imports que corre el backend.py del plugin.
Finalmente descubrí que la línea:
from mercurial.revlog import LookupError
fallaba. Se vé
que el Mercurial que viene en Etch (0.9.1-1+etch1) no es del todo
compatible, a pesar que la página del plugin dice que lo es,
inclusive hasta con 0.8. Para "repararlo" simplemente saué las (1)
referencias a LookupError.
Hoy me tocó hacer una negrada marca cañón. Resulta que tenemos un Xarope andando. En la arquitectura de Xarope tenemos un Apache que nos hace de frontend a todos los sitios Zope que corren en los DomU's.
El tema es que estaba poniendo a andar en uno de los DomU's un
repo Mercurial, el cual
corre detrás de un lighty.
Ponerlo a andar no fue muy duro, salvo que no sabía mucho ni de uno
ni del otro. Cuestión que llegué al punto en que podía hacer un
hg clone para bajarme una copia del repo, mas no hacer
un push. Acá es donde se ponía peluda la cosa.
El problema es el siguiente: para que las passwds no anden
volando en cueros tenía que poder acceder al repo por
https. Ahora, repiensen el esquema: tengo un Apache al
que le llegan los pedidos https, el que a través de un
Rewrite forwardea el pedido al Lighttpd corriendo en
otra máquina (virtual, pero no viene al caso). Por razones casi
obvias forwardear de un 443 a un 443 no anda. ¡Pero resulta que si
el forward es al 80 si!
Es decir, el Apache recibe https, y cuando
forwardea el pedido, lo hace en http plano. Esto
responde a mi pregunta "¿Comocatzo vamos a hacer cuando los
usuarios de Zope pidan acceso por https?". La única
contra que le veo a este setup es que el sitio final (sea un Zope o
un repo Mercurial) no sabe si el acceso viene con SSL o no.