How can I add custom dependencies to Click packages

My Ubuntu touch application requires a package called libqt5network5 to run. (This is installable via APT.)

Once I build the Click Package from Ubuntu SDK and install, it does not check for the libqt5network5 dependency.

I wish to know how to add dependencies to Click packages.


Solution 1:

The click packaging format is completely independent from facilities to do full-system installations or upgrades.Currently, this package should remain compatible with Python 2.7, 3.2, 3.3, and 3.4; Ubuntu 12.04 LTS, Ubuntu 13.10, and Ubuntu 14.04 LTS.If you run from a fresh bzr checkout, please ensure you have the required build dependencies first by running

$ dpkg-checkbuilddeps

Then run:

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

Dependencies
For Ubuntu 14.04, make sure you have the python2.7 and python3.4 packages installed. Unless you upgraded from a previous version of Ubuntu and haven’t removed it yet, you won’t have Python 3.3 and Python 3.2 available. Build them from source if necessary, install them say into /usr/local, and make sure they are on your $PATH. You’ll need tox (Ubuntu package python-tox) installed in order to run the full test suite. You should be able to just say.

$ tox

to run the full suite. Use tox’s -e option to run the tests against a subset of Python versions. You shouldn’t have to install anything manually into the virtual environments that tox creates, but you might have to if you don’t have all the dependencies installed in your system Pythons

You’ll need the mock and python-debian libraries. For Ubuntu 13.10, apt-get install the following packages:

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

Testing
After all of the above is installed, you can run tox to run the test suite against all supported Python versions. The ./run-tests scripts just does an additional check to make sure you’ve got the preload shared library built.To run a specific testcase, use the standard python unittest.

syntax like:

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

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

test coverage If you have python-coverage installed, you can get a Python test coverage report by typing:

$ python-coverage combine 
$ python-coverage report 

This works also for python3-coverage.

To get Vala/C coverage information, install the gcovr and lcov packages and run:

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

which will generate a “coveragereport/index.html” file for you.

The combined coverage information can be obtained via:

$ make coverage.xml