В убунту наконец-то задумались об обновлении формата работы со сборкой приложений и их установки. Реализация этого проекта должна упростить участь разработчиков желающих добавить свои продукты в убунту. В первую очередь нововведение должно коснуться версий ОС для планшетов/смартфонов, но в последствии может быть применено, где угодно, вплоть до не убунтушных дистрах и даже не линуксовых осях.
Уже существующие пакеты не будут изменены и будут продолжать использовать dpkg и apt и сохранят совместимость с Debian и пр.
«Клик-пакеты» (ориг. Click packages) нацелены на упрощение сборки пакетов: без зависимостей между приложениями, бес сборочных инструкций (maintainer script) и каждое приложение будет устанавливаться в свою собственную папку.
Новый формат пакетов требует нового установщика, уже есть концепт низкоуровневого установщика приложений, полностью написанного с нуля. Основные возможности реализованные к данному моменту:
— нет необходимости в зависимостях между пакетами
— одна небольшая зависимость от основный системы установки (клик-бэйз-системы)
— установка приложения в отдельную директорию
— полная декларативность, сборочные инструкций (maintainer script) запрещены
— ускоренное время установки, например установка пакета содержащего один маленький файл, примерно, 0,15 секунды (на новом х86 компе) и примерно 0,6 на Nexus 7. И это при том, что прототип реализован на Питоне, а в последствии установщих перенесут ни С, что должно будет еще немного ускорить установку.
— нет ограничений на установки только из под рута, хотя могут быть реализованны подобные ограничение где-нибудь еще для уверенности что приложения не смогут редактировать свой собственный код во время их работы
— пакеты создаются при помощи питонового сборщика, просто указав древо каталогов и manifest.json файла
— сборка пакетов требуеттолько стандартной библиотеки питона, так сделано с целью упростить сборку на не убунтушных дистрах и не линкусовых осях
— формат бинарников достаточно схож с уже существующим для того чтоб была добавлена поддержка высокоуровневых инструментов с минимальнми усилиями
Разработчики, как вариант, рассматривали использование уже имеющихся подобных решений, таких как Listaller и 0install. Но Listaller требует зависимостей, а 0installer как оказалось довольно сложено в интегрировать в систему. Поэтому было решено реализовать данный проект с нуля.
Больше информации в рассылке UDML
ссылка на оригинал статьи http://habrahabr.ru/post/179751/
Добавить комментарий