Eu estava tentando construir um pacote Debian simples, fiz estes passos com o usuário root:
Primeiro, baixei o tarball upstream e depois:
$ mv hithere-1.0.tar.gz hithere_1.0.orig.tar.gz
Então:
$ tar xf hithere_1.0.orig.tar.gz
Depois disso:
$ cd hithere-1.0
$ dch --create -v 1.0-1 --package hithere
$ cd debian/
$ rm *.ex *.EX
Então editei "arquivo de controle" e "arquivo de direitos autorais":
$ nano control
$ nano copyright
$ cd ..
$ debuild -S
Após o último comando, este erro foi gerado:
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
Como faço para me livrar desse erro fatal?
Responder1
A mensagem está apenas dizendo que o dpkg-buildpackage
comando falhou. Se você ler as mensagens, perceberá imediatamente onde está o 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
Se você consertar isso (e talvez outros problemas que possam aparecer mais tarde), ele deverá funcionar.
Responder2
dpkg-buildpackage -rfakeroot -d -uc -us -S failed
significa;
dpkg-buildpackage
é o nome do comando que foi executado. dpkg-buildpackage é uma ferramenta para construir pacotes Debian ou '.debs'.-rfakeroot
é o primeiro argumento do comando e diz ao dpkg-buildpackage para agir como se o dpkg-buildpackage tivesse privilégios de root. Na página de manual; "Quando o dpkg-buildpackage precisa executar parte do processo de construção como root, ele prefixa o comando com o qual executa", neste caso, fakeroot. (Não usesu
).- A
-d
bandeira significa "Não verifique dependências e conflitos de construção". -uc
e-us
significa não assinar o arquivo de alterações ou o código-fonte, respectivamente.-S
significa construir um pacote fonte. Os pacotes Debian vêm em dois tipos; binário e fonte. O binário é compilado a partir do pacote fonte.- "failed" significa que o comando falhou, mas acho que você sabia disso. :-)