For standard deb packages we can use reprepro. Is there any custom repository related solution for "click" packages?
Ubuntu – Custom repository for “click” packages
click-packagespackage-managementubuntu-sdk
Related Solutions
As far as I understand, mini-dinstall requires debian .changes files when adding packages. As I only had .deb files available I found that aptly supports multiple versions as well.
Another more light-weight option is freight which is a set of shell scripts for maintaining a debian repository. I have now (2017) been using freight for three years to maintain a small but actively updated repository, with good results. One key feature was the ability to keep multiple versions of a package.
Edit: Updated link to new freight repo as the previous had not been updated since 2014.
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
Best Answer
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:The
<app.name>.json
file is the security profile for your app and looks like this:To build your package, you can either use the Ubuntu SDK or by running
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.