Публикация в community
Как опубликовать пакет и попасть в официальный репозиторий.
На этой странице
После успешной сборки в личном репозитории следующий шаг — публикация в официальном репозитории community для всех пользователей ROSA.
Путь пакета
1. Личный репозиторий (username_personal)
└── Тестирование и доработка
2. Запрос на включение в community
└── Review от мейнтейнеров
3. Репозиторий community
└── Доступен всем пользователям ROSA
Требования к пакету
Перед запросом на включение убедитесь:
Качество сборки
- ✅ Пакет успешно собирается на ABF
- ✅
rpmlintне показывает ошибок (предупреждения допустимы) - ✅ Пакет устанавливается и работает
- ✅ Зависимости корректны
SPEC-файл
- ✅ Лицензия указана правильно (SPDX-идентификатор)
- ✅ URL актуален
- ✅ Summary и Description информативны
- ✅ Changelog ведётся
- ✅ Используются макросы вместо жёстких путей
Юридические аспекты
- ✅ Лицензия позволяет распространение
- ✅ Нет патентных ограничений
- ✅ Нет проприетарных компонентов (для main)
Процесс включения
Шаг 1: Убедиться в качестве
# Последняя проверка
rpmlint mypackage.spec
rpmlint ~/rpmbuild/RPMS/*/*.rpm
# Тестовая установка
sudo dnf install --repofrompath=test,https://abf-downloads.rosalinux.ru/username_personal/repository/ROSA_PLATFORM/x86_64/main/release/ mypackage
# где ROSA_PLATFORM = rosa13.1 (или имя платформы из ABF)
Шаг 2: Написать запрос
Напишите в один из каналов:
Telegram: t.me/rosalinux
Запрос на включение в community:
- Пакет: mypackage
- Версия: 1.0.0
- Описание: Краткое описание программы
- Сборка: https://abf.io/build_lists/12345
- Проект: https://abf.io/username_personal/mypackage
Форум: forum.rosa.ru
Создайте тему в разделе для разработчиков.
Шаг 3: Review
Мейнтейнер проверит:
- Корректность SPEC-файла
- Соответствие стандартам
- Безопасность (нет подозрительного кода)
- Работоспособность
Возможны замечания — исправьте и сообщите.
Шаг 4: Перенос в community
После одобрения мейнтейнер:
- Создаст проект в группе
community - Перенесёт ваши файлы
- Запустит официальную сборку
- Добавит вас как сопровождающего
После включения
Ваши обязанности
Как сопровождающий (maintainer) вы:
- Обновляете пакет при выходе новых версий upstream
- Исправляете баги, о которых сообщают пользователи
- Реагируете на уязвимости безопасности (CVE)
- Отвечаете на вопросы по пакету
Рабочий процесс
# Клонировать проект из community
git clone git@abf.io:community/mypackage.git
cd mypackage
# Обновить версию
# ... редактирование SPEC, обновление исходников ...
git add .
git commit -m "Update to 1.1.0"
git push
# Запустить сборку на ABF
Если не можете сопровождать
Если у вас нет времени на поддержку:
- Сообщите в сообщество
- Найдите нового мейнтейнера
- Или пакет будет помечен как «orphaned» (брошенный)
Репозитории community
Пакеты community доступны пользователям через:
# Установить пакет community-repos
sudo dnf install community-repos
# Или добавить вручную
sudo tee /etc/yum.repos.d/rosa-community.repo << 'EOF'
[community-release]
name=ROSA Community Release
# замените ROSA_PLATFORM на имя платформы из ABF (например, rosa13.1)
baseurl=https://abf-downloads.rosalinux.ru/community/repository/ROSA_PLATFORM/$basearch/main/release/
enabled=1
gpgcheck=1
# gpgkey=... (используйте ключи, которые устанавливает community-repos)
EOF
# Обновить кеш
sudo dnf makecache
Уровни репозиториев
| Репозиторий | Кто может публиковать | Для чего |
|---|---|---|
username_personal | Вы | Разработка, тестирование |
community | Одобренные мейнтейнеры | Пакеты от сообщества |
import (main) | Команда ROSA | Основные пакеты дистрибутива |
Подписание пакетов
Пакеты в официальных репозиториях подписаны GPG:
# Проверка подписи
rpm -K mypackage.rpm
# mypackage.rpm: digests signatures OK
В личном репозитории пакеты не подписаны.
Checklist перед запросом
- Пакет успешно собирается на ABF
- Протестирована установка и запуск
- rpmlint не показывает ошибок
- Лицензия указана корректно (SPDX)
- Changelog содержит записи
- Готов поддерживать пакет
Проверьте понимание
- Какие требования к пакету для включения в community?
- Куда написать запрос на включение?
- Что проверяет мейнтейнер при review?
- Какие обязанности у сопровождающего пакета?
- Как пользователи подключают репозиторий community?
Следующий модуль: Продвинутые техники