23 апреля 2026 № 1 (2026)

ROSARIUM

газета советского программного инженера

Проверка результатов

На этой странице

Проверка rpmlint

rpmlint ~/rpmbuild/RPMS/x86_64/gamemode-*.rpm

Для такого пакета одной локальной проверки особенно мало: здесь есть systemd, D-Bus, подпакеты библиотек и пользовательский сервис. Чистая пересборка помогает поймать недостающие зависимости и проблемы упаковки до публикации.

Проверка содержимого пакетов

Убедитесь, что файлы попали в правильные подпакеты:

# Основной пакет — демон, CLI, systemd, D-Bus
rpm -qpl ~/rpmbuild/RPMS/x86_64/gamemode-1.8.2-1.*.x86_64.rpm

# Библиотеки — только .so с версиями
rpm -qpl ~/rpmbuild/RPMS/x86_64/gamemode-libs-1.8.2-1.*.x86_64.rpm

# Для разработчиков — заголовки, симлинки, pkgconfig
rpm -qpl ~/rpmbuild/RPMS/x86_64/gamemode-devel-1.8.2-1.*.x86_64.rpm

Проверка зависимостей

rpm -qpR ~/rpmbuild/RPMS/x86_64/gamemode-1.8.2-1.*.x86_64.rpm | head -15

В зависимостях должна быть gamemode-libs — RPM генерирует это автоматически, потому что бинарники линкуются с libgamemode.so.

Тестовая установка

sudo dnf install ~/rpmbuild/RPMS/x86_64/gamemode-*.rpm

# Проверить, что юнит доступен
systemctl --user status gamemoded.service

# Проверить, что бинарник работает
gamemoderun echo "GameMode works"

Проверка в чистой среде

rpmbuild -bs ~/rpmbuild/SPECS/gamemode.spec
mock -r <профиль_из_/etc/mock> --rebuild ~/rpmbuild/SRPMS/gamemode-*.src.rpm

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