Infraestructura
Planeta Linux es administrado por medio de un repositorio Subversion.
El repositorio únicamente contiene un sólo directorio y no utiliza ramas, etiquetas
y es en general bastante fácil de utilizar.
Estructura del árbol
El árbol tiene cuatro directorios en su nivel más alto:
planetalinux
|
+-- proc
|
+-- test
|
+-- tools
|
+-- www
proc es donde la mayor parte de los planetas a procesarse vive. test es un
directorio donde aquellos que utilizan subversion por primera vez pueden experimentar. En tools
pueden ir scripts o aplicaciones que corran con Planeta Linux pero que no sean vitales para su funcionamiento.
www son todas las imágenes o HTMLs estáticos o dinámicos que serán desplegados en varias partes
de la página.
proc
Dentro de proc vamos a tener los directorios de cada una de las instancias
existentes en Planeta Linux, y además dos archivos genéricos que todas las instancias ocuparán:
|
+-- proc
|
+-- opml.xml.tmpl
|
+-- rss20.xml.tmpl
|
+-- mx
| |
| +-- config.ini
| |
| +-- index.html.tmpl
|
+-- pe
| |
| +-- config.ini
| |
| +-- index.html.tmpl
|
+-- ve
| |
| +-- config.ini
| |
| +-- index.html.tmpl
|
+ ...
Básicamente, opml.xml.tmpl y rss20.xml.tmpl son los templates de ambos formatos de feeds
y seguramente no tendrás que editarlos a menos que tengas una razón extremadamente válida. Dentro de cada directorio
de instancia, encontrarás config.ini e index.html.tmpl . El primero será el que la mayoría
de los colaboradores de Planeta Linux tienen que editar, tanto para agregar feeds, editarlos, borrarlos. El
index.html.tmpl es el template para la página de cada una de la instancias. Ojalá en algún momento podamos
tener un sólo template para todas las instancias, por el momento no lo tenemos así. También necesitas una suficientemente
buena razón para editar los templates.
test
Por el momento contamos con un sólo archivo dentro de test :
|
+-- test
|
+-- hola.pl
Este único archivo sirve para que hagas tu primer commit, edítalo y envía el cambio. Si todo sale bien, verás
el diff del cambio que hiciste en la lista de correos. Obviamente no necesitas saber Perl para editarlo, es un
simple archivo de pruebas.
tools
En este directorio se pretenden subir cualquier tipo de herramientas que puedan ser de utilidad para Planeta
Linux, aunque por el momento no hay mucho que digamos:
|
+-- tools
|
+-- icons
|
+-- banderas
|
+-- ad.png
|
+-- ae.png
|
+-- af.png
|
+-- ...
En el momento de escribir este documento, únicamente tenemos los íconos de la banderas que se utilizan
en cada una de las instancias para ligar a las otras. Esas banderitas fueron algo difíciles de encontrar
y loas guardamos ahí para que no se nos pierdan otra vez :-)
www
www es el directorio más grande donde se almacena la mayor parte de los scripts PHP, código en HTML,
imágenes, cabezas, etc.
|
+-- www
|
+-- css
| |
| +-- alternativa.css
| |
| +-- ...
|
+-- images
| |
| +-- arte
| | |
| | +-- planetalinux-main.png
| | |
| | +-- ...
| |
| +-- banderas
| | |
| | +-- alternativa.png
| | |
| | +-- ...
| |
| +-- mar06
| | |
| | +-- ...
| |
| +-- astrata.png
| |
| +-- ...
|
+-- instancias
| |
| +-- mx
| | |
| | +-- images
| | |
| | +-- cabezas
| | |
| | +-- accesshigh.png
| | |
| | +-- ahioros.png
| | |
| | +-- ...
| |
| +-- ve
| | |
| | ...
| |
| +-- ...
|
+-- misc
|
+-- principal
| |
| +-- acerca
Uso de contraseñas
La autenticación para el repositorio no se efectúa mediante contraseñas. Si estás leyendo esta página es
por que muy probablemente ya tengas una cuenta de acceso y tu llave pública SSH ya esté en el servidor.
Esa es la única posibilidad para acceder al repositorio, por medio de llaves SSH.
Obtener el árbol en una copia local
Para bajar todo el contenido del árbol de Planeta Linux a tu máquina, bastará con ejecutar:
$ svn checkout svn+ssh://usuario@menteslibres.org/home/planetalinux/svn planetalinux
Con co estás haciendo checkout y comenzará a descagar toda tu copia local. Es muy importante que tu
llave local SSH sea la que estés usando desde ~/.ssh/id_rsa.pub , de otra forma no será posible autenticarse
tu cuenta.
Copia local siempre actualizada
Es vital, antes de hacer alguna modificación en el árbol, que mantengas tu árbol sincronizado, ejecutando:
svn up
Agregar feeds o modificar los ya existentes
Cualquier modificación de nombres debe hacerse en UTF-8, pues así es como Planet entiende los acentos y tildes.
Asegúrate de que tu cliente esté leyendo y escribiendo en UTF-8.
Para agregar feeds, basta con utilizar tu editor favorito:
$ editor planetalinux/proc/ubicacion/config.ini
...donde ubicacion es desde luego mx , ve , pe , etc.
El formato de los feeds, nombres e imágenes de hackergotchi es bastante intuitivo:
[http://aqui.va/la/url/del/feed]
name = Juanito Pérez
face = juanito.png
La URL del blog, cuando ya tenemos el feed que vamos a agregar, no nos importa mucho. La imagen juanito.png la agregaremos
a continuación, pero sólo es necesario agregarla así, el nombre del archivo con su extensión. Planeta Linux ya sabe
dónde buscarla.
Agregar hackergotchis
Todos los hackergotchis deben ser, de acuerdo a los lineamientos, de no más de 95 pixeles de ancho y/o de alto, deben
estar en formato PNG y el fondo de las imágenes debe ser transparente, no blanco ni de otro color. Si es necesario y si
accedemos, hay que editarla nosotros mismos para que cumpla con los lineamientos.
Una vez que tenemos la imagen tal como se necesita, la colocamos en su lugar y la agregamos al depósito:
$ mv /tmp/image001.png planetalinux/www/instancias/ubicacion/images/cabezas/juanito.png
$ svn add planetalinux/www/instancias/ubicacion/images/cabezas/juanito.png
...donde ubicacion es desde luego, alguna de las instancias.
Si lo que tenemos que hacer es reemplazar una imagen ya existente, sólo reescribimos la imagen previamente
existente, no sería necesario hacer svn add , pues la imagen ya fue agregada al repositorio en algún
momento.
Modificar otras cosas
Para estas alturas, si es necesario que edites cualquier otra cosa en el árbol, ya deberías
tener suficiente experiencia con esta onda para necesitar este HOWTO :-)
Commit de los cambios
Una vez que realizaste algún cambio, es necesario hacer commit. Depende de tu ubicación en el árbol,
el commit tendrá cierta recursividad. Si sólo quieres commitear los cambios de algún directorio en
específico (por alguna extraña razón):
$ svn ci -m 'Agrego a Fulanito de las Porras' proc/mx
Siempre hay que proveer un comentario en los cambios.
Con un simple svn ci -m 'Comentario' en la raíz del árbol debería bastar.
El historial de cambios
Los diffs de cada uno de los commits es enviado a la lista de correos de Planeta Linux y son revisados
minuciosamente, así que cualquier detalle es detectable. Actúa con responsabilidad. Para ver tú mismo el
historial de los cambios en el árbol, utiliza svn log .
Otros comandos útiles