打包时遇到以下错误
dh_builddeb
dpkg-deb: building package `remotedevicecontroller' in `../remotedevicecontroller_1.0-1_i386.deb'.
dpkg-source -b remotedevicecontroller-1.0
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: error: unwanted binary file: debian/remotedevicecontroller/usr/share/doc/remotedevicecontroller/changelog.Debian.gz
dpkg-source: error: detected 1 unwanted binary file (add it in debian/source/include-binaries to allow its inclusion).
dpkg-buildpackage: error: dpkg-source -b remotedevicecontroller-1.0 gave error exit status 29
为什么文件是由 debian-helper 创建的,为什么又要求将它包含在其他目录中?
最佳答案
在 debian 中打包时,在您的项目目录中有一个名为 的目录Debian ,这是我们保存有关如何打包软件的说明以及与其他软件包的关系等文件的地方。我们可以将其称为您的软件包 控制文件 .其中有一个叫更新日志 ,看起来像这样:
mypackage (version-revision) unstable; urgency=low
* Changelog messages
-- Your Name <your@email.com> Mon, 13 Aug 2012 14:09:01 -0300
(...)
打包软件 (dpkg-buildpackage) 使用此文件来了解您的包的名称和版本。它还包含 mantainer、changelogs 等信息。构建包并安装后,此文件将位于 /usr/share/doc/mypackage/changelog.Debian.gz 以 gzip 格式压缩。您可以通过解压缩或使用 zcat 命令来检查其内容。
现在,您遇到的问题是,该文件一旦被压缩,就被视为二进制文件,并且只有在 debian/source/include-binaries 中添加的二进制文件才允许在使用 dpkg-source 构建的源包中.
要解决您的问题,您可能需要删除文件 更新日志.Debian.gz 从您的源包中,因为无论如何它将被 debian 文件夹中的更改日志文件替换。如果您正在“重新打包”某些内容,并且您认为该文件中可能有您想要保留的更新的变更日志信息,您应该将其与您的 debian/changelog 中的信息进行比较。
编辑:
*错字:删除(非远程)
*一些说明
关于c++ - 什么是 debian 打包过程中的 changelog.Debian.gz 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18443800/