如何将自定义依赖项添加到Click程序包


17

我的Ubuntu touch应用程序需要一个名为的程序包libqt5network5来运行。(可通过APT安装。)

从Ubuntu SDK构建Click Package并安装后,它不会检查libqt5network5依赖关系。

我想知道如何向Click程序包添加依赖项。

Answers:


1

click打包格式完全独立于设施来进行全系统安装或升级。当前,该打包程序应与Python 2.7、3.2、3.3和3.4保持兼容;Ubuntu 12.04 LTS,Ubuntu 13.10和Ubuntu 14.04 LTS。如果您是通过全新的bzr签出运行的,请确保首先运行所需的构建依赖项

$ dpkg-checkbuilddeps

然后运行:

    $ ./autogen.sh
    $ ./configure --prefix=/usr \
        --sysconfdir=/etc \
        --with-systemdsystemunitdir=/lib/systemd/system \
        --with-systemduserunitdir=/usr/lib/systemd/user
    $ make
    to build the project.

依赖关系
对于Ubuntu 14.04,请确保已安装python2.7和python3.4软件包。除非您从Ubuntu的早期版本升级并且尚未删除它,否则您将无法使用Python 3.3和Python 3.2。如有必要,请从源代码中构建它们,将它们安装到/usr/local中并确保它们位于您的上$PATH。您需要安装tox(Ubuntu软件包python-tox)才能运行完整的测试套件。您应该可以说。

$ tox

运行完整套件。使用tox的-e选项可对部分Python版本运行测试。您不必手动将任何东西安装到tox创建的虚拟环境中,但是如果您没有在系统Python中安装所有依赖项,则可能必须安装任何东西。

您将需要模拟和python-debian库。对于Ubuntu 13.10,apt-get安装以下软件包:

  • python-mock
  • python-debian
  • python3-debian

测试
安装上述所有工具之后,您可以运行tox以针对所有受支持的Python版本运行测试套件。这些./run-tests脚本只是做了额外的检查,以确保您已经构建了预加载共享库。要运行特定的测试用例,请使用标准的python unittest。

语法如下:

$ python3 -m unittest click.tests.test_install
or:

$ python2 -m unittest click.tests.test_build.TestClickBuilder.test_build

测试覆盖率如果安装了python-coverage,则可以通过输入以下内容获取Python测试覆盖率报告:

$ python-coverage combine 
$ python-coverage report 

这也适用于python3-coverage。

要获取Vala / C的覆盖范围信息,请安装gcovr和lcov软件包并运行:

$ ./configure –enable-gcov 
$ make coverage-html 

它将为您生成一个“ coveragereport / index.html”文件。

可以通过以下方式获取合并的覆盖范围信息:

$ make coverage.xml
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.