C++ 在Debian打包期间,什么是changelog.Debian.gz文件?

C++ 在Debian打包期间,什么是changelog.Debian.gz文件?,c++,ubuntu,debian,packaging,C++,Ubuntu,Debian,Packaging,在打包时,我遇到了以下错误 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

在打包时,我遇到了以下错误

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的目录,我们在其中保存有关如何打包软件的说明以及与其他软件包的关系的文件,等等。我们可以称之为您的包控制文件。其中有一个名为changelog,如下所示:

mypackage (version-revision) unstable; urgency=low

  * Changelog messages

 -- Your Name <your@email.com>  Mon, 13 Aug 2012 14:09:01 -0300
 (...)
mypackage(版本修订)不稳定;紧急程度=低
*更改日志消息
--你的名字是2012年8月13日星期一14:09:01-0300
(...)
打包软件(dpkg buildpackage)使用此文件了解包的名称和版本。它还包含诸如mantainer、changelogs等信息。构建并安装包后,该文件将位于以gzip格式压缩的/usr/share/doc/mypackage/changelog.Debian.gz。您可以通过解压缩或使用zcat命令来检查其内容

现在,您遇到的问题是,这个文件一旦压缩,就被视为二进制文件,并且只有添加在debian/source/include二进制文件中的二进制文件才允许包含在源代码包中,源代码包是用dpkg source构建的

为了解决您的问题,您可能需要从源程序包中删除文件changelog.Debian.gz,因为它将被替换为Debian文件夹中的changelog文件。如果您正在“重新打包”某些内容,并且您认为该文件中可能有您想要保留的更新的变更日志信息,那么您应该将其与您在debian/changelog中拥有的信息进行比较

编辑:

*打字错误:删除(非远程)


*一些澄清

你所说的“远程文件changelog.Debian.gz”是什么意思?你是说“删除文件”吗?当这是第一个软件包时,debian/changelog中的更新信息会是什么?您必须自己创建它。devscripts包中的实用工具dch可能会有所帮助。我编辑了我的答案,以澄清我最终的意思。