10. Чек-листы
Раздел руководства по RPM-пакетированию для openSUSE.
Первоначальная упаковка
- Проверен upstream source URL, source archive не является prebuilt binary/wheel/jar-only.
- License указан SPDX-совместимо; license files добавлены через
%license. - Spec называется
%{name}.spec;.changesсоздан черезosc vc. - BuildRequires минимальны и достаточны.
%prepиспользует%autosetup -p1, если нет причины иначе.%buildуважает%{optflags}.%installпишет только в%{buildroot}.%checkвключён или отключение тестов объяснено.- Все файлы принадлежат пакету; нет unowned directories.
rpmlintпросмотрен; каждыйrpmlintrcfilter обоснован.- Локально проверены минимум Tumbleweed
x86_64; для библиотек - ещёaarch64в OBS.
Пример стартовой сессии:
osc mkpac foo
cd foo
cp ~/Downloads/foo-1.0.0.tar.zst .
rpmdev-newspec foo
osc add foo.spec foo.changes foo-1.0.0.tar.zst
osc build openSUSE_Tumbleweed x86_64 foo.spec
osc vc
osc ci -m "Add foo"Изменение существующего пакета
osc up; проверен diff до изменений.- Изменение минимально и соответствует ветке: Factory можно обновлять, Leap update требует bugfix/security rationale.
.changesсодержит версию, bug/CVE, patch names.- Старые patches пересмотрены, лишние удалены.
- Reverse dependencies оценены при SONAME/API change.
osc buildиosc buildlogчистые.
Отправка на Factory / Leap
- Для Factory: package принят в devel project, SR идёт из devel project, не из
home:. - Legal/source validator ожидаемо проходят.
- Новые shared libraries названы по policy.
- Для Leap: проверено, не inherited ли пакет из SLE; выбран правильный update target.
- Для maintenance: patchinfo содержит category, rating, summary, description, bug/CVE.