entre mis actividades incluyo el mantenimiento de un mirror de distros y soft libre en la UNC. llevo haciendo esto ya varios años, y una de las cosas que me empezó a preocupar es que los mirrors queden de una forma que no sean usables. los motivos pueden ser muchos, pero se resumen en que en algún momento de la actualización diaria algo se rompió, tanto de este mirror como de los que hago mirror yo (mi upstream, que no necesariamente es el mirror oficial, para no sobrecargarlos). en esta época tenía un script en bash que corría rsync.

hace dos años comencé a pensar mucho en el tema, y llegué a una conclusión: un mirror consta de una metadata que describe el contenido del mirror y los datos en sí. en las distros, esta metadata está dada por los archivos que describen los paquetes; en el caso de debian, por ejemplo, son los archivos Packeges.

entonces comencé a escribir un programa que baja la metadata, se fija qué archivos nuevos hay, los baja, pone la nueva metadata y luego borra los que sobran. la idea es que mientras se produce el update el mirror es completamente usable. sólo hay una pequeña ventana en la que la metadata se actualiza que el mirror queda inconsistente.

ustedes dirán: pero qué chico este, preocuparse por esas giladas. desde hace una semana que noto que mi sid se actualiza poco. hoy revisando los logs del script de update me doy cuenta que efecticamente no están entrando cosas nuevas en el mirror de sid, lo cual es altamente extraño. preguntando porái es que me entero que el 5 de noviembre ftp-master.debian.org murió.

no sé en qué estado estará mirrors.kernel.org (mi upstream para debian y otras distros), pero al menos estoy seguro que mi mirror está impecable. es una pequeña satisfacción saber que puedo confiar de esa forma en mi mirror.

el programa se llama psync, y la verdá es que llevo unos meses sin sacar un release, y tengo un par de bugfixes desde el último. espero que ahora que me empiecen a leer me ponga un poco más las pilas con eso.

mis posts se están poniendo largos. mejor la corto acá.

psync python

Posted Wed 27 Jan 2010 11:55:55 PM CET Tags: psync

(A pedido de fbatista, trataré de poner mayúsculas al empezar las oraciones.)

Estuve todo el finde procrastinando algo que ya era necesario hacer: hacer releases de mis proyectitos. En realidad, estos releases son un paso más en el trabajo hormiga que ya venía haciendo: poner tracs y publicar info sobre ellos. Fue como poner el plato y luego las semillas para correcaminos. También la trampa, en forma de bugtrackers y pedidos de ayuda.

Y el último paso consiste en poner los carteles: anunciar los releases. En este moemnto estoy usando tres canales de anuncios (cuatro con éste): freshmeat, appsy y el Python Package Index.

Para hacer el anuncio en este último usé las distutils. Sólo tuve que poner info como la que pueden ver en la versión actual del setup.py de kreissy. Luego uno corre python setup.py register, quien pide user y pass de pypi, y yastá! Esta info también la uso para crear los .tar.gz con python setup.py sdist. Pero estas cosas ya las sabían, ¿no?

Para psync yo usaba también packer (WARN: colores horripilantes tras ese link) para crear paquetes para distintas distros, pero hace un año que no lo usaba y parece que ya no funciona como antes bajo Debian Sid. Una lástima.

Así que ahí tienen: kreissy 0.2.0 y psync 0.4.0.

kreissy psync python

Posted Wed 27 Jan 2010 11:55:55 PM CET Tags: psync