
Ubuntu finally thought about updating the format of working with the assembly of applications and their installation
. The implementation of this project should simplify the fate of developers who want to add their products to ubuntu. First of all, the innovation should relate to the OS versions for tablets / smartphones, but later can be applied, anywhere, even to non-untuced distros and even non-Linux axes.
Already existing packages will not be modified and will continue to use dpkg and apt and will remain compatible with Debian, etc.
')
"Click packages" (original. Click packages) are aimed at simplifying package building: without dependencies between applications, without building instructions (maintainer script) and each application will be installed in its own folder.
The new package format requires a new installer, there is already the concept of a low-level application installer, completely written from scratch. The main features implemented to date:
- no need for dependencies between packages
- one small dependency on the basic installation system (click-base system)
- installation of the application in a separate directory
- full declarative, assembly instructions (maintainer script) are prohibited
- accelerated installation time, for example, installing a package containing one small file, approximately 0.15 seconds (on a new x86 computer) and approximately 0.6 on Nexus 7. And this is despite the fact that the prototype is implemented on Python, and later the installer will transfer on C, which should speed up the installation a little more.
- there are no restrictions on installations only from under the root, although such restrictions can be implemented somewhere else to make sure that applications cannot edit their own code during their work
- packages are created using the Python builder, simply by specifying the directory tree and the manifest.json file
- package building requires only the standard python library, this is done in order to simplify the assembly on non-Ubuntu distros and non linkus axes
- the format of the binaries is quite similar to the already existing ones in order to add support for high-level tools with minimal effort
Developers, as an option, considered the use of existing similar solutions, such as
Listaller and
0install . But Listaller requires dependencies, and 0installer, as it turned out, is rather difficult to integrate into the system. Therefore, it was decided to implement this project from scratch.
More information in the
UDML mailing
list