使用 bzr 制作 deb:QApplication 依赖项

使用 bzr 制作 deb:QApplication 依赖项

我正在尝试按照以下说明打包 Qt 5.x 应用程序https://packaging.ubuntu.com/html/packaging-new-software.html
我的 Build-Dependsdebian/control文件如下:
debhelper-compat (= 13), libqt5widgets5 (>=5.4), libqt5xml5 (>=5.4), libqt5gui5 (>=5.4), libqt5core5a (>=5.4), libtiff5 (>=4.0.3), libjpeg8 (>=8c), libgcc1 (>=1.3.0), libc6 (>=2.14), libpng16-16 (>=1.6.2-1), libstdc++6 (>=5.2)
我正在使用bzr builddeb -- -us -uc

不幸的是,构建过程失败了,因为它尝试在二进制编译后启动测试用例,但其中一个崩溃了。测试用例使用QPainter需要一个实例才能QApplication工作。而且应用程序似乎在创建时崩溃了QApplication。输出是:

qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-org.kde.kwin.qpa, dxcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

所以我的猜测是 bzr 试图在基于我的 Build-Depends 列表创建的干净环境中运行该应用程序。而这个列表缺少 所需的某些内容qt5/plugins/platforms/libqxcb.so

问题是:这可能是什么,如何追踪它?
我可以ldd在我的计算机上执行,但我需要在 bzr 环境中执行它。

这是构建日志https://pastebin.com/BVbZVwr6我删掉了中间的编译过程以适应粘贴大小限制。但编译没有问题,只是 make test 失败了。测试代码如下:https://cutt.ly/BgYQITO

答案1

构建环境是最低清洁环境,没有显示服务器(X11、Wayland)。Qt 似乎无法检测到显示服务器。

我怀疑那些图像测试启动了一些需要某些桌面功能的工具。

因为这是初次尝试打包。

  • 使用以下方式启用打包调试:在文件export DH_VERBOSE=1顶部。debian/rules
  • 覆盖 DebHelper 测试步骤以跳过它,直到您获得一些结果,然后再修复它。使用空的override_dh_auto_test:

参考:https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#rules

如果成功,请先尝试启用不需要服务器的测试。对于使用显示服务器的完整测试,老实说,我缺乏经验,我以前没有遇到过这种情况。要么所有软件包都禁用它,要么有一个我没有注意到的解决方案。

相关内容