Estaba intentando crear un paquete Debian simple, seguí estos pasos con el usuario root:
Primero, descargué el tarball ascendente y luego:
$ mv hithere-1.0.tar.gz hithere_1.0.orig.tar.gz
Entonces:
$ tar xf hithere_1.0.orig.tar.gz
Después:
$ cd hithere-1.0
$ dch --create -v 1.0-1 --package hithere
$ cd debian/
$ rm *.ex *.EX
Luego edité "archivo de control" y "archivo de derechos de autor":
$ nano control
$ nano copyright
$ cd ..
$ debuild -S
Después del último comando, se generó este error:
root@mehrnaz-MS-A934:/home/fabdollahei/hithere-1.0# debuild -S dpkg-buildpackage -rfakeroot -d -us -uc -S
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package hithere
dpkg-buildpackage: source version 1.0-1
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by root <[email protected]>
dpkg-source --before-build hithere-1.0
dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15: block lacks the 'Package' field
dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255
dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15: block lacks the 'Package' field
dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -d -us -uc -S failed
¿Cómo me deshago de ese error fatal?
Respuesta1
El mensaje simplemente dice que el dpkg-buildpackage
comando falló. Si lees los mensajes notarás inmediatamente dónde está el problema:
dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15:
block lacks the 'Package' field
dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255
Si soluciona eso (y tal vez otros problemas que tenga, que podrían aparecer más adelante), debería funcionar.
Respuesta2
dpkg-buildpackage -rfakeroot -d -uc -us -S failed
medio;
dpkg-buildpackage
es el nombre del comando que se ejecutó. dpkg-buildpackage es una herramienta para crear paquetes Debian o '.debs'.-rfakeroot
es el primer argumento del comando y le dice a dpkg-buildpackage que actúe como si dpkg-buildpackage tuviera privilegios de root. Desde la página de manual; "Cuando dpkg-buildpackage necesita ejecutar parte del proceso de compilación como root, antepone el comando con el que se ejecuta", en este caso, fakeroot. (No usarsu
).- La
-d
bandera significa "No comprobar las dependencias y los conflictos de compilación". -uc
y-us
significa no firmar el archivo de cambios o el código fuente respectivamente.-S
significa construir un paquete fuente. Los paquetes de Debian vienen en dos tipos; binario y fuente. El binario se construye a partir del paquete fuente.- "fallido" significa que el comando falló, pero supongo que ya lo sabías. :-)