Инфрастрактура разработки: дистрибутив

Инфраструктура разработки

Часть 1. Дистрибутив

Стандартный путь распространения ПО в мире Дебьян — формирование дистрибутива. Дистрибутив состоит из пакетов и дополнительной информации о содержимом: состав, целевая ОС и т. д. Такой дистрибутив называется репозиторием. Исчерпывающую информацию можно посмотреть на вики проекта.

Краткая информация о структуре репозитория:

  • pool — установочные и пакеты с исходным кодом;
  • dists/$веха:
    • Release — индекс содержимого репозитория с контрольными суммами;
    • InRelease — аналогично Release, с цифровой подписью;
    • Release.gpg — цифровая подпись Release;
    • main/ — ПО с исходными текстами (открытое);
    • non-free/ — закрытое ПО (как правило без исходных текстов);
    • contrib/ — открытое ПО зависящее от пакетов из non-free;

Структура каталогов компонентов main, contrib, non-free:

  • binary-amd64/ — индексы пакетов для архитектуры x8664;
  • binary-…/ — индексы для других архитектур;
  • source/ — индексы для пакетов исходного кода.

Поскольку ОС «Astra Linux Special Edition» поставляется только для аппаратной архитектуры x8664, то индексы будут только для этой архитектуры.

При работе с репозиториями следует учитывать ограничения, накладываемые на версии пакета. В одном репозитории в конкретной вехе может существовать единственная версия любого пакета. На практике это означает, что вы не сможете держать стабильную и тестируемую версию разрабатываемого вами пакета в рамках одной версии продукта.

Обойти это ограничение можно используя несколько вех:

  • product-old/oldstable — предыдущая версия продукта;
  • product/stable — современная стабильная версия продукта;
  • product-dev/testing — разрабатываемая версия продукта.

К достоинствам такого подхода можно отнести более четкий контроль над сторонними зависимостями, включаемыми в дистрибутив вашего продукта. Кроме того, в любой момент времени у вас под рукой полный дистрибутив
который, например, можно передать на тестирование или для демонстрации.

Как можно заметить, такой подход полностью аналогичен практикам формирования дистрибутивов ОС Дебьян, «Astra Linux Special Edition» и аналогичных.

При передаче программного продукта на носителе (CD, DVD, и т. п.) установка производится следующим образом:

  1. Добавляется источник в APT командой apt-cdrom add.
  2. Обновление индексов пакетов aptitude update.
  3. Установка титульного пакета aptitude install <название>.

Подводя итог, можно выделить следующие достоинства формирования дистрибутива ПО на базе репозитория:

  • стандартная практика для данных типов ОС, а следовательно наличие доступного инструментария и руководств;
  • удобная работа с зависимостями, которые необходимо поставлять в составе продукта;
  • соблюдение условий свободных лицензий о необходимости включения исходного кода при распространении;
  • простота инсталляции программного продукта;
  • упрощение внутреннего тестирования.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *