【问题标题】:What is changelog.Debian.gz file during debian packaging?什么是 debian 打包过程中的 changelog.Debian.gz 文件?
【发布时间】:2013-08-28 22:09:48
【问题描述】:

打包时遇到以下错误

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 创建的,为什么又要求将它包含在其他目录中?

【问题讨论】:

    标签: c++ ubuntu debian packaging


    【解决方案1】:

    在 debian 中打包时,在您的项目目录中有一个名为 debian 的目录,我们在其中保存有关如何打包软件的说明以及与其他软件包的关系等文件。我们可以称它为你的包控制文件。其中有一个叫changelog,长这样:

    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.

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

    编辑:

    *错字:删除(非远程)

    *一些说明

    【讨论】:

    • “远程文件changelog.Debian.gz”是什么意思?你的意思是“删除文件”吗?当这是第一个软件包时,debian/changelog 中的更新信息会是什么?
    • 您必须自己创建。 devscripts 包中的实用程序 dch 可能会有所帮助。我已经编辑了我的答案,以澄清我最后的意思。
    猜你喜欢
    • 1970-01-01
    • 2023-01-31
    • 2014-09-07
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 2018-09-09
    相关资源
    最近更新 更多