Преимущества Linux для разработчиков и особенности использования ALT
план большого доклада
«Линейная» разработка
- Linux - Весь спектр средств разработки: - промышленные: Eclipse, Netbeans, Emacs
- специализированные: QTDesigner, разнообразные средние и малые IDE
- полный цикл разработки / тестирования в командной строке (например, удалённо на хост платформе)
 
- Многообразие инструментариев (библиотек)
- Отсутствие разноверсицы в пределах платформы (для разрабатываемого продукта)
- Свободный выбор полнофункциональных (а не демо) инструментов и библиотек
- стандартный формат распространения в рамках линейки платформ (пакет)
 
- Весь спектр средств разработки: 
- ALT - Дисциплина оформления и использования библиотек
- Собственный каталог инструментов просто оформить в виде стандартного репозитория
- Повышенный контроль качества кода при компиляции
 
Пакетирование
- Linux - Стандартный способ оформления процедуры сборки (spec)
- Стандартный способ оформления процедуры установки (spec)
- Стандартный способ контроля зависимостей - Сборочных
- Установочных
 
 
- ALT - Значительно упрощённый spec по сравнению с Fedora/RH (за счёт умолчаний)
- Совместимость с FC по сборке (автоматизированная, см. http://www.altlinux.org/Autoimports) 
- Бинарная совместимость с FC (возможно, после реорганизации пакета с помощью rpmrebuild) 
- Автоматический поиск установочных зависимостей и предоставляемых символов - в том числе контроль предоставляемых символов с помощью set_version 
 
 
Репозитории
- Linux - Отсутствие разноверсицы в пределах платформы (для всего хранилища)
- Универсальный способ сравнения, выбора и доставки пакетов с помощью пакетного диспетчера
- Универсальный способ множественного обновления / установки / удаления пакетов с помощью пакетного диспетчера
- Электронная подпись пакетов в рамках хранилища
 
- ALT - Пакетный диспетчер APT
- Изолированная сборка с помощью hasher - «Чистая» воспроизводимая сборка в произвольном внешнем окружении 
- Внешнее окружение ≠ сборочному окружению
- Полуавтоматический поиск сборочных зависимостей с помощью buildreq 
- Тесты на правильность оформления пакета, бинарных файлов, библиотек и др. с помощью sisyphus_check (изолированная версия) - в т. ч. тесты на отсутствие неизвестных символов
 
- Результат сборки представляет собой репозиторий ( ⇒ простое создание индивидуального репозитория)
 
 
Инфраструктура разработки
- Linux: специфична для различных сообществ - Сборочные и информационные ресурсы сообщества
- Общий репозиторий, достаточный для формирования дистрибутивов
- Лицензионная чистота (в различной степени)
 
- ALT - Проверка цельности в рамках хранилища: - запрет неудовлетворённых зависимостей собираемых пакетов
- запрет увеличения множества непредоставляемых символов
- установочный и иные тесты совместимости пакета с хранилищем
 
- «Сборочница» (girar) - Атомарная сброка нескольких пакетов в рамках одной транзакции (не должна нарушать цельность репозитория)
- CLI по управлению сборочными транзакциям (запуск, удаление, редактирование списка пакетов и т. п.)
- ACL на право сборки для различных пользователей
- Автоматическая изолированная сборка без ручного вмешательства
 
- ⇒ Перманентная цельность репозитория  - ⇒ «Rolling release» (получается сам собой)
 
- DVCS-хостинг (git), интегрированный в сборочный ресурс - CLI с помощью girar 
- + полная история успешных сборок
 
- Воспроизводимая технология ( ⇒ полный «корпоративный репозиторий») 
 
Сопровождение
- Linux (варианты рабочего процесса специфисны для сообщества) - Эшелонирование репозиториев по уровню цельности
- «Ветвление» и «замораживание» репозиториев (только обновления по безопасности)
- Создание дистрибутивов на базе репозитория
 
- ALT - Полный контроль над ЖЦ программного продукта: - история исходного проекта
- история модификаций в рамках хранилища
- воспроизводимая сборка
 
- Полный контроль над ЖЦ хранилища: - обновление исходников - сборка - тестирование - пополнение
 
- Полный контроль над ЖЦ дистрибутива (программной части АС): - ответвление целевого хранилища и дисциплина его последующей модификации
- возможность изолированного целевого хранилища
- ⇒ возможность сертификации / аттестации, в т. ч с итеративной доработкой 
 
 
- Полный контроль над ЖЦ программного продукта: 
