Краткое руководство для начинающих мейнтейнеров

Материал из Mandriva Russian Community Wiki

Перейти к: навигация, поиск

Содержание

Краткое руководство для начинающих мейнтейнеров

Итак, вы решили стать мейнтейнером Mandriva, выполнили шаги, описанные на странице en:Development/Resources/Account#Applying, нашли ментора, убедились в работоспособности учётной записи @mandriva.org, подписались на список рассылки мейнтейнеров, обновили регистрационную информацию в учётных записях для my.mandriva.com и bugzilla, и жаждете начать работы. Сначала необходимо понять, как работает сборочная система Mandriva, и какие требования предъявляются ко всем мейнтейнерам.

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

Если вы согласны принять условия политики и хотите начать сопровождать пакеты в репозитории Mandriva, прочтите это краткое руководство.

Как собирать и работать с пакетами

Основные шаги описаны на странице Development/Packaging/RepositorySystem/Quickstart. Поэкспериментируйте с утилитами repsys и mdvsys, и приложениями bm и rpmbuild. Попробоуйте извлечь пакет из репозитория и собрать его локально.

Те, кто не знаком с RPM, необходимо прочитать en:Development/Howto/RPM.

Посмотрите, как располагаются файлы пакеты внутри репозитория, как repsys/mdvsys извлекает их. Заметьте, что в репозитории хранятся только файлы SPECS/ и SOURCES/. Бинарные rpm-файлы и rpm с исходниками (srpm) создаются сборочной системой автоматически, поэтому нет необходимости включать бинарные файлы в пакет.

Внимательно прочтите политики Mandriva. В обязательно порядке необходимо ознакомиться со страницами Post-Release Support, Bug policy, and all of the Packaging policies.

Ознакомьтесь самостоятельно с приложением rpmlint. Это поможет в предотвратить ситуации, когда сборочная система отклоняет ваши пакеты, а также позволит стандартизовать спек-файлы и файлы распространённых форматов, использующихся в пакетах Mandriva.

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

Данный список ссылок полезно использовать в качестве закладок, поскольку в будущем вы часто будете обращаться к этим страницам:

И конечно же, в случае возникновения каких-либо вопросов, не стесняйтесь спрашивать ментора. Для этого он и существует!

Краткое руководство по repsys

Краткое руководство по repsys для мейнтейнеров:

  • repsys co <название_пакета>
    • Извлечь пакет из репозитория
  • cd <название_пакета>
    • Все пакеты, которые относятся к сборке пакета должны находиться в этом каталоге. Посмотрите, какие каталоги лежат внутри. Спек-файлы должны находиться в каталоге SPECS, а все исходники - в каталоге SOURCES. Каталог BUILD используется для сборки пакета; BUILDROOT - временный каталог, в котором происходит установка пакета перед тем, как он будет преобразован в rpm-файлы.
  • Соберите пакет с помощью команды bm. Посмотрите, что делают команды bm -l, bm -pl и bm -ls.
  • Запустите rpmlint для вашего спек-файла и внимательно посмотрите на все ошибки и предупреждения, которые он выдаст.
  • Установите и проверьте свой пакет на локальной машине. Таким образом вы сможете наиболее быстро устранить возможные поломки в пакете.
    • urpmi --test packages/to/install позволит быстро проверить наличие ошибок без необходимости реальной установки.
  • Если всё готово, зафиксируйте изменения в репозитории (commit) svn commit. Убедитесь, что вы увеличили число %mkrel, если это новый релиз. При сборке обновления для стабильного дистрибутива используйте %subrel (подробнее см. en:/Policies/Support).
  • Чтобы быстро синхронизировать изменения с репозиторием, воспользуйтесь командой repsys sync. Эту команду также можно использовать для автоматической загрузки отсутствующих файлов и обновлений пакетов до последних версий.
  • После выполнения всех проверок, фиксаций изменений и прочих процедур отправьте пакет в сборочную систему с помощью команды repsys submit. Для первых ваших релизов ваш ментор запустит repsys submit за вас и проверит ваши пакеты. Когда навык сбоки пакетов улучшится, вам могут быть предоставлены права самостоятельно отправлять пакеты в сборочную систему.

Краткое руководство по mdvsys

(TODO)

Распространённые проблемы и их решения

  • Если вы хотите автоматически пересобирать пакеты в локальном окружении chroot, похоже на то, что используется сборочной системой, установите пакет iurt. Пакет может требовать локального зеркала репозиториев Mandriva или быстрой системы для загрузки и установки пакетов.
    • (TODO: write some tutorial on how to use iurt)