¿Cómo convertir el instalador .run al instalador .deb?

¿Cómo convertir el instalador .run al instalador .deb?

Estoy ejecutando Ubuntu 14.04.

Tengo muchas bibliotecas de sistemas de terceros que uso para proyectos, pero administrar la instalación de la biblioteca es difícil. Algunas bibliotecas son archivos .deb, otras se crean a partir de la fuente (a partir de la cual luego creo un .deb) y otras son archivos .run.

Mi objetivo es tener mi propio repositorio personal que aloje estas bibliotecas de sistemas de terceros en forma de archivos .deb. Mi problema es convertir archivos .run en archivos .deb.

Intenté usar checkinstall para ejecutar el archivo .deb (específicamente los controladores de cámara UEye encontradosaquí), con la esperanza de que checkinstall capturara las modificaciones en mi sistema de archivos, pero desafortunadamente fue un desastre.

¿Existe alguna forma limpia de convertir archivos .run en archivos .deb?

Respuesta1

No existe un método simple o universal para hacer esto. La primera parte de un archivo común .run(voy a utilizar el archivo de instalación del controlador ATI como referencia) es un script, seguido de un flujo de datos comprimidos que se almacena inmediatamente en el sistema de archivos. Para convertirlo a un archivo deb, debes descomprimir el flujo en un directorio, crea el debian/directorio, en tu rulesarchivo debes editarlo para que dhmake solo tome la estructura del directorio y copie los archivos donde deberían estar, ya que no tienes a Makefileo equivalente que utilice el installscript.

Recomiendo encarecidamente pedirle al distribuidor de software que cree unpaquete debianya que la mayoría de estos archivos de ejecución ni siquiera sonCompatible con DFSG.

Respuesta2

Lo que terminé haciendo fue:

  1. Cree un .deb personalizado que contenga el archivo .run
  2. "Instalar" el archivo .run en /tmp
  3. Úselo postinstpara ejecutar el archivo .run (y eliminarlo después)
  4. Este archivo .run en particular proporciona su propio script de desinstalación que no necesita el archivo .run original. Entonces lo uso postrmpara ejecutar ese script.

Todo funciona muy bien. Sin quejas y muy sencillo.

información relacionada