过去几天,我一直在尝试为一个带有Qt界面的程序创建一个deb软件包,但是没有成功。到目前为止,我已经完成了以下几个步骤:
- 创建了一个gpg密钥并在Launchpad上注册;
- 在
~/.bashrc
中使用DEBEMAIL
和DEBFULLNAME
变量进行身份验证; - 从GitHub上检出了源代码;
- 成功构建了该程序(它使用
qmake
生成一个Makefile
),并确定了所有依赖项; - 创建了一个包含
Makefile
、一个.desktop
文件和一个.xpm
图标的源文件夹。 - 从这个文件夹创建了一个名为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脚本)。我怀疑它们对于具有精心设计的图形用户界面的真正程序来说过于简单。在这种情况下,从dh_make
开始的确切步骤是什么?
更新 I: 我在 PasteBin 上发布了一个匿名版本的完整的 debuild
输出。
更新 II: 现在有了DH_VERBOSE=1
的debuild 输出。
export DH_VERBOSE=1
或者在debian/rules
文件中添加,然后再次尝试。构建在dh_auto_configure
步骤失败,它确切地尝试运行qmake -makefile -nocache ...
。您也可以直接运行该命令以查看是否会出现错误。 - user.dzqmake
只是打印帮助页面并退出而没有执行(在命令行中也是一样)。如果已经存在一个Makefile
,为什么要再次运行qmake
呢? - Luís de Sousaqmake
失败的原因很明显:在那个冗长的命令中没有给出.pro
文件。 - Luís de SousaCMake
,您可以尝试使用dh
和CMake
代替cdbs
吗? - Viet