Таблица distro macros

Проверенные/документированные значения на июль 2026:

Дистрибутив / проект%suse_version%is_opensuse%sles_version / %sle_versionПрактический conditional
openSUSE Tumbleweed / Factory16991%sles_version 0; %sle_version не полагайся0%{?suse_version} > 1600
openSUSE Slowrollнаследует Factory, отдельный prjconf не задаёт suse_versionобычно 1проверять build rootсначала проверяй osc buildconfig
openSUSE Leap 16.1 Beta16101%sles_version 0; sle_version не использовать без проверки0%{?suse_version} == 1610 && 0%{?is_opensuse}
openSUSE Leap 16.016001OBS howto: SLES 16 currently doesn't use sle_version; prjconf содержит %sles_version 00%{?suse_version} == 1600 && 0%{?is_opensuse}
openSUSE Leap 15.6см. target config10%{?sle_version} == 150600 по cross-distribution howto0%{?sle_version} == 150600 && 0%{?is_opensuse}
openSUSE Leap 15.5см. target config10%{?sle_version} == 150500 по cross-distribution howto0%{?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

Основные официальные страницы

Где искать дополнительно

  • Для точных macros: rpm --showrc, rpm --eval, /usr/lib/rpm/macros.d/*, OBS project prjconf.
  • Для OBS source packages: build.opensuse.org
  • Для Git-migrated packages: src.opensuse.org
  • Для RPM upstream manual: RPM manual