“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. “失败”意味着命令失败,但我想你知道这一点。 :-)

相关内容