我的 Ubuntu touch 应用程序需要一个名为的包libqt5network5
来运行。(可以通过 APT 安装。)
一旦我从 Ubuntu SDK 构建 Click Package 并安装,它就不会检查libqt5network5
依赖项。
我希望知道如何向 Click 包添加依赖项。
答案1
单击打包格式完全独立于执行全系统安装或升级的工具。目前,此包应与 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 创建的虚拟环境中,但如果您的系统 Pythons 中没有安装所有依赖项,则可能需要这样做
您需要 mock 和 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