Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > debian > Markdown y su contenido

Markdown y su contenido

El paquete markdown proporciona la correspondiente librería Perl y un programa para utilizar directamente con un fuente de una manera un tanto especial. El módulo debería estar en la categoría Text/Markdown, y allí aparece, pero no como un módulo en sí, sino como enlace simbólico al ejecutable markdown.

¿ Cómo un enlace ? Pues sí, pero no a la ruta absoluta /usr/bin/markdown; en su lugar apunta a ../../../bin/markdown, que no tendría mayor importancia sino fuese porque debido a falta de espacio en disco moví toda la jerarquía /usr/share a otra partición en el disco, asumiendo que estos directorios serían bastante estables y ahora me encuentro conque ese enlace simbólico ha dejado de funcionar.

¿ Y cómo arreglo esto ?

Usando el programa dpkg-divert de la siguiente forma:

# ls -l /usr/share/perl5/Text/Markdown.pm
lrwxrwxrwx 1 root root    21 2007-01-21 08:39 Markdown.pm -> ../../../bin/markdown
# dpkg-divert --add --rename /usr/share/perl5/Text/Markdown.pm
# ls -l /usr/share/perl5/Text/
lrwxrwxrwx 1 root root    21 2007-01-21 08:39 Markdown.pm.distrib -> ../../../bin/markdown
...

Vemos que antes de efectuar la operación el módulo existe como enlace a la localización errónea. Tras indicar al sistema que desvíe todas las instalaciones de ese archivo hacia la versión renombrada .distrib nos encontramos con el módulo ya no existe.

Ahora vamos a crear nuestro enlace simbólico correctamente:

# ln -s /usr/bin/markdown /usr/share/perl5/Text/Markdown.pm
# ls -l /usr/share/perl5/Text/
lrwxrwxrwx 1 root root    17 2007-01-21 10:22 Markdown.pm -> /usr/bin/markdown
lrwxrwxrwx 1 root root    21 2007-01-21 08:39 Markdown.pm.distrib -> ../../../bin/markdown
...

y ahora podemos probar que la nueva versión funciona sin problemas.

La ventaja es que las próximas instalaciones del paquete markdown desviarán ese archivo a la versión renombrada, de manera que nuestro enlace correcto seguirá allí y no tendremos que reinstalarlo en cada ocasión.

Ahora deberíamos enviar un informe de errores al mantenedor del paquete para avisarle de lo que consideramos un error.

Duda aclarada

Gracias a la ayuda de Damián Viano veo que tal situación no es un error (según la policy de Debian), puesto que sólo involucra a un directorio superior (/usr) y que es correcto.

Enlaces