Click packages are the new packaging format used in Ubuntu Touch, and by Ubuntu 14.10, on the desktop version of Ubuntu as well.
Some of the features they provide are:
Simplified packaging for the developer. The Ubuntu SDK can automatically create Click packages of your Ubuntu Touch apps. If you want to create your own, the format is very simple, consisting of two files, manifest.json
and <app-name>.json
.
The manifiest.json
file is the actual package definition and looks like this:
{
"description": "Your tasks, every device, everywhere. Create and synchronize tasks using Ubuntu One, and connect to your boards in Trello.",
"framework": "ubuntu-sdk-13.10",
"hooks": {
"ubuntu-tasks": {
"apparmor": "ubuntu-tasks.json",
"desktop": "ubuntu-tasks.desktop"
}
},
"maintainer": "John Doe <john.doe@gmail.com>",
"name": "com.ubuntu.developer.johndoe.ubuntu-tasks",
"title": "Ubuntu Tasks",
"version": "0.5"
}
The <app.name>.json
file is the security profile for your app and looks like this:
{
"policy_groups": [
"networking"
],
"policy_version": 1
}
To build your package, you can either use the Ubuntu SDK or by running
click build
The ability to run under confinement. What this means is that the app is prevented from doing bad things. It can only access its own private directory and access features that the user allows the app to use. This means that Click packages are very safe and the review process for publishing them is much simpler.
Once you've packaged your app, you can submit your application to the Click App Store. The review process is very simple and will be completed usually within a few hours. Once reviewed, your app will be available for installation from any device running Ubuntu Touch.
Would they make Debian packaging easier?
Yes and no. Debian packaging is completely different. However, if your app is made with the Ubuntu SDK, you don't need to use Debian packaging and can instead use Click packaging, which is much easier to use and much safer for the end user.
Best Answer
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
Then run:
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.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
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: