Pull to refresh

В убунту может появиться новый упрощенный формат сборки пакетов и новый установщик

Reading time2 min
Views26K
image

В убунту наконец-то задумались об обновлении формата работы со сборкой приложений и их установки. Реализация этого проекта должна упростить участь разработчиков желающих добавить свои продукты в убунту. В первую очередь нововведение должно коснуться версий ОС для планшетов/смартфонов, но в последствии может быть применено, где угодно, вплоть до не убунтушных дистрах и даже не линуксовых осях.

Уже существующие пакеты не будут изменены и будут продолжать использовать dpkg и apt и сохранят совместимость с Debian и пр.

«Клик-пакеты» (ориг. Click packages) нацелены на упрощение сборки пакетов: без зависимостей между приложениями, без сборочных инструкций (maintainer script) и каждое приложение будет устанавливаться в свою собственную папку.

Новый формат пакетов требует нового установщика, уже есть концепт низкоуровневого установщика приложений, полностью написанного с нуля. Основные возможности реализованные к данному моменту:
— нет необходимости в зависимостях между пакетами
— одна небольшая зависимость от основный системы установки (клик-бэйз-системы)
— установка приложения в отдельную директорию
— полная декларативность, сборочные инструкций (maintainer script) запрещены
— ускоренное время установки, например установка пакета содержащего один маленький файл, примерно, 0,15 секунды (на новом х86 компе) и примерно 0,6 на Nexus 7. И это при том, что прототип реализован на Питоне, а в последствии установщик перенесут на С, что должно будет еще немного ускорить установку.
— нет ограничений на установки только из под рута, хотя могут быть реализованны подобные ограничение где-нибудь еще для уверенности что приложения не смогут редактировать свой собственный код во время их работы
— пакеты создаются при помощи питонового сборщика, просто указав древо каталогов и manifest.json файла
— сборка пакетов требует только стандартной библиотеки питона, так сделано с целью упростить сборку на не убунтушных дистрах и не линкусовых осях
— формат бинарников достаточно схож с уже существующим для того чтоб была добавлена поддержка высокоуровневых инструментов с минимальнми усилиями

Разработчики, как вариант, рассматривали использование уже имеющихся подобных решений, таких как Listaller и 0install. Но Listaller требует зависимостей, а 0installer как оказалось довольно сложено интегрировать в систему. Поэтому было решено реализовать данный проект с нуля.
Больше информации в рассылке UDML
Tags:
Hubs:
Total votes 65: ↑48 and ↓17+31
Comments177

Articles