Crear paquete RPM desde la secuencia de comandos ANT en Windows

votos
13

Necesito crear un paquete RPM a partir de un script ANT que se ejecuta en una computadora con Windows. Este paquete debe contener las clases de resultados de la compilación más algunos otros recursos adicionales.

Supongo que debería haber algún programa en algún lugar que se pueda invocar desde la línea de comandos para crear este paquete.

La razón por la que quiero hacer esto en Windows es que tenemos un script que crea instaladores para varias plataformas diferentes, y todo ya está configurado para Windows, así que quiero evitar el dolor de migrar todo a Linux.

¿Sabes cómo se puede lograr esto?

EDITAR: He usado una máquina Linux separada para hacer esto. Copio todos los archivos usando la tarea scp, luego ejecuto el comando rpm de forma remota usando la tarea ssh. Si esta tarea devuelve un código de éxito, copio las rpm resultantes con scp.

Publicado el 16/01/2009 a las 09:15
por usuario
En otros idiomas...                            


6 respuestas

votos
2

Comprobando el manual de Ant, encontré la siguiente tarea opcional:

http://ant.apache.org/manual/Tasks/rpm.html

Sin embargo, esto solo funciona con computadoras linux

Respondida el 16/01/2009 a las 09:16
fuente por usuario

votos
0

No creo que sea posible, los paquetes de tiempo de ejecución creados para Linux no funcionarán en Windows (no esperamos dlls y exes en Linux, ¿verdad?). Cygwin enfrenta desafíos similares y claramente afirman que lo hacen mediante la compilación de archivos fuente para Windows.

Respondida el 16/01/2009 a las 10:06
fuente por usuario

votos
2

No conozco ningún paquete para hacer esto, pero eso podría ser solo mi ignorancia al hablar.

Dos sugerencias:

Configure una máquina Linux (PC o máquina virtual por separado) y prepare las rpm de forma remota mediante scripts (consulte ssh / scp / samba ). Esto me parece un enfoque seguro que evita la migración completa del entorno de compilación.

Un enfoque más aventurero sería escribir sus propios archivos RPM usando Java. El formato de archivo RPM parece ser un encabezado seguido de uno de varios formatos de archivo estándar. Se necesitaría algún análisis de los contenidos del archivo, por lo que este enfoque podría consumir bastante tiempo en el corto plazo (aunque probablemente daría como resultado compilaciones más rápidas).

Respondida el 16/01/2009 a las 10:33
fuente por usuario

votos
4

Una posible solución es usar una herramienta de manipulación de RPM java pura, como la que se describe en:

http://jrpm.sourceforge.net/rpmspec/index.html

Respondida el 16/01/2009 a las 14:47
fuente por usuario

votos
8

También tenga en cuenta la biblioteca java redline-rpm y la tarea ant. https://github.com/craigwblake/redline

Respondida el 26/11/2009 a las 10:19
fuente por usuario

votos
1

Freaking Administración de paquetes puede hacer esto. Usted debe ser capaz de ejecutarlo ambos con JRuby y en la RM Ruby.

fpm -s dir -t rpm mydir- u otro encantamiento en que proporciona las palabras clave rpm. Ver fpm --help.

Respondida el 19/01/2013 a las 20:56
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more