Cómo usar 'apt' para obtener el código fuente y luego compilar por separado

26

Quiero obtener el código fuente de un proyecto y luego construirlo de la misma manera que lo haría apt. Por ejemplo, quiero el código fuente de trabajo y poder ejecutar 'make' o un comando similar en la fuente.

¿Cómo puedo hacer eso?

Específicamente quiero obtener esta fuente 'icedtea-6-jre-jamvm'

Berlin Brown
fuente

Respuestas:

28

Para este ejemplo, lo usaré icedtea-6-jre-jamvmcomo el paquete que desea reconstruir.

Primero instale todas las dependencias y compile lo esencial:

sudo apt-get build-dep icedtea-6-jre-jamvm
sudo apt-get install build-essential

Luego toma la fuente:

apt-get source icedtea-6-jre-jamvm

Luego, cd en el directorio del directorio openjdk y compile el deb, los -us y -uc aquí omiten las comprobaciones de GPG si solo lo está reconstruyendo por sí mismo:

cd openjdk-6-6b24-1.11.5
dpkg-buildpackage -us -uc

Luego sube un directorio y deberías tener archivos .deb.

Fuentes:

Jorge Castro
fuente
¡eso es muy bueno! Un gran obstáculo para comenzar a contribuir a un programa de software gratuito es "hacer que se compile", y es bueno verlo automatizado. Sin embargo, sería genial si pudiéramos generar los archivos binarios y detenernos allí (es decir, no generar los debs) ya que esto es un poco más conveniente para los desarrolladores que editan y compilan con frecuencia ... ¿Sabes una forma de hacerlo? ¿ese?
josinalvo
7

para compilar el paquete, use el script debian / rules que se proporciona en cada paquete debain:

sudo apt-get build-dep <package>
apt-get source <package>
cd <package>_<version>
./debian/rules binary

esto solo hace la parte de configuración y compilación.

Michael Dreher
fuente
4

Puedes usar lo siguiente:

apt-get source <package>

debe asegurarse de instalar las dependencias de compilación:

sudo apt-get build-dep <package> 

para más información ejecute:

man apt-get

Opción alternativa: primero debe conocer la ubicación del paquete. luego descargue el archivo tar usando:

sudo wget <url>

Luego puede descomprimirlo y compilarlo usando make

Si no está seguro sobre el comando específico, busque dentro de la carpeta, debe haber un READMEarchivo o INSTALLque le dirá el comando apropiado.

meda
fuente
Eso es obtener del sitio host. ¿Hay alguna manera de hacerlo con 'apt. Completamente a través de 'apt' menos la compilación real. Por ejemplo, ¿puedo hacer 'apt get source' y luego navegar a ese directorio y luego 'make'.
Berlin Brown el
lo siento, acabo de actualizar la pregunta!
meda