ELN Extras

ELN-Extras по сути является расширением Fedora ELN, главное отличие заключается в том, что содержимое ELN-Extras будет определяться сообществом Fedora/EPEL, тогда как содержимое ELN в значительной степени определяется руководством Red Hat. Это даст пользователям возможность убедиться, что их приложения будут работать в предстоящих выпусках RHEL, а также обеспечит механизм начальной загрузки для EPEL. Гораздо проще и быстрее выпустить сборку EPEL N+1, если начальные пакеты уже собраны для ELN-Extras.

Вы несёте ответственность, когда ваш пакет не собирается в ELN Extras. Не забывайте проверять свои пакеты на странице состояния пересборки ELN. Пакеты ELN Extras пересобираются гораздо чаще, чем в EPEL.

Как добавить пакет в ELN Extras

Добавление пакетов в ELN Extras — то же самое, что добавление их в ELN. Единственное отличие в том, что любой упаковщик Fedora может добавлять пакеты в ELN Extras, тогда как добавлять пакеты в ELN может лишь горстка людей.

Вы добавляете бинарные пакеты, создавая и отправляя рабочие нагрузки для Content Resolver. Вы отправляете их как пул-реквесты в content resolver input. Рабочие нагрузки размещаются в каталоге config.

После слияния рабочих нагрузок Content Resolver проходит по всем зависимостям рабочей нагрузки, вычитает те пакеты, которые уже есть в ELN, и отображает это в своём представлении ELN Extras.

После того как Content Resolver выполнит свою работу, процесс сборки ELN берёт этот список и добавляет его в список сборки ELN Extras.

Рабочие нагрузки

Полная документация о том, что входит в файл рабочей нагрузки yaml, содержится в комментариях в примере файла рабочей нагрузки yaml.

Чтобы создать свой первоначальный файл рабочей нагрузки yaml, возьмите тот пример файла yaml, переименуйте его, отредактируйте и затем отправьте как пул-реквест.

В примере рабочей нагрузки yaml есть пример для всего. Но для ELN Extras нам нужно не всё.

Обязательные разделы рабочей нагрузки

  • document: feedback-pipeline-workload

    • Именно эта строка, не изменяйте её

  • version: 1

    • Именно эта строка, не изменяйте её

  • name: <имя рабочей нагрузки>

    • Держите это коротким, пробелы разрешены

  • description: <описание рабочей нагрузки>

    • Более длинное описание, но должно быть в одной строке

  • maintainer: <FAS и/или идентификатор Github>

    • Кто будет сопровождающим пакетов в этой рабочей нагрузке для ELN и EPEL.

    • Не указывайте чужое имя в качестве сопровождающего без его разрешения.

  • labels: eln-extras

    • Хотя можно перечислить несколько меток, для eln-extras указывайте только одну

  • packages:

    • Список бинарных пакетов в рабочей группе

    • НЕ УКАЗЫВАЙТЕ ИМЕНА ИСХОДНЫХ ПАКЕТОВ В СПИСКЕ ПАКЕТОВ.

    • ПЕРЕЧИСЛИТЕ ВСЕ НУЖНЫЕ ВАМ БИНАРНЫЕ ПАКЕТЫ.

    • Если вы указываете пакет в необязательном списке пакетов для конкретной архитектуры, не указывайте его здесь.

Необязательные разделы рабочей нагрузки

  • arch_packages:

    • Если у вас есть пакет, который собирается не на всех архитектурах, вам нужно указать его на всех архитектурах, на которых он собирается.

    • Все пакеты noarch идут в обычный раздел package:.

  • options:

    • Если вам нужно использовать параметры, вы можете это сделать.

Неиспользуемые разделы рабочей нагрузки

  • modules_disable:

    • В ELN Extras у нас нет модулей

  • groups:

    • В ELN Extras у нас нет групп

  • package_placeholders:

    • Мы не обрабатываем package_placeholders в ELN Extras

Пакеты только для ELN

Пакеты только для ELN также можно добавлять в ELN Extras. Один из примеров — пакеты -epel, которые часто используются для предоставления подпакетов, исключённых из поставки или иным образом исключённых в RHEL. Эти пакеты можно добавлять в ELN Extras со следующими дополнительными оговорками:

  • аналогично обычным пакетам -epel, пакет должен создавать только нужные подпакеты и ничего больше

  • пакет нужно вручную собрать для ELN из ветви «eln» в dist-git

  • имя SRPM должно отличаться от соответствующего пакета Rawhide (пример)

  • имя SRPM должно быть добавлено в список configuration.control.exclude в динамической конфигурации ELNBuildSync, чтобы избежать случайных пересборок

  • нужные подпакеты нужно, как обычно, добавить в Content Resolver для ELN Extras (пример)

Часто задаваемые вопросы по ELN Extras

Могу ли я добавить любые или все пакеты Fedora в ELN-Extras?

Вы связываете своё имя как сторонник этих пакетов. Вы будете отправлять эти пакеты рабочих нагрузок в виде пул-реквестов. SIG ELN рассмотрит пул-реквесты и задаст вопросы, если что-то выглядит странно или неверно. Так что да, если вы готовы поддерживать пакет, это может быть любой пакет Fedora, не входящий в ELN. И хотя мы не устанавливаем жёсткого ограничения на число пакетов, которые вы можете добавить в ELN Extras, SIG рассматривает их и не будет сливать запросы, которые кажутся чрезмерными для запрашивающего их человека.

Если кто-то уже добавил пакет в свою рабочую нагрузку, могу ли я включить тот же пакет в свою?

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