was bedeutet „dpkg-buildpackage -rfakeroot -d -us -uc -S ist fehlgeschlagen“?

was bedeutet „dpkg-buildpackage -rfakeroot -d -us -uc -S ist fehlgeschlagen“?

Ich habe versucht, ein einfaches Debian-Paket zu erstellen. Ich habe diese Schritte mit dem Benutzer „Root“ ausgeführt:


Zuerst habe ich das Upstream-Tarball heruntergeladen, dann:

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

Dann:

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

Danach:

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

Anschließend habe ich „Kontrolldatei“ und „Copyright-Datei“ bearbeitet:

 $ nano control
 $ nano copyright


 $ cd ..
 $ debuild -S

Nach dem letzten Befehl wurde dieser Fehler generiert:

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

Wie werde ich diesen schwerwiegenden Fehler beseitigen?

Antwort1

Die Meldung besagt lediglich, dass der dpkg-buildpackageBefehl fehlgeschlagen ist. Wenn Sie die Meldungen lesen, werden Sie sofort erkennen, wo das Problem liegt:

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

Wenn Sie das beheben (und möglicherweise auch andere Probleme, die später auftreten können), sollte es funktionieren.

Antwort2

dpkg-buildpackage -rfakeroot -d -uc -us -S failedbedeutet;

  1. dpkg-buildpackageist der Name des ausgeführten Befehls. dpkg-buildpackage ist ein Tool zum Erstellen von Debian-Paketen oder „.debs“.
  2. -rfakerootist das erste Argument des Befehls und weist dpkg-buildpackage an, so zu handeln, als hätte dpkg-buildpackage Root-Rechte. Aus der Manpage: „Wenn dpkg-buildpackage einen Teil des Build-Prozesses als Root ausführen muss, wird dem ausgeführten Befehl das Präfix vorangestellt“, in diesem Fall fakeroot. (Nicht verwenden su).
  3. Die -dFlagge bedeutet „Build-Abhängigkeiten und -Konflikte nicht prüfen“.
  4. -ucund -usbedeutet, dass Sie die Änderungsdatei bzw. den Quellcode nicht signieren sollen.
  5. -Sbedeutet, ein Quellpaket zu erstellen. Debian-Pakete gibt es in zwei Typen: Binär- und Quellpakete. Das Binärpaket wird aus dem Quellpaket erstellt.
  6. „Fehlgeschlagen“ bedeutet, dass der Befehl fehlgeschlagen ist, aber das wussten Sie vermutlich. :-)

verwandte Informationen