2011-09-01 9 views
14

Como seguimiento de How do I write a setup.py for a twistd/twisted plugin that works with setuptools, distribute, etc?, ¿cómo se hace un paquete Debian para un plugin retorcido?¿Cómo hago un paquete ubuntu/debian para un plugin twistd/twisted?

Suponiendo que setup.py está escrito correctamente, usar cdbs/python-central/dh_python2 debería funcionar, pero hasta ahora no he tenido mucha suerte.

El truco con esas herramientas es que básicamente ejecutan 'python setup.py install --root =' y luego empaquetan lo que termina en '', por lo que quizás una vez que la pregunta anterior es respondida correctamente, entonces esta pregunta se convierte ¿discutible?

¿Alguien aquí ha empaquetado con éxito un plugin retorcido para debian?

Respuesta

1

Argh, he intentado hacer esto y he fallado. Creo que es posible en función de lo que Debian/Ubuntu libera desea dirigirse, y la cantidad de esfuerzo que desea poner en

Hay dos enfoques:.

  1. Tener su paquete pegue el archivo plugin en twisted/plugins/ en el árbol retorcido. Esto es un problema porque Twisted se empaqueta utilizando diferentes métodos en diferentes lanzamientos (python-support en Lucid vs dh_python2 en Natty IIRC) y (en términos generales) su paquete debe empaquetarse del mismo modo que Twisted para que funcione.
  2. Tenga instalado un directorio twisted/plugins/ junto con su código. Luego, IIRC, el problema se convierte en que el bosque de enlaces simbólicos que se crea incluye el directorio retorcido (ya que no es un paquete).
+0

no entiendo estas opciones terriblemente bien. ¿Puede ofrecer más detalles técnicos sobre cómo se tiene un paquete para "pegar" el archivo de complemento en "el árbol retorcido"? ¿Cómo se puede saber dónde está el árbol retorcido, dado los diferentes lugares donde Twisted puede ser instalado por diferentes lanzamientos? – Glyph

3

Aparentemente el problema es con 'python-support', que no tiene ningún problema cuando se trata de complementos retorcidos.

This message from Ubuntu's Matthias Klose explica el problema y ofrece una solución:

envases de plugins retorcidos con python-support es roto por el diseño. Incluso la política de python menciona explícitamente que debe usar el mismo asistente de empaque para paquetes que comparten el mismo espacio de nombres de python.

Debe usar dh_python2 para eso, o (en desuso) crear con dh_pycentral usando `include-links '.

- Matthias Klose

+2

Su primera frase es algo engañosa; El soporte de python solo es "simple roto cuando se trata de plugins retorcidos" porque los paquetes Twisted usan dh_python2, no debido a algún defecto intrínseco de python-support. De manera más general, si está instalando módulos de python en el espacio de nombres de otro paquete, necesita usar el mismo empaquetador que usa ese paquete, de lo contrario, los archivos no terminarán en el lugar correcto. – mithrandi

+0

¿Es esto cierto para Debian y Ubuntu? ¿Qué versiones de cada uno? – Glyph

Cuestiones relacionadas