что означает «dpkg-buildpackage -rfakeroot -d -us -uc -S failed»?

что означает «dpkg-buildpackage -rfakeroot -d -us -uc -S failed»?

Я пытался собрать простой пакет Debian и выполнил следующие шаги от имени пользователя root:


Сначала я скачал исходный tar-архив, затем:

 $ mv hithere-1.0.tar.gz hithere_1.0.orig.tar.gz

Затем:

 $ tar xf hithere_1.0.orig.tar.gz

После этого:

 $ cd hithere-1.0
 $ dch --create -v 1.0-1 --package hithere 
 $ cd debian/
 $ rm *.ex *.EX

Затем я отредактировал «контрольный файл» и «файл авторских прав»:

 $ nano control
 $ nano copyright


 $ cd ..
 $ debuild -S

После последней команды возникла следующая ошибка:

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

Как избавиться от этой фатальной ошибки?

решение1

Сообщение просто говорит, что dpkg-buildpackageкоманда не выполнена. Если вы прочитаете сообщения, вы сразу заметите, в чем проблема:

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

Если вы исправите это (а может быть и другие проблемы, которые могут проявиться позже), то все должно заработать.

решение2

dpkg-buildpackage -rfakeroot -d -uc -us -S failedозначает;

  1. dpkg-buildpackage— имя запущенной команды. dpkg-buildpackage — это инструмент для сборки пакетов Debian или «.debs».
  2. -rfakerootявляется первым аргументом команды и сообщает dpkg-buildpackage действовать так, как если бы dpkg-buildpackage имел привилегии root. Из страницы руководства: "Когда dpkg-buildpackage необходимо выполнить часть процесса сборки как root, он добавляет к выполняемой команде префикс", в данном случае fakeroot. (Не используйте su).
  3. Флаг -dозначает «Не проверять зависимости и конфликты сборки».
  4. -ucи -usозначает не подписывать файл изменений или исходный код соответственно.
  5. -Sозначает сборку исходного пакета. Пакеты Debian бывают двух типов: бинарные и исходные. Двоичный собирается из исходного пакета.
  6. «failed» означает, что команда не выполнена, но я думаю, вы это знали. :-)

Связанный контент