「dpkg-buildpackage -rfakeroot -d -us -uc -S 失敗」是什麼意思?

「dpkg-buildpackage -rfakeroot -d -us -uc -S 失敗」是什麼意思?

我試圖建立一個簡單的 Debian 軟體包,我使用 root 使用者執行了以下步驟:


首先,我下載了上游 tarball,然後:

 $ 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. 「失敗」意味著命令失敗,但我想你知道這一點。 :-)

相關內容