11. Приложения
Раздел руководства по RPM-пакетированию для openSUSE.
Таблица distro macros
Проверенные/документированные значения на июль 2026:
| Дистрибутив / проект | %suse_version | %is_opensuse | %sles_version / %sle_version | Практический conditional |
|---|---|---|---|---|
| openSUSE Tumbleweed / Factory | 1699 | 1 | %sles_version 0; %sle_version не полагайся | 0%{?suse_version} > 1600 |
| openSUSE Slowroll | наследует Factory, отдельный prjconf не задаёт suse_version | обычно 1 | проверять build root | сначала проверяй osc buildconfig |
| openSUSE Leap 16.1 Beta | 1610 | 1 | %sles_version 0; sle_version не использовать без проверки | 0%{?suse_version} == 1610 && 0%{?is_opensuse} |
| openSUSE Leap 16.0 | 1600 | 1 | OBS howto: SLES 16 currently doesn't use sle_version; prjconf содержит %sles_version 0 | 0%{?suse_version} == 1600 && 0%{?is_opensuse} |
| openSUSE Leap 15.6 | см. target config | 1 | 0%{?sle_version} == 150600 по cross-distribution howto | 0%{?sle_version} == 150600 && 0%{?is_opensuse} |
| openSUSE Leap 15.5 | см. target config | 1 | 0%{?sle_version} == 150500 по cross-distribution howto | 0%{?sle_version} == 150500 && 0%{?is_opensuse} |
Команды проверки:
rpm --eval '%{?suse_version} %{?is_opensuse} %{?sles_version} %{?sle_version}'
osc buildconfig openSUSE:Factory standard | grep -E 'suse_version|is_opensuse|sles_version|sle_version'
osc buildconfig openSUSE:Leap:16.0 standard | grep -E 'suse_version|is_opensuse|sles_version|sle_version'Шаблонная сессия osc
sudo zypper in osc build rpm-build rpmlint spec-cleaner quilt
osc ls /
osc co home:LOGIN
cd home:LOGIN
osc mkpac foo
cd foo
cp ~/src/foo-1.2.3.tar.zst .
rpmdev-newspec foo
osc add foo.spec foo.changes foo-1.2.3.tar.zst
osc build openSUSE_Tumbleweed x86_64 foo.spec --clean
osc vc
osc ci -m "Add foo 1.2.3"
osc sr devel:PROJECT fooОсновные официальные страницы
- openSUSE:Packaging_guidelines
- openSUSE:Specfile_guidelines
- openSUSE:Packaging_Conventions_RPM_Macros
- openSUSE:Systemd_packaging_guidelines
- openSUSE:Packaging_checks
- openSUSE:Build_Service_Tutorial
- openSUSE:OSC
- openSUSE:Build_Service_Concept_SourceService
- openSUSE:Build_Service_cross_distribution_howto
- openSUSE:Maintenance_policy
- openSUSE:Maintenance_update_process
- openSUSE:Patchinfo
- openSUSE:Factory_development_model
- openSUSE:Factory_submissions
Где искать дополнительно
- Для точных macros:
rpm --showrc,rpm --eval,/usr/lib/rpm/macros.d/*, OBS projectprjconf. - Для OBS source packages: build.opensuse.org
- Для Git-migrated packages: src.opensuse.org
- Для RPM upstream manual: RPM manual