无法在启动板上构建

无法在启动板上构建

我已成功将我的应用程序上传到 launchpad:但是它无法在 i386 和 amd64 上构建。以下是链接: https://launchpad.net/~mkamenjak/+archive/ubuntu/bugappppa/+packages

以下是来自启动板的构建日志: https://launchpadlibrarian.net/190190054/buildlog_ubuntu-utopic-amd64.bugapp_1-2ubuntu2_FAILEDTOBUILD.txt.gz

以下是我的 debian/control 文件的内容:

    Source: bugapp
    Section: web
    Priority: optional
    Maintainer: Mario Kamenjak <[email protected]>
    Build-Depends: debhelper (>= 9)
    Standards-Version: 3.9.5
    Homepage: <insert the upstream URL, if relevant>

    Package: bugapp
    Architecture: any
    Depends: ${shlibs:Depends}, ${misc:Depends}
    Description: A webapp for bug.hr
     <insert long description, indented with spaces>

以下是我的 debian/rules 文件的内容:

    #!/usr/bin/make -f
    %:
        dh $@

为什么它无法构建以及我究竟该如何修复它?

笔记:我之前从未打包过任何东西。没有任何 .deb 或 .rpm 打包经验。

答案1

pbuildDobey 的回答是,使用或来跟踪依赖关系更加容易/快捷sbuild。检查简易建造

然而如果你有小工具需要打包并且连接带宽较低,我自己更喜欢直接在启动板上构建,因为我没有准备好chroot环境设置,有时需要在低资源机器上工作。

来自构建日志:

   dh_auto_test -a
make[1]: Entering directory '/build/buildd/bugapp-1'
qmltestrunner -input tests/unit
make[1]: qmltestrunner: Command not found
Makefile:18: recipe for target 'check' failed
make[1]: *** [check] Error 127
make[1]: Leaving directory '/build/buildd/bugapp-1'
dh_auto_test: make -j1 check returned exit code 2

很显然,您需要qmltestrunner构建工具,请检查它的包:

$ dpkg -S qmltestrunner
qtdeclarative5-dev-tools: /usr/lib/x86_64-linux-gnu/qt5/bin/qmltestrunner
qtchooser: /usr/bin/qmltestrunner
  1. 因此添加它们来构建依赖关系。

     Build-Depends: debhelper (>= 9), qtdeclarative5-dev-tools, qtchooser
    
  2. 然后再次上传。

更新:

pbuild我很久以前就用过,现在又开始寻找新东西了。我认为cowbuilder 是最简单的可用工具。

  1. 安装它。

     sudo apt-get install cowbuilder
    
  2. 编辑pbuildrc配置

     # this is your configuration file for pbuilder.
     # the file in /usr/share/pbuilder/pbuilderrc is the default template.
     # /etc/pbuilderrc is the one meant for overwriting defaults in
     # the default template
     #
     # read pbuilderrc.5 document for notes on specific options.
     MIRRORSITE=archive.ubuntu.com/ubuntu
    
     COMPONENTS="main universe"
    

    两个已知问题:

    • MIRRORSITE=archive.canonical.com/ubuntu将不起作用。(在 trusty 中看到,在 wily 中没有这样的问题)
    • COMPONENTS="main universe",默认main仅是,universe需要cowdancer
  3. 创建牛图像

     sudo cowbuilder --create
    
  4. 构建你的 Debian 源码包

     sudo cowbuilder --build yourpackage.dsc
    
  5. 在以下位置查找构建的软件包:

     /var/cache/pbuilder/result/
    

参考:

Debian 维基:cowbuilderpbuilder包装纸)
LP Bug#747053:cowbuilder 需要在 pbuilderrc 中启用 universe

答案2

您缺少构建应用程序所需的依赖项,构建依赖部分debian/控制文件。

另外,你应该使用构建或者构建器在将包上传到 Launchpad 上的 PPA 之前,测试包的本地构建,以确保包可以构建。

相关内容