如何为Qt程序创建.deb包?

路易斯·德·索萨(Luísde Sousa)

过去几天,我一直在尝试为具有Qt接口的程序创建deb软件包,但没有成功。到目前为止,我已经完成了之前的步骤:

  1. 创建了一个gpg密钥并在Launchpad上注册了它;
  2. 通过中的DEBEMAILDEBFULLNAME变量确定了自己~/.bashrc
  3. 从GitHub签出了源代码;
  4. 成功构建了程序(qmake用于生成Makefile),标识了其所有依赖项;
  5. 创建了一个包含的源文件夹Makefile,以及一个.desktop文件和一个.xpm图标。
  6. 从这个名为packagename-version.tar.gz的文件夹创建一个tarball

通过这项准备工作,我尝试遵循两个不同的指南:

  • 官方的Ubuntu打包指南-成功结束,但最终.deb文件仅包含该doc文件夹。

  • 来自xpressrazor的更详细的指南-运行时失败debuild,带有以下神秘消息:

    make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 debuild: fatal error at line 1364: dpkg-buildpackage -rfakeroot -D -us -uc failed

这些和其他指南总是提供简单的示例,其中要打包的程序由单个源文件组成(有时只是bash脚本)。我怀疑它们对于带有精心设计的GUI的适当程序而言过于简单。在这种情况下,从头dh_make开始的确切步骤是什么?

更新I:我向PasteBin发布了完整debuild输出的匿名版本

更新II分解输出,现在带有DH_VERBOSE=1

路易斯·德·索萨(Luísde Sousa)

碰巧的是dh不可能以大多数指南和教程中介绍的传统方式打包Qt程序。更具体地说,rules必须告知文件必须使用哪些片段以将它们包含在final中Makefile

实现此目的的一种方法是使用cdbs软件包:

sudo apt-get install cdbs

然后,rules必须编辑文件以包含此程序包中的片段:

#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/qmake.mk

这些应该是rules文件中的唯一内容,任何直接引用都dh必须删除或注释掉。

这时,debuild应该可以运行了,它可以像这样运行:

debuild -S

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章