_ObsPrj/_config

2128 lines
85 KiB
Plaintext

Prefer: -yast2-schema-micro -yast2-schema
%define gcc_version 14
# testing new cycle algorithm
BuildFlags: genmetaalgo:1
# The prjconf macros have a serial to help work around issues like https://github.com/openSUSE/open-build-service/issues/4088
# On macros having impact on dep chains, update the serial (mainly ruby, python)
# Using a date to indicate when we set the serial
ExpandFlags: macroserial:20240726
ExpandFlags: kiwi-nobasepackages
ExpandFlags: docker-nobasepackages
PublishFlags: ympdist:openSUSE%20Tumbleweed
# Use ext4 as FS in builder workers (instead of default ext3)
BuildFlags: vmfstype:ext4
# nodirindex enabled 2020-12-31 - https://github.com/openSUSE/obs-build/pull/634
BuildFlags: vmfsoptions:nodirindex
# Help with the switch to the gcc<n> provided libs:
# Do not use the -gcc12 variants if different providers exist
Prefer: -libasan8-gcc12
Prefer: -libasan8-gcc12-32bit
Prefer: -libgfortran5-gcc12
Prefer: -libtsan2-gcc12
Prefer: -libubsan1-gcc12
Prefer: -libubsan1-gcc12-32bit
Prefer: -libasan8-gcc13
Prefer: -libasan8-gcc13-32bit
Prefer: -libtsan2-gcc13
Prefer: -libubsan1-gcc13
Prefer: -libubsan1-gcc13-32bit
Prefer: -libgfortran5-gcc13
Patterntype: rpm-md ymp
RepoType: rpm-md:sha512:filelists-ext
%if "%_repository" == "images"
Type: kiwi
Repotype: none
Patterntype: none
Prefer: openSUSE-release-ftp
Support: release-compare
Required: containment-tik-img-to-rpm
# BuildFlags: obsgendiff
%endif
%if "%_repository" == "containerfile"
Type: docker
BuildEngine: podman
# KUBEVIRTFROM is passed to container Dockerfiles using the --build-arg option, e.g.
# docker build --build-arg KUBEVIRTFROM=opensuse/tumbleweed ...
BuildFlags: dockerarg:KUBEVIRTFROM=opensuse/tumbleweed
%ifarch aarch64
BuildFlags: dockerarg:TARGETARCH=arm64
%endif
%ifarch x86_64
BuildFlags: dockerarg:TARGETARCH=amd64
%endif
%endif
%if "%_project" == "openSUSE:Factory" || "%_project" == "openSUSE:Factory:NonFree" || "%_project" == "openSUSE:Factory:PowerPC" || "%_project" == "openSUSE:Factory:Rebuild" || "%_project" == "openSUSE:Factory:zSystems"
Repotype: none
Macros:
%shim_enforce_ms_signature 1
:Macros
%endif
%if "%_repository" == "images" || "%_repository" == "container"
Prefer: openSUSE-release -dummy-release
# FTP tree takes forever
BuildFlags: logidlelimit:15400
%else
# Stuff that wants to have /etc/os-release available should require distribution-release, which we then offer dummy-release for (openSUSE-release changes daily for TW)
Prefer: dummy-release
# abort the build if the log file didn't move in 1.5h (seen in libreoffice builds)
BuildFlags: logidlelimit:5400
%endif
%if "%_project" == "openSUSE:Factory" || "%_project" == "openSUSE:Factory:NonFree" || "%_project" == "openSUSE:Factory:PowerPC" || "%_project" == "openSUSE:Factory:ARM" || "%_project" == "openSUSE:Factory:Live" || "%_project" == "openSUSE:Factory:Rebuild" || "%_project" == "openSUSE:Factory:Rings" || "%_project" == "openSUSE:Factory:Rings:0-Bootstrap" || "%_project" == "openSUSE:Factory:Rings:1-MinimalX" || "%_project" == "openSUSE:Factory:Containers" || "%_project" == "openSUSE:Factory:RISCV" || "%_project" == "openSUSE:Factory:zSystems" || "%_project" == "openSUSE:Factory:LegacyX86"
BuildFlags: excludebuild:openh264
Macros:
%vendor openSUSE
%distribution openSUSE Tumbleweed
%packager https://bugs.opensuse.org
:Macros
%endif
BuildFlags: excludebuild:installation-images:Slowroll
%if "%_project" == "openSUSE:Factory" || "%_project" == "openSUSE:Factory:PowerPC" || "%_project" == "openSUSE:Factory:ARM" || "%_project" == "openSUSE:Factory:Rebuild" || "%_project" == "openSUSE:Factory:Live" || "%_project" == "openSUSE:Factory:NonFree" || "%_project" == "openSUSE:Factory:LegacyX86"
Substitute: kiwi-image:docker python3-kiwi kiwi-systemdeps-containers container-build-checks-vendor-openSUSE container-build-checks-strict
Substitute: system-packages:docker docker createrepo_c container-build-checks-vendor-openSUSE container-build-checks-strict skopeo umoci
Substitute: system-packages:podman podman buildah createrepo_c release-compare container-build-checks-vendor-openSUSE container-build-checks-strict skopeo umoci
%else
# That ignore seems not to make sense - we only inject -strict based on specific projects already
Ignore: container-build-checks-strict
Substitute: kiwi-image:docker python3-kiwi kiwi-systemdeps-containers container-build-checks-vendor-openSUSE
Substitute: system-packages:docker kmod kernel-default docker createrepo_c container-build-checks-vendor-openSUSE skopeo umoci
Substitute: system-packages:podman podman buildah createrepo_c release-compare container-build-checks-vendor-openSUSE skopeo umoci
%endif
%if "%_project" == "openSUSE:Factory" || "%_project" == "openSUSE:Factory:PowerPC" || "%_project" == "openSUSE:Factory:ARM" || "%_project" == "openSUSE:Factory:zSystems" || "%_project" == "openSUSE:Factory:LegacyX86"
BuildFlags: excludebuild:openh264
%endif
Substitute: kiwi-setup:image python3-kiwi createrepo_c
Substitute: kiwi-image:tbz python3-kiwi
Substitute: kiwi-image:iso kiwi-systemdeps-iso-media qemu-tools
Substitute: kiwi-image:oem kiwi-systemdeps-disk-images xorriso
Substitute: kiwi-image:appx wsl-appx appx-util
Prefer: kiwi-systemdeps-filesystems
Prefer: kiwi-systemdeps-disk-images
Prefer: kiwi-systemdeps-iso-media
Substitute: obs:cli_debug_packages gdb vim strace less
# Migration to product builder; using the Tumbleweed plugin since 2020-04-28
Substitute: kiwi-packagemanager:instsource product-builder-plugin-Tumbleweed
# use plugin-openSUSE
# Substitute: kiwi-packagemanager:instsource product-builder-plugin-openSUSE
Substitute: system-packages:kiwi-product product-builder
# allow builds using docker tool
Substitute: build-packages:docker !cmake-mini !dummy-release !gettext-runtime-mini !gettext-tools-mini !ghostscript-mini !ffmpeg-5-mini-libs !ffmpeg-6-mini-libs !gio-branding-upstream !krb5-mini !krb5-mini-devel !libsystemd0-mini !systemd-mini-container !libudev-mini-devel !libudev-mini1 !libuna-mini-devel !libuna1-mini !libunbound-devel-mini !postgresql16-devel-mini !systemd-mini !systemd-mini-devel !systemd-mini-sysvinit !udev-mini !libpxbackend-1_0-mini !libgarcon-branding-upstream patterns-base-fips
# Podman based image building
Substitute: build-packages:kiwi !cmake-mini !dummy-release !gettext-runtime-mini !gettext-tools-mini !ghostscript-mini !ffmpeg-5-mini-libs !ffmpeg-6-mini-libs !gio-branding-upstream !krb5-mini !krb5-mini-devel !libsystemd0-mini !systemd-mini-container !libudev-mini-devel !libudev-mini1 !libuna-mini-devel !libuna1-mini !libunbound-devel-mini !log4j12-mini !postgresql16-devel-mini !systemd-mini !systemd-mini-devel !systemd-mini-sysvinit !udev-mini !libpxbackend-1_0-mini !libgarcon-branding-upstream patterns-base-fips
# To build ISO images
Substitute: build-packages:iso !cmake-mini !dummy-release !gettext-runtime-mini !gettext-tools-mini !ghostscript-mini !ffmpeg-5-mini-libs !ffmpeg-6-mini-libs !gio-branding-upstream !krb5-mini !krb5-mini-devel !libsystemd0-mini !systemd-mini-container !libudev-mini-devel !libudev-mini1 !libuna-mini-devel !libuna1-mini !libunbound-devel-mini !log4j12-mini !postgresql16-devel-mini !systemd-mini !systemd-mini-devel !systemd-mini-sysvinit !udev-mini !libpxbackend-1_0-mini !libgarcon-branding-upstream
# create conflicts for packages installed into the target image
Substitute: kiwi python3-kiwi
Prefer: installation-images-openSUSE installation-images-debuginfodeps-openSUSE
# Packages that need netcfg will also require libnss_usrfiles2, as a few files moved from /etc to /usr/etc
# Since not all packages care, we only add it where needed (instead of preinstall)
Substitute: netcfg netcfg libnss_usrfiles2
# fvogt 2022-10-11: Let's try this again.
#%ifnarch armv6l
# Not enabled for armv6l, due to https://bugzilla.opensuse.org/show_bug.cgi?id=1193317
# Enable ccache for a selection of packages:
BuildFlags: useccache:NetworkManager
BuildFlags: useccache:bitcoin
BuildFlags: useccache:ceph
BuildFlags: useccache:chromium
BuildFlags: useccache:gtk3
BuildFlags: useccache:llvm9
BuildFlags: useccache:nodejs-electron
BuildFlags: useccache:webkit2gtk3:gtk3
BuildFlags: useccache:webkit2gtk3:gtk3-soup2
BuildFlags: useccache:webkit2gtk3:gtk4
#%endif
# 2023-01-19 - x86-64-vN hwcaps libraries can be built and will require proper HW support
%ifarch x86_64
Macros:
%suse_build_hwcaps_libs \
#!BuildTarget: x86_64_v3-linux,x86_64-linux \
#!BuildConstraint: hardware:cpu:flag x86-64-v3 \
%{nil}
:Macros
%endif
# slsaprovenance - as described at https://slsa.dev/provenance/v0.2
# slsaprovenance diabled on Apr 28 2022
# 07:29 < adrianS> DimStar: the slsafiles get not correctly generated, please disable the prjconf setting for now
#BuildFlags: slsaprovenance
# Likely nobody really consumes the information - but as we can provide it: why not?
BuildFlags: sbom:spdx
BuildFlags: sbom:cyclonedx
# switch to kiwi v8
Prefer: python3-kiwi
Conflict: python3-kiwi:libsystemd0-mini
Conflict: python3-kiwi:systemd-mini-sysvinit
# LUA namespace migration - slowly moving to the new names (keep ports in mind!)
# lua, lua51, lua53 and lua54 all provide 'lua'; version 5.4 is the 'target'; lua will be deleted in the future
%define lua_pref lua54
Prefer: %{lua_pref} lua53 lua51
Prefer: liblua5_4-5 liblua5_3-5 liblua5_1-5
Prefer: %{lua_pref}-devel lua53-devel lua51-devel
Prefer: libtolua++-5_4-devel libtolua++-5_3-devel libtolua++-5_1-devel
ExpandFlags: keepfilerequires
# Generated by openSUSE-release-tools/repo2fileprovides.py
FileProvides: /bin/awk busybox-gawk gawk
FileProvides: /bin/bash bash bash-legacybin
FileProvides: /bin/cat busybox-coreutils coreutils coreutils-single
FileProvides: /bin/chmod busybox-coreutils coreutils coreutils-single
FileProvides: /bin/cp busybox-coreutils coreutils coreutils-single
FileProvides: /bin/csh tcsh
FileProvides: /bin/fuser busybox-psmisc psmisc
FileProvides: /bin/gawk gawk
FileProvides: /bin/grep busybox-grep grep
FileProvides: /bin/hostname busybox-hostname hostname
FileProvides: /bin/ln busybox-coreutils coreutils coreutils-single
FileProvides: /bin/logger busybox-util-linux util-linux-systemd
FileProvides: /bin/ls busybox-coreutils coreutils coreutils-single
FileProvides: /bin/mkdir busybox-coreutils coreutils coreutils-single
FileProvides: /bin/mktemp busybox-coreutils coreutils coreutils-single
FileProvides: /bin/ping busybox-iputils iputils
FileProvides: /bin/rm busybox-coreutils coreutils coreutils-single
FileProvides: /bin/sed busybox-sed sed
FileProvides: /bin/sh bash-legacybin bash-sh busybox-sh dash-sh zsh-sh
FileProvides: /bin/stty busybox-coreutils coreutils coreutils-single
FileProvides: /bin/su busybox-util-linux util-linux
FileProvides: /bin/tar busybox-tar tar
FileProvides: /bin/touch busybox-coreutils coreutils coreutils-single
FileProvides: /bin/true busybox-coreutils coreutils coreutils-single
FileProvides: /bin/zsh zsh
FileProvides: /etc/bash.bashrc aaa_base
FileProvides: /etc/mime.types aaa_base
FileProvides: /sbin/install-info info
FileProvides: /sbin/ip busybox-iproute2 iproute2
FileProvides: /sbin/isserial blog
FileProvides: /sbin/ldconfig glibc
FileProvides: /sbin/modprobe busybox-kmod kmod
FileProvides: /sbin/service aaa_base
FileProvides: /sbin/startproc sysvinit-tools
FileProvides: /sbin/unix2_chkpwd pam
FileProvides: /usr/bin/7z 7zip
FileProvides: /usr/bin/Xvnc xorg-x11-Xvnc
FileProvides: /usr/bin/appstream-compose appstream-glib
FileProvides: /usr/bin/appstreamcli AppStream
FileProvides: /usr/bin/ar binutils busybox-misc
FileProvides: /usr/bin/at at
FileProvides: /usr/bin/awk busybox-gawk gawk
FileProvides: /usr/bin/base64 busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/basename busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/bash bash
FileProvides: /usr/bin/batch at
FileProvides: /usr/bin/bats bats
FileProvides: /usr/bin/bc bc busybox-bc
FileProvides: /usr/bin/bcc-lua bcc-lua
FileProvides: /usr/bin/bpftrace bpftrace
FileProvides: /usr/bin/bzip2 busybox-bzip2 bzip2
FileProvides: /usr/bin/cat busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/cdda2wav cdda2wav
FileProvides: /usr/bin/cdrdao cdrdao
FileProvides: /usr/bin/cdrecord cdrecord
FileProvides: /usr/bin/chardetect python310-chardet python311-chardet python312-chardet
FileProvides: /usr/bin/chfn shadow
FileProvides: /usr/bin/chgrp busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/chmod busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/chown busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/chsh shadow
FileProvides: /usr/bin/cksum busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/clang clang13 clang14 clang15 clang16 clang17 clang18
FileProvides: /usr/bin/clear busybox-ncurses-utils ncurses-utils
FileProvides: /usr/bin/clisp clisp
FileProvides: /usr/bin/cmp busybox-diffutils diffutils
FileProvides: /usr/bin/col util-linux
FileProvides: /usr/bin/comm busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/convert ImageMagick
FileProvides: /usr/bin/cp busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/cpan perl
FileProvides: /usr/bin/cpio cpio
FileProvides: /usr/bin/crontab cronie
FileProvides: /usr/bin/csh tcsh
FileProvides: /usr/bin/csplit coreutils coreutils-single
FileProvides: /usr/bin/cut busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/date busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/dbus-daemon dbus-1-daemon
FileProvides: /usr/bin/dbus-launch dbus-1 dbus-1-x11
FileProvides: /usr/bin/dbus-run-session dbus-1-daemon
FileProvides: /usr/bin/dbus-send dbus-1-tools
FileProvides: /usr/bin/dd busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/df busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/dialog dialog
FileProvides: /usr/bin/diff busybox-diffutils diffutils
FileProvides: /usr/bin/dig bind-utils
FileProvides: /usr/bin/dirname busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/docker docker podman-docker
FileProvides: /usr/bin/dos2unix busybox-dos2unix dos2unix
FileProvides: /usr/bin/du busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/echo busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/ed busybox-ed ed
FileProvides: /usr/bin/edit-xml-catalog sgml-skel
FileProvides: /usr/bin/enc2xs perl
FileProvides: /usr/bin/env busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/eremaeactl python310-django-eremaea2 python311-django-eremaea2 python312-django-eremaea2
FileProvides: /usr/bin/escript erlang
FileProvides: /usr/bin/eu-strip elfutils
FileProvides: /usr/bin/expand busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/expect expect
FileProvides: /usr/bin/expr busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/false busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/file file
FileProvides: /usr/bin/find busybox-findutils findutils
FileProvides: /usr/bin/fipscheck fipscheck
FileProvides: /usr/bin/fold busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/fontforge fontforge
FileProvides: /usr/bin/foomatic-rip cups-filters
FileProvides: /usr/bin/fuser busybox-psmisc psmisc
FileProvides: /usr/bin/fusermount fuse
FileProvides: /usr/bin/fusermount3 fuse3
FileProvides: /usr/bin/gawk gawk
FileProvides: /usr/bin/gencat glibc
FileProvides: /usr/bin/get_kernel_version aaa_base
FileProvides: /usr/bin/getconf glibc
FileProvides: /usr/bin/getent glibc
FileProvides: /usr/bin/getopt busybox-util-linux util-linux
FileProvides: /usr/bin/gettext gettext-runtime
FileProvides: /usr/bin/git git-core
FileProvides: /usr/bin/gjs gjs
FileProvides: /usr/bin/gjs-console gjs
FileProvides: /usr/bin/glxinfo Mesa-demo-x
FileProvides: /usr/bin/gmake make
FileProvides: /usr/bin/gpg gpg2
FileProvides: /usr/bin/grep busybox-grep grep
FileProvides: /usr/bin/groups busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/gs ghostscript gswrap
FileProvides: /usr/bin/gs.bin ghostscript
FileProvides: /usr/bin/guile guile
FileProvides: /usr/bin/guile1 guile1
FileProvides: /usr/bin/gunzip busybox-gzip gzip zstd-gzip
FileProvides: /usr/bin/gzip busybox-gzip gzip zstd-gzip
FileProvides: /usr/bin/head busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/hostname busybox-hostname hostname
FileProvides: /usr/bin/iconv glibc
FileProvides: /usr/bin/id busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/install busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/install-catalog sgml-skel
FileProvides: /usr/bin/instantfpc fpc
FileProvides: /usr/bin/ipcrm busybox-util-linux util-linux
FileProvides: /usr/bin/ipcs busybox-util-linux util-linux
FileProvides: /usr/bin/join coreutils coreutils-single
FileProvides: /usr/bin/jpegtran libjpeg-turbo
FileProvides: /usr/bin/julia julia julia-compat juliaup
FileProvides: /usr/bin/kernel-install udev
FileProvides: /usr/bin/kill busybox-util-linux util-linux
FileProvides: /usr/bin/killall busybox-psmisc psmisc
FileProvides: /usr/bin/ksh93 ksh
FileProvides: /usr/bin/ln busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/locale glibc
FileProvides: /usr/bin/localedef glibc
FileProvides: /usr/bin/logger busybox-util-linux util-linux-systemd
FileProvides: /usr/bin/logname busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/lp cups-client
FileProvides: /usr/bin/lpr cups-client
FileProvides: /usr/bin/ls busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/lua lua51 lua53 lua54
FileProvides: /usr/bin/lua5.1 lua51
FileProvides: /usr/bin/lua5.3 lua53
FileProvides: /usr/bin/lua5.4 lua54
FileProvides: /usr/bin/luatex texlive-luatex-bin
FileProvides: /usr/bin/lzop busybox-misc lzop
FileProvides: /usr/bin/m4 m4
FileProvides: /usr/bin/mailx mailx
FileProvides: /usr/bin/make make
FileProvides: /usr/bin/man busybox-man man mandoc
FileProvides: /usr/bin/mandoc mandoc-bin
FileProvides: /usr/bin/md5sum busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/mkdir busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/mkfifo busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/mkisofs mkisofs
FileProvides: /usr/bin/mknod busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/mktemp busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/mogrify ImageMagick
FileProvides: /usr/bin/more busybox-util-linux util-linux
FileProvides: /usr/bin/mount busybox-util-linux util-linux
FileProvides: /usr/bin/msgfmt gettext-runtime
FileProvides: /usr/bin/mv busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/newaliases exim postfix postfix-bdb sendmail
FileProvides: /usr/bin/newgrp shadow
FileProvides: /usr/bin/nice busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/nl busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/nm binutils
FileProvides: /usr/bin/nmtui NetworkManager-tui
FileProvides: /usr/bin/node nodejs-common
FileProvides: /usr/bin/node20 nodejs20
FileProvides: /usr/bin/node22 nodejs22
FileProvides: /usr/bin/nohup busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/nslookup bind-utils busybox-bind-utils
FileProvides: /usr/bin/ocamlrun ocaml-runtime
FileProvides: /usr/bin/octave octave-cli
FileProvides: /usr/bin/od busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/odbcinst unixODBC
FileProvides: /usr/bin/openssl libressl openssl-1_0_0 openssl-3
FileProvides: /usr/bin/passwd busybox-adduser shadow
FileProvides: /usr/bin/paste busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/patch busybox-patch patch
FileProvides: /usr/bin/pathchk coreutils coreutils-single
FileProvides: /usr/bin/perl perl-base
FileProvides: /usr/bin/php php8-cli
FileProvides: /usr/bin/php8 php8-cli
FileProvides: /usr/bin/pidof busybox-procps procps procps4
FileProvides: /usr/bin/pkexec pkexec
FileProvides: /usr/bin/pkg-config pkgconf-pkg-config
FileProvides: /usr/bin/pmpython pcp
FileProvides: /usr/bin/podman podman
FileProvides: /usr/bin/pr coreutils coreutils-single
FileProvides: /usr/bin/printf busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/ps busybox-procps procps procps4
FileProvides: /usr/bin/pwd busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/pwscore libpwquality-tools
FileProvides: /usr/bin/python python-base
FileProvides: /usr/bin/python2 python-base
FileProvides: /usr/bin/python2.7 python-base
FileProvides: /usr/bin/python3 python311-base
FileProvides: /usr/bin/python3.10 python310-base
FileProvides: /usr/bin/python3.11 python311-base
FileProvides: /usr/bin/python3.12 python312-base
FileProvides: /usr/bin/python3.8 python38-base
FileProvides: /usr/bin/python3.9 python39-base
FileProvides: /usr/bin/qemu-img qemu-img
FileProvides: /usr/bin/qemu-nbd qemu-img
FileProvides: /usr/bin/qemu-system-x86_64 qemu-x86
FileProvides: /usr/bin/readcd readcd
FileProvides: /usr/bin/readlink busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/renice busybox-util-linux util-linux
FileProvides: /usr/bin/rep librep
FileProvides: /usr/bin/rm busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/rmdir busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/rsync rsync
FileProvides: /usr/bin/ruby ruby3.3
FileProvides: /usr/bin/ruby.ruby3.3 ruby3.3
FileProvides: /usr/bin/runawk runawk
FileProvides: /usr/bin/sbcl sbcl
FileProvides: /usr/bin/scheme-srfi-7 scheme48
FileProvides: /usr/bin/sed busybox-sed sed
FileProvides: /usr/bin/sgml-register-catalog sgml-skel
FileProvides: /usr/bin/sh bash-sh busybox-sh dash-sh zsh-sh
FileProvides: /usr/bin/sha512sum busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/sinfo slurm
FileProvides: /usr/bin/sleep busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/smbclient samba-client
FileProvides: /usr/bin/snobol4 snobol4
FileProvides: /usr/bin/sort busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/split busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/squeue slurm
FileProvides: /usr/bin/ssh openssh-clients
FileProvides: /usr/bin/ssh-keygen openssh-common
FileProvides: /usr/bin/stap systemtap
FileProvides: /usr/bin/stat busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/strip binutils
FileProvides: /usr/bin/stty busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/su busybox-util-linux util-linux
FileProvides: /usr/bin/sum busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/sync busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/tack tack
FileProvides: /usr/bin/tail busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/tar busybox-tar tar
FileProvides: /usr/bin/tclsh tcl
FileProvides: /usr/bin/tee busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/test busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/texlua texlive-luatex-bin
FileProvides: /usr/bin/time busybox-time time
FileProvides: /usr/bin/timeout busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/touch busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/tput ncurses-utils
FileProvides: /usr/bin/tr busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/true busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/tsort busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/ttf2tfm texlive-ttfutils-bin
FileProvides: /usr/bin/tty busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/umount busybox-util-linux util-linux
FileProvides: /usr/bin/uname busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/uncompress busybox-gzip gzip
FileProvides: /usr/bin/unexpand busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/uniq busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/unzip busybox-unzip unzip unzip-rcc
FileProvides: /usr/bin/updmap texlive-scripts-bin
FileProvides: /usr/bin/virsh libvirt-client
FileProvides: /usr/bin/vmstat procps procps4
FileProvides: /usr/bin/vulkaninfo vulkan-tools
FileProvides: /usr/bin/wayland-info wayland-utils
FileProvides: /usr/bin/wc busybox-coreutils coreutils coreutils-single
FileProvides: /usr/bin/which busybox-which which
FileProvides: /usr/bin/who coreutils-systemd
FileProvides: /usr/bin/wish tk
FileProvides: /usr/bin/xargs busybox-findutils findutils
FileProvides: /usr/bin/xdg-desktop-icon xdg-utils
FileProvides: /usr/bin/xdg-desktop-menu xdg-utils
FileProvides: /usr/bin/xdg-email xdg-utils
FileProvides: /usr/bin/xdg-icon-resource xdg-utils
FileProvides: /usr/bin/xdg-mime xdg-utils
FileProvides: /usr/bin/xdg-open xdg-utils
FileProvides: /usr/bin/xdg-screensaver xdg-utils
FileProvides: /usr/bin/xdg-su xdg-utils
FileProvides: /usr/bin/xdpyinfo xdpyinfo
FileProvides: /usr/bin/xkbcomp xkbcomp
FileProvides: /usr/bin/xmlcatalog libxml2-tools
FileProvides: /usr/bin/xmllint libxml2-tools
FileProvides: /usr/bin/xsltproc libxslt-tools
FileProvides: /usr/bin/xz busybox-xz xz
FileProvides: /usr/bin/zcat busybox-gzip gzip zstd-gzip
FileProvides: /usr/bin/zstd zstd
FileProvides: /usr/sbin/a2enflag apache2
FileProvides: /usr/sbin/a2enmod apache2
FileProvides: /usr/sbin/agetty util-linux
FileProvides: /usr/sbin/fonts-config fonts-config
FileProvides: /usr/sbin/groupadd shadow
FileProvides: /usr/sbin/groupdel shadow
FileProvides: /usr/sbin/groupmod shadow
FileProvides: /usr/sbin/iconvconfig glibc
FileProvides: /usr/sbin/ipsec strongswan-ipsec
FileProvides: /usr/sbin/ldconfig glibc
FileProvides: /usr/sbin/lpadmin cups-client
FileProvides: /usr/sbin/modprobe busybox-kmod kmod
FileProvides: /usr/sbin/mysqld mariadb
FileProvides: /usr/sbin/nologin busybox-util-linux util-linux
FileProvides: /usr/sbin/sendmail busybox-sendmail exim msmtp-mta postfix postfix-bdb sendmail
FileProvides: /usr/sbin/service aaa_base
FileProvides: /usr/sbin/shutdown shepherd-bins systemd systemd-mini
FileProvides: /usr/sbin/smartctl smartmontools
FileProvides: /usr/sbin/update-alternatives update-alternatives
FileProvides: /usr/sbin/useradd shadow
FileProvides: /usr/sbin/userdel shadow
FileProvides: /usr/sbin/usermod shadow
# Files which are provided and required by the same package only
# are not part of primary.xml.gz, thus missing in the section above.
FileProvides: /usr/bin/Xvfb xorg-x11-server-Xvfb
FileProvides: /usr/bin/busybox busybox
FileProvides: /usr/bin/qemu-system-aarch64 qemu-arm
FileProvides: /usr/bin/racket racket
FileProvides: /usr/bin/zsh zsh
FileProvides: /usr/sbin/ldconfig glibc
FileProvides: /usr/sbin/showconsole blog
FileProvides: /usr/bin/chattr e2fsprogs
FileProvides: /usr/bin/regina Regina-REXX
FileProvides: /usr/bin/rexx Regina-REXX
FileProvides: /usr/bin/festival festival
# Set preferences for above list - work with negative prefers, in order to be able to catch no-longer existing ones
Prefer: bash-sh
Prefer: -bash-legacybin
Prefer: -busybox-bc
Prefer: -busybox-bzip2
Prefer: -busybox-coreutils -coreutils-single
Prefer: -busybox-diffutils
Prefer: -busybox-dos2unix
Prefer: -busybox-ed
Prefer: -busybox-findutils
Prefer: -busybox-gawk
Prefer: -busybox-grep
Prefer: -busybox-gzip -zstd-gzip
Prefer: -busybox-hostname
Prefer: -busybox-iproute2
Prefer: -busybox-iputils
Prefer: -busybox-kmod
Prefer: -busybox-misc
Prefer: -busybox-ncurses-utils
Prefer: -busybox-procps -procps4
Prefer: -busybox-psmisc
Prefer: -busybox-sed
Prefer: -busybox-tar
Prefer: -busybox-unzip
Prefer: -busybox-util-linux
Prefer: -podman-docker
# have choice for /usr/bin/dbus-launch needed by gnome-session-core: dbus-1 dbus-1-x11
Prefer: -dbus-1-x11
# have choice for (podman or docker) needed by ansible-builder: docker podman
Prefer: -docker
# have choice for libglib-2.0.so.0()(64bit) needed by ...: glib2-stage1-devel libglib-2_0-0
Ignore: glib2-stage1-devel:this-is-only-for-build-envs
Prefer: -glib2-stage1-devel
# have choice for (netavark or cni) needed by podman: cni netavark
Prefer: -cni-plugins -cni
# have choice for suse-kernel-rpm-scriptlets: sdbootutil-rpm-scriptlets suse-module-tools-scriptlets
Prefer: -sdbootutil-rpm-scriptlets
# have choice for pkgconfig(libmarkdown): libmarkdown-devel libmarkdown2-devel
Prefer: -libmarkdown2-devel
# have choice for mvn
Prefer: -tomcat10 -tomcat10-lib tomcat tomcat-lib
Prefer: -tomcat10-servlet-6_0-api tomcat-servlet-4_0-api
# have choice for pkgconfig(xkbregistry) needed by libgnome-desktop-3-devel: libxkbregistry-devel libxkbregistry-devel-32bit
Prefer: -libxkbregistry-devel-32bit
# have choice for python311-anyio needed by python311-httpx: python311-anyio python311-anyio3, have choice for (python311-anyio >= 3 with python311-anyio < 5) needed by python311-httpcore: python311-anyio python311-anyio3
Prefer: -python310-anyio3
Prefer: -python311-anyio3
Prefer: -python312-anyio3
# have choice for python311-django >= 1.11: python311-Django python311-Django4, have choice for python311-Django needed by python311-pytest-django: python311-Django python311-Django4
Prefer: -python310-Django4
Prefer: -python311-Django4
Prefer: -python312-Django4
# have choice for dbus-broker-restart-behavior = 35 needed by dbus-broker: dbus-broker-allow-restart dbus-broker-block-restart
Prefer: -dbus-broker-allow-restart
# have choice for fonttools: python310-FontTools python311-FontTools
Prefer: -python310-FontTools -python311-FontTools
# have choice for (python311-qt5 or python311-pyside2 or python311-PyQt6 or python311-pyside6) needed by python311-qtconsole: python311-pyside6 python311-qt5
Prefer: -python311-pyside6
# have choice for libsundials_core.so.7()(64bit) needed by libsundials_ida7: libsundials_core7 libsundials_core7-mvapich2 libsundials_core7-openmpi4,
Prefer: -libsundials_core7-mvapich2 -libsundials_core7-openmpi4
# All this is for KF6 + plasma 6
# have choice for (plasma-framework-desktoptheme or plasma6-framework-desktoptheme) needed by plasma-framework: libplasma6-desktoptheme plasma-framework-desktoptheme
Prefer: -plasma-framework-desktoptheme
# have choice for kaccounts-integration needed by libkaccounts6-2: kaccounts-integration kaccounts-integration-kf5
Prefer: -kaccounts-integration-kf5
# have choice for cmake(KQuickImageEditor): kquickimageeditor-devel kquickimageeditor6-devel
Prefer: -kquickimageeditor-devel
# have choice for cmake(KDecoration2) >= MACRO: kdecoration6-devel libkdecoration2-devel
Prefer: -libkdecoration2-devel
# have choice for cmake(FreeRDP) >= 2.10: freerdp-devel freerdp2-devel
Prefer: -freerdp-devel
# have choice for registries-conf >= 20240408 needed by libcontainers-common: registries-conf-default registries-conf-suse
Prefer: -registries-conf-suse
# have choice for cmake(cmocka): libcmocka-cmake libcmocka-cmake-32bit
Prefer: -libcmocka-cmake-32bit
#have choice for libcurl.so.4()(64bit) needed by cargo1.79: libcurl-mini4 libcurl4
Prefer: -libcurl-mini4
#---
%if "%_repository" != "ports"
ExpandFlags: preinstallexpand
%endif
Preinstall: rpm
# build (obs_build) is written in perl, relies on grep and util-linux tools. Thus install them early
VMinstall: perl-base
VMinstall: util-linux
VMinstall: grep
# VMinstall: kernel-obs-build
# Use the x86_64 kernel on i586 builds - boo#1178762 - Slow down in OBS since kernel 5.6.0 on 32bit
ExportFilter: ^kernel-obs-build.*\.x86_64.rpm$ . i586
# new: use kernel-obs-build from aarch64 for aarch64 armv6 and armv7
ExportFilter: ^kernel-obs-build.*\.armv6hl\.rpm$
ExportFilter: ^kernel-obs-build.*\.armv7hl\.rpm$
ExportFilter: ^kernel-obs-build.*\.aarch64\.rpm$ . armv6l armv7l
# now make sure the jobs get a 64bit cpu, otherwise can not run the 64bit kernel
%ifarch armv6l armv7l
Constraint: hardware:cpu:flag cpuid
%endif
ExportFilter: \.x86_64\.rpm$ x86_64
ExportFilter: \.ia64\.rpm$ ia64
ExportFilter: \.s390x\.rpm$ s390x
ExportFilter: \.ppc64\.rpm$ ppc64
ExportFilter: \.ppc64le\.rpm$ ppc64le
ExportFilter: \.ppc\.rpm$ ppc
ExportFilter: -ia32-.*\.rpm$
ExportFilter: -32bit-.*\.sparc64\.rpm$
ExportFilter: -64bit-.*\.sparcv9\.rpm$
ExportFilter: -64bit-.*\.aarch64_ilp32\.rpm$
ExportFilter: \.aarch64\.rpm$ aarch64
ExportFilter: \.armv7l\.rpm$ armv7l
ExportFilter: \.armv7hl\.rpm$ armv7l
ExportFilter: ^glibc(?:-devel)?-32bit-.*\.sparc64\.rpm$ sparc64
ExportFilter: ^glibc(?:-devel)?-64bit-.*\.sparcv9\.rpm$ sparcv9
# it would be a great idea to have, but sometimes installation-images wants to build debuginfos in
#ExportFilter: -debuginfo-.*\.rpm$
#ExportFilter: -debugsource-.*\.rpm$
#ExportFilter: ^master-boot-code.*\.i586.rpm$ . x86_64
ExportFilter: ^acroread.*\.i586.rpm$ . x86_64
ExportFilter: ^avmailgate.*\.i586.rpm$ . x86_64
ExportFilter: ^avmailgate.*\.ppc.rpm$ . ppc64
ExportFilter: ^avmailgate.*\.s390.rpm$ . s390x
ExportFilter: ^flash-player.*\.i586.rpm$ . x86_64
ExportFilter: ^novell-messenger-client.*\.i586.rpm$ . x86_64
ExportFilter: ^openCryptoki-32bit.*\.s390.rpm$ . s390x
# Make grub2-i386-efi available on x86_64 / support x86_64 CPU on 32bit UEFI - boo#1208057
ExportFilter: ^grub2-i386-efi.*\.noarch\.rpm$ . x86_64
############
# For QEMU #
############
#
# Firmwares are built (if possible) once per "port". This reduces build time, e.g., as compared
# to cross-compiling everything on everything, and improve consistency, while keeping things self
# contained, within ports, which is especially important for openSUSE:Factory
#
# ### x86 firmwares
# They are built on: x86_64 and aarch64. The x86_64 build can then be imported in i586, and the
# aarch64 one in armv7l. We're not yet able to build them on any PPC arch (but are working on it)
# so, for this devel project, we're exporting them there too (and for Factory, we have an aggregate).
# We're also not able to build them on zsystem and riscv, so export them there as well, here in the
# devel project (for Factory, we just miss them in s390, while riscv is special in its own way).
ExportFilter: ^qemu-ipxe.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le s390x riscv64
ExportFilter: ^qemu-seabios.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le s390x riscv64
ExportFilter: ^qemu-vgabios.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le s390x riscv64
ExportFilter: ^qemu-sgabios.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le s390x riscv64
# ### PPC firmwares
# They are built on: x86_64, aarch64 and ppc64le. The x86_build can then by imported in i586, the
# aarch64 one in armv7l and the ppc64le one in ppc and ppc64. As for the x86 firmwares, here in the
# devel project, we export them directly to all the arch-es that can't build them, just for convenience.
ExportFilter: ^qemu-skiboot.*\.noarch\.rpm$ . i586 armv7l ppc s390x riscv64
ExportFilter: ^qemu-SLOF.*\.noarch\.rpm$ . i586 armv7l ppc s390x riscv64
# TODO: does the 'qemu-edk2' package still exist?
ExportFilter: ^qemu-edk2.*\.noarch\.rpm$ . i586 armv7l aarch64 ppc ppc64 ppc64le s390x riscv64
ExportFilter: ^qemu-microvm.*\.noarch\.rpm$ . i586 armv7l aarch64 ppc ppc64 ppc64le s390x riscv64
Required: rpm-build
# Build all packages with -pie enabled
Required: gcc-PIE
# the basic stuff
Support: perl
Support: build-mkbaselibs compat-usrmerge-build
Prefer: build-mkbaselibs
Support: brp-check-suse
Support: post-build-checks
# remove build-compare support to disable "same result" package dropping
Support: build-compare
# Support: rpmlint-mini
# In the actual Tumbleweed repos, we want to be stricter with rpmlint
# %if "%_project" == "openSUSE:Factory" || "%_project" == "openSUSE:Factory:PowerPC" || "%_project" == "openSUSE:Factory:ARM" || "%_project" == "openSUSE:Factory:Rebuild" || "%_project" == "openSUSE:Factory:Live" || "%_project" == "openSUSE:Factory:NonFree"
# Support: rpmlint-strict
# %endif
# Prefer coreutils over coreutils-single
Prefer: -coreutils-single
### Branding related preferences
Prefer: systemd-default-settings-branding-openSUSE
Prefer: distribution-logos-openSUSE-Tumbleweed
Prefer: awesome:awesome-branding-upstream
Prefer: cinnamon-gschemas:cinnamon-gschemas-branding-upstream
Prefer: enlightenment-theme-upstream
Prefer: fcitx:fcitx-branding-openSUSE
Prefer: gdm:gdm-branding-upstream
Prefer: gfxboot-branding-openSUSE
Prefer: icewm-theme-branding
Prefer: libcinnamon-desktop-data:libcinnamon-desktop-data-branding-upstream
Prefer: libgarcon-1-0:libgarcon-branding-upstream
Prefer: libgarcon-data:libgarcon-branding-upstream
Prefer: libgio-2_0-0:gio-branding-upstream
Prefer: libpurple-branding-upstream
Prefer: libreoffice:libreoffice-branding-upstream
Prefer: libxfce4ui:libxfce4ui-branding-upstream
Prefer: lightdm-gtk-greeter:lightdm-gtk-greeter-branding-upstream
Prefer: mate-desktop-gschemas:mate-desktop-gschemas-branding-upstream
Prefer: NetworkManager:NetworkManager-branding-openSUSE
Prefer: PackageKit:PackageKit-branding-upstream
Prefer: sway:sway-branding-upstream
Prefer: systemd-presets-branding-openSUSE
Prefer: wallpaper-branding-openSUSE
Prefer: waybar:waybar-branding-upstream
Prefer: xfce4-notifyd:xfce4-notifyd-branding-upstream
Prefer: xfce4-settings:xfce4-settings-branding-upstream
Prefer: xfdesktop:xfdesktop-branding-upstream
Prefer: yast2-qt:yast2-qt-branding-openSUSE
Prefer: branding-openSUSE
Prefer: chrony-pool-openSUSE
# pciutils-ids and hwdata both provides pciutils-ids
Prefer: hwdata
# have choice for xfce4-panel-plugin-whiskermenu needed by xfce4-panel-branding-openSUSE: xfce4-panel-plugin-whiskermenu xfce4-whiskermenu-plugin
Prefer: xfce4-panel-branding-openSUSE:xfce4-whiskermenu-plugin
Prefer: patterns-xfce-xfce:mate-calc
# Build cycle handling - prefer -mini packages were possible, break deps as needed
Conflict: krb5-devel:krb5-mini
Conflict: krb5:krb5-mini-devel
Prefer: gettext-tools-mini gettext-runtime-mini
Prefer: ghostscript-mini
Prefer: krb5-mini krb5-mini-devel
Prefer: krb5-mini-devel:krb5-mini
Prefer: libdebuginfod1 debuginfod-client
Prefer: libudev-mini1 udev-debuginfo libudev1-debuginfo
Prefer: libuna-mini-devel libuna1-mini
Prefer: libunbound-devel-mini
Prefer: systemd-mini systemd-mini-devel libsystemd0-mini systemd-mini-container
Prefer: systemd-mini-devel:systemd-mini
Prefer: udev-mini
# break dependency of the -mini packages: they are valid for OBS, but not for end-user-installation
Ignore: cmake-mini:this-is-only-for-build-envs
Ignore: dummy-release:this-is-only-for-build-envs
Ignore: envsubst-mini:this-is-only-for-build-envs
Ignore: erlang-rebar-obs:this-is-only-for-build-envs
Ignore: ffmpeg-5-mini-devel:this-is-only-for-build-envs
Ignore: ffmpeg-5-mini-libs:this-is-only-for-build-envs
Ignore: ffmpeg-6-mini-devel:this-is-only-for-build-envs
Ignore: ffmpeg-6-mini-libs:this-is-only-for-build-envs
Ignore: ffmpeg-7-mini-devel:this-is-only-for-build-envs
Ignore: ffmpeg-7-mini-libs:this-is-only-for-build-envs
Ignore: gettext-runtime-mini:this-is-only-for-build-envs
Ignore: gettext-tools-mini:this-is-only-for-build-envs
Ignore: ghc-bootstrap-helpers:this-is-only-for-build-envs
Ignore: ghc-bootstrap:this-is-only-for-build-envs
Ignore: ghostscript-mini:this-is-only-for-build-envs
Ignore: harfbuzz-bootstrap:this-is-only-for-build-envs
Ignore: jdk-bootstrap:this-is-only-for-build-envs
Ignore: krb5-mini-devel:this-is-only-for-build-envs
Ignore: krb5-mini:this-is-only-for-build-envs
Ignore: libpxbackend-1_0-mini:this-is-only-for-build-envs
Ignore: libsystemd0-mini:this-is-only-for-build-envs
Ignore: libudev-mini1:this-is-only-for-build-envs
Ignore: libunbound-devel-mini:this-is-only-for-build-envs
Ignore: postgresql12-devel-mini:this-is-only-for-build-envs
Ignore: postgresql13-devel-mini:this-is-only-for-build-envs
Ignore: postgresql14-devel-mini:this-is-only-for-build-envs
Ignore: postgresql16-devel-mini:this-is-only-for-build-envs
Ignore: reproducible-faketools:this-is-only-for-build-envs
Ignore: systemd-mini-container:this-is-only-for-build-envs
Ignore: systemd-mini:this-is-only-for-build-envs
Ignore: udev-mini:this-is-only-for-build-envs
# Ring0 packages should not pull in 'info' - making the base VM smaller
Ignore: autoconf:info
Ignore: automake:info
Ignore: binutils:info
Ignore: bison:info
Ignore: coreutils:info
Ignore: cpio:info
Ignore: dejagnu:info
Ignore: diffutils:info
Ignore: findutils:info
Ignore: flex:info
Ignore: gawk:info
Ignore: gettext-runtime:info
Ignore: gettext-tools:info
Ignore: grep:info
Ignore: groff:info
Ignore: gzip:info
Ignore: help2man:info
Ignore: libgcrypt-devel:info
Ignore: libtool:info
Ignore: m4:info
Ignore: make:info
Ignore: sed:info
Ignore: tar:info
Ignore: util-linux:info
Ignore: polkit-default-privs:polkit
Ignore: libeconf:python-libeconf
# syslog-service only starts with network enabled, but inside OBS we have no network anyway
Ignore: syslog-service:sysvinit(network)
Ignore: syslog-service:service(network)
# tcl requires sqlite3-tcl to uphold the promise from upstream to be complete
# but as we decide to build sqlite3-tcl as part of sqlite, not tcl (to get more up-to-date version)
# we need to ignore the tcl -> sqlite dep
Ignore: tcl:sqlite3-tcl
# Let's speed up things: We don't need Mesa-dri and Mesa-gallium in the build system
Ignore: Mesa:Mesa-dri
Ignore: Mesa:Mesa-gallium
# Try to get LLVM out of critical build dep chains
Ignore: libglvnd:Mesa-dri
# udev: -full and -mini packages don't mingle well
Prefer: libudev1:udev
Conflict: libudev1:udev-mini
Conflict: udev:libudev-mini1
# systemd: -full and -mini packages don't mingle well
Conflict: systemd:libsystemd0-mini
Conflict: systemd-mini-devel:systemd
# Cmake exists as a -mini flavor, which is not linked against curl.
Prefer: cmake-mini
# python-pip inside OBS never connects to the net, so we don't use certs
Ignore: python310-pip:ca-certificates
Ignore: python311-pip:ca-certificates
Ignore: python312-pip:ca-certificates
Prefer: -suse-build-key
# Set postfix as the 'default' smtp_daemon (virtual symbol provided by all MTAs)
Prefer: postfix
# cyrus-sasl and postfix both bring a -bdb flavor. De-prefer this flavor
Prefer: -cyrus-sasl-bdb-devel
# Spamassassin requires wget or curl - we prefer curl, as its build dep chain seems cheaper
Prefer: spamassassin:curl
# have choice for pkgconfig(catch2): Catch2-2-devel Catch2-devel
Prefer: -Catch2-2-devel
# have choice for (ghostscript-fonts-std or urw-base35-fonts) needed by emacs-x11: ghostscript-fonts-std urw-base35-fonts
Prefer: -urw-base35-fonts
# Python3 exists in multiple versions - we currently favor 3.11 (our default):
Prefer: -python310-txt2tags -python312-txt2tags
# unresolvable: have choice for libcontainers-policy >= 20230214 needed by libcontainers-common: libcontainers-default-policy libcontainers-openSUSE-policy
Prefer: -libcontainers-default-policy
# have choice for python3-jsonschema: python311-jsonschema python311-jsonschema417
Prefer: -python310-jsonschema417 -python311-jsonschema417 -python312-jsonschema417
Prefer: -python310-jsonschema417-format-nongpl
Prefer: -python311-jsonschema417-format-nongpl
Prefer: -python312-jsonschema417-format-nongpl
# have choice for python-mistune after rename to python-mistune2
Prefer: -python310-mistune
Prefer: -python311-mistune
Prefer: -python312-mistune
Prefer: -protobuf21-devel
Prefer: -python310-urllib3_1 -python311-urllib3_1 -python312-urllib3_1
# have choice for python3-magic: python38-magic python38-python-magic
Prefer: -python310-magic -python312-magic
# have choice for gcr-ssh-agent needed by libgcr-3-1: gcr-ssh-agent gcr3-ssh-agent
Prefer: -gcr3-ssh-agent -gcr3-viewer
# have choice for python3-Cython: python310-Cython python310-Cython3
Prefer: -python310-Cython0 -python311-Cython0 -python312-Cython0
# have choice for ntp-daemon: chrony ntp ntpsec
Prefer: chrony
Prefer: -procps4 -procps4-devel
# have choice for python-sqlalchemy >= 1.4: python-SQLAlchemy python-SQLAlchemy1
Prefer: -python310-SQLAlchemy1 -python311-SQLAlchemy1 -python312-SQLAlchemy1
# have choice for (python36-qt5 or python36-PyQt6) needed by python36-pytest-qt
Prefer: -python310-PyQt6 -python3-pyside2
Prefer: -python311-PyQt6
Prefer: -python312-PyQt6
# man and mandoc provide man; mandoc claims to be lightweight, but it was never discussed to be the new default
Prefer: man
# go exists in mutliple versions by now - we prefer the 'unversioned package'
Prefer: go -go1.13 -go1.22
# have choice for kernel >= 4.1.0 needed by libbcc0: kernel-debug kernel-default kernel-default-base kernel-kvmsmall kernel-vanilla
Prefer: kernel-default-base
# have choice for libpxbackend-1.0.so()(64bit) needed by libproxy1: libpxbackend-1_0 libpxbackend-1_0-mini
Prefer: -libpxbackend-1_0
# have choice for command-not-found: cnf cnf-rs scout-command-not-found
Prefer: -scout-command-not-found
# have choice for kubernetes-kubelet-common (de-prefer the old versions, ensuring to have a new unresolvable when a new version shows up)
Prefer: -kubernetes1.24-client-common -kubernetes1.25-client-common
# have choice for cmake(KWinDBusInterface) >= MACRO: deepin-kwin-devel kwin5-devel
Prefer: -deepin-kwin-devel
# have choice for html2text
Prefer: -python310-html2text -python311-html2text -python312-html2text
# have choice for (gnome-session or budgie-desktop) needed by gnome-shell: budgie-desktop gnome-session
Prefer: -budgie-desktop
# python-tornado exists in multiple versions, the meta-package python-tornado defines the system default
Prefer: python310-tornado
Prefer: python311-tornado
Prefer: python312-tornado
# have choice for libopenblas.so.0()(64bit) needed by libopencv407: libopenblas_openmp0 libopenblas_pthreads0 libopenblas_serial0
Prefer: -libopenblas_openmp0 -libopenblas_pthreads0
Prefer: -gnome-bluetooth-1
# There are multiple PK backends available. Favor the openSUSE own zypp backend
Prefer: PackageKit-backend-zypp
# have choice for python3-sip: python3-sip-devel python3-sip4
Prefer: -python310-sip6-devel -python311-sip6-devel
Prefer: -python310-sip4 -python310-sip4-devel
Prefer: -python311-sip4 -python311-sip4-devel
Prefer: python310-Shapely:geos
# pipewire has a jack compatible implementation - but for now we prefer the real jack
Prefer: -pipewire-libjack-0_3-devel libjack0
#Prefer: -libjack-devel -libjack0
# have choice for python3-zeep >= 3.2.0: python311-softlayer-zeep python311-zeep
Prefer: -python311-softlayer-zeep
# have choice for (dbus-1 or dbus-broker) needed by at-spi2-core: dbus-1 dbus-broker
Prefer: -dbus-broker
# When perl provides a module that is also in a different package, but the consumer specifies no version, we go with perl/perl-base
Prefer: perl-base perl
Prefer: perl-JSON-XS
# Lightdm requires 'a greeter' - we prefer the default lightdm-gtk-greeter
Prefer: lightdm-gtk-greeter
# Apache requires a MPM - we pick prefork
Prefer: apache2:apache2-prefork
# PHP requires php-sapi, which can be provided by multiple packages. We prefer -cli, related to the specific PHP version
%define php_pref php8
Prefer: %{php_pref}
Prefer: %{php_pref}-cli
Prefer: %{php_pref}-devel
Prefer: %{php_pref}-pear
Prefer: %{php_pref}-tokenizer
Prefer: apache2-mod_%{php_pref}
Prefer: php8:php8-cli
# have choice for libomp.so()(64bit) needed by libispcrt1: libomp15-devel libomp16-devel
Prefer: -libomp15-devel -libomp16-devel -libomp17-devel
# have choice for python3dist(jupyterlab) = 3.6.2 needed by jupyter-jupyterlab: python310-jupyterlab python311-jupyterlab python38-jupyterlab python39-jupyterlab
Prefer: -python310-jupyterlab
Prefer: -python310-nbclassic -python312-nbclassic
prefer: -python310-notebook -python312-notebook
# have choice for (sysvinit(network) or service(network)) needed by sysconfig: NetworkManager wicked-service
Prefer: -NetworkManager
# for symbol syslog (syslogd is best as it has the least dependencies)
Prefer: syslogd
# A couple packares require a dbus daemon to show notifications - unless oterhwise specified, we prefer the 'standalong notification-daemon;
Prefer: notification-daemon
# We have multiple nodejs versions in the repo - prefer version -default (from meta package)
Prefer: nodejs-default nodejs-devel-default npm-default
# unresolvable: have choice for libhs.so.5()(64bit) needed by rspamd: libhs5 libhs5-vectorscan5
Prefer: -libhs5-vectorscan5
# have choice for libpulse.so.0 needed by wine-32bit: apulse-32bit libpulse0-32bit - prefering the 'original'
Prefer: libpulse0-32bit libsane1-32bit pipewire-pulseaudio
# Have choice for vtk-java/vtk-tcl/python3-vtk needed by vtk-devel
Prefer: vtk-java
Prefer: eclipse-swt
# have choice for mvn(org.codehaus.mojo:build-helper-maven-plugin): build-helper-maven-plugin maven-plugin-build-helper
Prefer: -maven-plugin-build-helper
# have choice for distribution-release: Aeon-release Kalpa-release openSUSE-release
Prefer: -Aeon-release -Kalpa-release
# have choice for pkgconfig(libplacebo) >= 4.157: libplacebo-devel libplacebo5-devel
Prefer: -libplacebo5-devel
# wine comes in various flavors by now, we pick the unflavored ones
Prefer: wine-32bit wine-devel-32bit wine-devel
# have choice for pkgconfig(wlroots) >= 0.15.0: wlroots-0_16-devel wlroots-devel
Prefer: -wlroots-0_16-devel
# have choice for virtualbox-kmp = 7.0.18 needed by virtualbox-guest-tools: virtualbox-kmp-default virtualbox-kmp-longterm
Prefer: -virtualbox-kmp-longterm
# have choice for pkgconfig(nunit): nunit-devel nunit3-devel; as usual, unversioned one wins
Prefer: -nunit3-devel
# have choice for python39-pytest-asyncio: python39-pytest-asyncio python39-pytest-asyncio0.21
Prefer: -python310-pytest-asyncio0.21
Prefer: -python311-pytest-asyncio0.21
Prefer: -python312-pytest-asyncio0.21
# have choice for libsymspg.so.2()(64bit) needed by libAvogadro1: libsymspg2 python3-spglib
Prefer: -python3-spglib
# have choice for pkgconfig(fmt): fmt-9-devel fmt-devel
Prefer: -fmt-9-devel
#have choice for pkgconfig(fmt): fmt-10-devel fmt-devel
Prefer: -fmt-10-devel
# have choice for libz.so.1()(64bit) needed by gcc11: libz-ng-compat1 libz1
# Pick the regular libz.so.1
Prefer: -libz-ng-compat1 -zlib-ng-compat-devel
# have choice for (distrobox if patterns-microos-desktop-common else toolbox) needed by patterns-containers-container_runtime: patterns-microos-desktop-common toolbox
Prefer: -patterns-microos-desktop-common
# unresolvable: have choice for libomp.so()(64bit) needed by libispcrt_1: libomp11-devel libomp12-devel libomp13-devel libomp14-devel libomp15-devel, have choice for libomp.so(VERSION)(64bit) needed by libispcrt_1: libomp11-devel libomp12-devel libomp13-devel libomp14-devel libomp15-devel
Prefer: -libomp13-devel -libomp14-devel
# have choice for pkgconfig(libindi): indi-devel libindi-devel
Prefer: -indi-devel
# have choice for purpose-services >= 5.115.0 needed by purpose: kf6-purpose-services purpose-services
Prefer: -purpose-services
# have choice for cmake(KPipeWire): kpipewire-devel kpipewire6-devel
Prefer: -kpipewire-devel
# have choice for mbedtls-devel needed by bctoolbox-devel: mbedtls-2-devel mbedtls-devel
Prefer: -mbedtls-2-devel
# have choice for findutils-locate needed by catfish: mlocate plocate
Prefer: -plocate
# 32bit -devel packages contain .pc files and cause a 'have choice' for OBS. unfavor the -32bit variants
Prefer: -ColPack-devel-32bit
Prefer: -FAudio-devel-32bit
Prefer: -ImageMagick-devel-32bit
Prefer: -Mesa-libEGL-devel-32bit
Prefer: -Mesa-libGL-devel-32bit
Prefer: -Mesa-libGLESv1_CM-devel-32bit
Prefer: -Mesa-libGLESv2-devel-32bit
Prefer: -Mesa-libd3d-devel-32bit
Prefer: -Mesa-libglapi-devel-32bit
Prefer: -NetworkManager-devel-32bit
Prefer: -SDL2-devel-32bit
Prefer: -aalib-devel-32bit
Prefer: -adolc-devel-32bit
Prefer: -alsa-devel-32bit
Prefer: -alsa-topology-devel-32bit
Prefer: -at-spi2-core-devel-32bit
Prefer: -audit-devel-32bit
Prefer: -augeas-devel-32bit
Prefer: -binutils-devel-32bit
Prefer: -blas-devel-32bit
Prefer: -bluez-devel-32bit
Prefer: -cairo-devel-32bit
Prefer: -cblas-devel-32bit
Prefer: -cppunit-devel-32bit
Prefer: -cracklib-devel-32bit
Prefer: -cups-devel-32bit
Prefer: -cyrus-sasl-devel-32bit
Prefer: -dbus-1-devel-32bit
Prefer: -dbus-1-glib-devel-32bit
Prefer: -device-mapper-devel-32bit
Prefer: -dirac-devel-32bit
Prefer: -file-devel-32bit
Prefer: -flac-devel-32bit
Prefer: -fltk-devel-32bit
Prefer: -fontconfig-devel-32bit
Prefer: -freeglut-devel-32bit
Prefer: -freetype2-devel-32bit
Prefer: -gd-devel-32bit
Prefer: -gdbm-devel-32bit
Prefer: -gdk-pixbuf-devel-32bit
Prefer: -giflib-devel-32bit
Prefer: -glib2-devel-32bit
Prefer: -glibc-devel-32bit
Prefer: -glu-devel-32bit
Prefer: -gmp-devel-32bit
Prefer: -gstreamer-devel-32bit
Prefer: -gstreamer-plugins-base-devel-32bit
Prefer: -gtk2-devel-32bit
Prefer: -gtk3-devel-32bit
Prefer: -hunspell-devel-32bit
Prefer: -isl-devel-32bit
Prefer: -keyutils-devel-32bit
Prefer: -krb5-devel-32bit
Prefer: -lapack-devel-32bit
Prefer: -lapacke-devel-32bit
Prefer: -libICE-devel-32bit
Prefer: -libMagick++-devel-32bit
Prefer: -libOSMesa-devel-32bit
Prefer: -libQt5Concurrent-devel-32bit
Prefer: -libQt5Core-devel-32bit
Prefer: -libQt5DBus-devel-32bit
Prefer: -libQt5Gui-devel-32bit
Prefer: -libQt5Network-devel-32bit
Prefer: -libQt5OpenGL-devel-32bit
Prefer: -libQt5OpenGLExtensions-devel-static-32bit
Prefer: -libQt5PrintSupport-devel-32bit
Prefer: -libQt5Sql-devel-32bit
Prefer: -libQt5Test-devel-32bit
Prefer: -libQt5Widgets-devel-32bit
Prefer: -libQt5Xml-devel-32bit
Prefer: -libSDL_gfx-devel-32bit
Prefer: -libSM-devel-32bit
Prefer: -libX11-devel-32bit
Prefer: -libXau-devel-32bit
Prefer: -libXaw-devel-32bit
Prefer: -libXaw3d-devel-32bit
Prefer: -libXcomposite-devel-32bit
Prefer: -libXcursor-devel-32bit
Prefer: -libXdamage-devel-32bit
Prefer: -libXdmcp-devel-32bit
Prefer: -libXext-devel-32bit
Prefer: -libXfixes-devel-32bit
Prefer: -libXfont-devel-32bit
Prefer: -libXfont2-devel-32bit
Prefer: -libXft-devel-32bit
Prefer: -libXi-devel-32bit
Prefer: -libXinerama-devel-32bit
Prefer: -libXmu-devel-32bit
Prefer: -libXp-devel-32bit
Prefer: -libXpm-devel-32bit
Prefer: -libXprintUtil-devel-32bit
Prefer: -libXrandr-devel-32bit
Prefer: -libXrender-devel-32bit
Prefer: -libXres-devel-32bit
Prefer: -libXss-devel-32bit
Prefer: -libXt-devel-32bit
Prefer: -libXtst-devel-32bit
Prefer: -libXv-devel-32bit
Prefer: -libXvMC-devel-32bit
Prefer: -libXxf86dga-devel-32bit
Prefer: -libXxf86vm-devel-32bit
Prefer: -libacl-devel-32bit
Prefer: -libaio-devel-32bit
Prefer: -libattr-devel-32bit
Prefer: -libavc1394-devel-32bit
Prefer: -libbasicobjects-devel-32bit
Prefer: -libblkid-devel-32bit
Prefer: -libbrotli-devel-32bit
Prefer: -libbz2-devel-32bit
Prefer: -libcelt-devel-32bit
Prefer: -libcmocka-devel-32bit
Prefer: -libcollection-devel-32bit
Prefer: -libcom_err-devel-32bit
Prefer: -libcurl-devel-32bit
Prefer: -libdb-4_8-devel-32bit
Prefer: -libdbi-devel-32bit
Prefer: -libdbusmenu-qt5-devel-32bit
Prefer: -libdhash-devel-32bit
Prefer: -libdmx-devel-32bit
Prefer: -libdrm-devel-32bit
Prefer: -libeditorconfig-devel-32bit
Prefer: -libelf-devel-32bit
Prefer: -libexif-devel-32bit
Prefer: -libexpat-devel-32bit
Prefer: -libext2fs-devel-32bit
Prefer: -libfabric-devel-32bit
Prefer: -libfdisk-devel-32bit
Prefer: -libfdt-devel-32bit
Prefer: -libffi-devel-32bit
Prefer: -libfl-devel-32bit
Prefer: -libfontenc-devel-32bit
Prefer: -libgbm-devel-32bit
Prefer: -libgck-devel-32bit
Prefer: -libgcr-devel-32bit
Prefer: -libgcrypt-devel-32bit
Prefer: -libglvnd-devel-32bit
Prefer: -libgnutls-devel-32bit
Prefer: -libgpg-error-devel-32bit
Prefer: -libgphoto2-devel-32bit
Prefer: -libgsm-devel-32bit
Prefer: -libicu-devel-32bit
Prefer: -libini_config-devel-32bit
Prefer: -libjack-devel-32bit
Prefer: -libjbig-devel-32bit
Prefer: -libjpeg62-devel-32bit
Prefer: -libjpeg8-devel-32bit
Prefer: -liblcms2-devel-32bit
Prefer: -libmount-devel-32bit
Prefer: -libnettle-devel-32bit
Prefer: -libnl3-devel-32bit
Prefer: -libnotify-devel-32bit
Prefer: -libopenssl-1_0_0-devel-32bit
Prefer: -libopenssl-1_1-devel-32bit
Prefer: -libpackagekit-glib2-devel-32bit
Prefer: -libpcap-devel-32bit
Prefer: -libpng12-compat-devel-32bit
Prefer: -libpng12-devel-32bit
Prefer: -libpng16-compat-devel-32bit
Prefer: -libpng16-devel-32bit
Prefer: -libpulse-devel-32bit
Prefer: -libqb-devel-32bit
Prefer: -libqt5-qtconnectivity-devel-32bit
Prefer: -libqt5-qtdeclarative-devel-32bit
Prefer: -libqt5-qtlocation-devel-32bit
Prefer: -libqt5-qtmultimedia-devel-32bit
Prefer: -libqt5-qtserialport-devel-32bit
Prefer: -libqt5-qtspeech-devel-32bit
Prefer: -libqt5-qtsvg-devel-32bit
Prefer: -libqt5-qttools-devel-32bit
Prefer: -libqt5-qtwayland-devel-32bit
Prefer: -libqt5-qtwebchannel-devel-32bit
Prefer: -libqt5-qtwebsockets-devel-32bit
Prefer: -libqt5-qtx11extras-devel-32bit
Prefer: -libqt5-qtxmlpatterns-devel-32bit
Prefer: -libraw1394-devel-32bit
Prefer: -libref_array-devel-32bit
Prefer: -libsmartcols-devel-32bit
Prefer: -libsoup-devel-32bit
Prefer: -libsoup2-devel-32bit
Prefer: -libstdc++-devel-32bit
Prefer: -libtasn1-devel-32bit
Prefer: -libtiff-devel-32bit
Prefer: -libunistring-devel-32bit
Prefer: -libusb-1_0-devel-32bit
Prefer: -libuuid-devel-32bit
Prefer: -libv4l-devel-32bit
Prefer: -libva-devel-32bit
Prefer: -libva-gl-devel-32bit
Prefer: -libvdpau-devel-32bit
Prefer: -libverto-devel-32bit
Prefer: -libvirt-devel-32bit
Prefer: -libvorbis-devel-32bit
Prefer: -libwebp-devel-32bit
Prefer: -libxcb-devel-32bit
Prefer: -libxcrypt-devel-32bit
Prefer: -libxkbcommon-devel-32bit
Prefer: -libxkbcommon-x11-devel-32bit
Prefer: -libxkbfile-devel-32bit
Prefer: -libxml2-devel-32bit
Prefer: -libxslt-devel-32bit
Prefer: -libzstd-devel-32bit
Prefer: -lzo-devel-32bit
Prefer: -mpc-devel-32bit
Prefer: -mpfr-devel-32bit
Prefer: -mpg123-devel-32bit
Prefer: -ncurses-devel-32bit
Prefer: -ncurses5-devel-32bit
Prefer: -net-snmp-devel-32bit
Prefer: -ocl-icd-devel-32bit
Prefer: -openal-soft-devel-32bit
Prefer: -openldap2-devel-32bit
Prefer: -pam-devel-32bit
Prefer: -pango-devel-32bit
Prefer: -pciutils-devel-32bit
Prefer: -pcsc-lite-devel-32bit
Prefer: -pipewire-libjack-0_3-32bit
Prefer: -popt-devel-32bit
Prefer: -rdma-core-devel-32bit
Prefer: -readline-devel-32bit
Prefer: -samba-devel-32bit
Prefer: -sane-backends-devel-32bit
Prefer: -spirv-tools-devel-32bit
Prefer: -tslib-devel-32bit
Prefer: -unixODBC-devel-32bit
Prefer: -utempter-devel-32bit
Prefer: -vkd3d-devel-32bit
Prefer: -vulkan-devel-32bit
Prefer: -wayland-devel-32bit
Prefer: -wine-devel-32bit
Prefer: -wine-staging-devel-32bit
Prefer: -xcb-util-cursor-devel-32bit
Prefer: -xcb-util-devel-32bit
Prefer: -xcb-util-image-devel-32bit
Prefer: -xcb-util-keysyms-devel-32bit
Prefer: -xcb-util-renderutil-devel-32bit
Prefer: -xcb-util-wm-devel-32bit
Prefer: -xz-devel-32bit
Prefer: -zlib-devel-32bit
Prefer: -zvbi-devel-32bit
Prefer: -zziplib-devel-32bit
# Ruby stuff - quite a few packages exist in multiple versions in the distro; in each case, the Preference is on the 'unversioned' package
Prefer: ruby3.3-rubygem-fast_gettext
Prefer: -ruby3.3-rubygem-public_suffix-3.1
# We have opencv and opencv3 - as usual, the unversioned one should win
Prefer: opencv-devel
# python3-pytest should win over the other python3-pytest<n> variants
Prefer: python310-pytest
# Help OBS over the openssl-1_1_0 -> openssl-1_1 rename; OBS keeps the -32bit lingering around
# https://github.com/openSUSE/open-build-service/issues/4373
# We prefer the new name
Prefer: openssl
#Prefer: libopenssl1_1-32bit openssl-1_1
# Enchant has multiple backends to chose from, make a decision for OBS
Prefer: enchant-1-backends
Prefer: enchant-2-backend-hunspell
# OpenSceneGraph exists as 'latest' and a 3.4 compat package. If nothing is specified, we want latest
Prefer: libOpenSceneGraph-devel libOpenThreads-devel
# Java, especially Maven related bootstrap packages are never preferred:
Prefer: -scala-bootstrap
Prefer: -maven-compiler-plugin-bootstrap -maven-resources-plugin-bootstrap -maven-jar-plugin-bootstrap
Prefer: -maven-javadoc-plugin-bootstrap -maven-plugin-plugin-bootstrap -maven-failsafe-plugin-bootstrap
Prefer: -maven-surefire-plugin-bootstrap -maven-surefire-report-plugin-bootstrap -stringtemplate4-bootstrap
# have choice for mingw32-unistd-pthread-devel needed by mingw32-headers: mingw32-headers-dummy-pthread mingw32-winpthreads-devel
Prefer: -mingw64-headers-dummy-pthread -mingw32-headers-dummy-pthread
# Below list still needs to be reviewed
Prefer: xorg-x11-Xvnc:icewm
Prefer: cracklib-dict-small
Prefer: libstdc++6 libgcc_s1 libquadmath0 libhwasan0 libgccjit0
Prefer: libstdc++6-32bit
Prefer: syslog-service
Prefer: poppler-tools
Prefer: -libjpeg62-devel
Prefer: microcode_ctl:kernel-default
Prefer: yast2-control-center-qt
Prefer: wine
Prefer: ndesk-dbus ndesk-dbus-glib tomcat-jsp-2_3-api
Prefer: -servletapi4 -servletapi5
Prefer: icewm-lite
Prefer: monodevelop: mono-addins
Prefer: texlive-xmltex texlive-tools texlive-jadetex
Prefer: librest-0_7-0
Prefer: -geronimo-jta-1_0_1B-api -geronimo-jms-1_1-api -geronimo-jta-1_1-api javamail
Prefer: rpcbind
Prefer: wicked-service
Prefer: ant:xerces-j2
Prefer: dhcp-client:dhcp
Prefer: libGLw1
# provides typelib(St)
Prefer: -cinnamon
Prefer: -libreoffice -busybox-links -busybox -busybox-coreutils -busybox-grep -busybox-sed -busybox-xz -busybox-gzip -busybox-which
Prefer: -icc-profiles
Prefer: vala
# in doubt, take higher versions
Prefer: geronimo-servlet-2_4-api
Prefer: libhdf5_hl100 -libhdf5-103-mvapich2 -libhdf5_cpp103-mvapich2 -libhdf5-103-openmpi4 -libhdf5_cpp103-openmpi4
Prefer: libhdf5_hl200 -libhdf5-200-mvapich2 -libhdf5_cpp200-mvapich2 -libhdf5-200-openmpi4 -libhdf5_cpp200-openmpi4 -libhdf5-200-openmpi5 -libhdf5_cpp200-openmpi5
Prefer: -openmpi5-libs
Prefer: -openmpi5-config
Prefer: fftw3-devel
# prefer the small systemd for building
Prefer: star
Prefer: xmlgraphics-commons:apache-commons-io
# the -32bit stuff provides things it shouldn't (hopefully temporary)
Prefer: -glib2-devel-32bit -typelib-1_0-Gst-1_0-32bit
Prefer: postgresql postgresql-server postgresql-devel postgresql-server-devel
Prefer: postgresql16-devel-mini
# only needed to bootstrap 11, but leave it - 12 will come at some point :)
Prefer: -unzip-rcc
Prefer: -primus
Prefer: -staging-build-key
Prefer: -clutter-gst-devel
# We have multiple versions of ffmpeg available, the preferred one is ffmpeg5, followd by 4, followed by 3
%define ffmpeg_pref ffmpeg-6
Prefer: %{ffmpeg_pref}-mini-libs
Prefer: %{ffmpeg_pref}-mini-devel
Prefer: %{ffmpeg_pref} %{ffmpeg_pref}-libavcodec-devel %{ffmpeg_pref}-libavformat-devel %{ffmpeg_pref}-libavutil-devel %{ffmpeg_pref}-libswscale-devel %{ffmpeg_pref}-libavdevice-devel %{ffmpeg_pref}-libavfilter-devel
Prefer: -ffmpeg-7-libavcodec-devel -ffmpeg-7-libavformat-devel -ffmpeg-7-libavutil-devel
Macros:
%ffmpeg_pref ffmpeg-6
:Macros
# oxygen5-icon-theme osboletes oxygen-icon-theme
Prefer: oxygen5-icon-theme
# kernel bug (coolo)
Prefer: kernel-default-devel
# llvm exists in multiple versions
Prefer: libclang13 libc++1 libc++abi1 libc++-devel libc++abi-devel
Prefer: -wxWidgets-3_0-devel wxWidgets-3_2-devel
Prefer: -libwx_baseu-suse-nostl3_0_5 -libwx_baseu-suse3_0_5
Prefer: libopenssl-devel
Prefer: libqca-qt5-2 qca-qt5-plugins
Prefer: -xaw3dd -amanda
Prefer: libgcc_s1 libgcc_s1-32bit
Prefer: libffi-devel
Prefer: libatomic1 libitm1 liblsan0 libtsan0 libubsan0
Prefer: libatomic1-32bit libcilkrts5-32bit libitm1-32bit libubsan0-32bit
Prefer: libgomp1 libgomp1-32bit
Prefer: libobjc4 libquadmath0
Prefer: gnu-crypto libusb-compat-devel
Prefer: libusb-0_1-4
Prefer: libreoffice:xerces-j2
Prefer: glibc-devel
Prefer: netcdf-devel
Prefer: libnetcdf19
Prefer: NetworkManager:dhcp-client
Prefer: pcre-tools
Prefer: libpopt0 makeinfo
Prefer: -apache2-mod_perl
Prefer: libgnome-keyring-devel
Prefer: gnome-keyring-32bit
Prefer: linux-glibc-devel
Prefer: squid
Prefer: libpng16-compat-devel
Prefer: -python -libpng12-0
Prefer: perl-Mail-SPF:perl-Error
Prefer: -xml-commons-apis-bootstrap -xml-commons-resolver-bootstrap
Prefer: xmlgraphics-fop:xerces-j2
Prefer: cogl-devel
Prefer: -perl-XML-SAX perl-Test-YAML -perl-Pod-Usage
Prefer: libpsm2-compat
# choice p11-kit-nss-trust
Prefer: mozilla-nss-certs
# replacing mkinitrd
Prefer: dracut
# Temporary
Prefer: -perl-App-cpanminus
# libmediaart is prepared for a larger update; for now favor mediaart-1.0
Prefer: -typelib-1_0-MediaArt-2_0
Prefer: -typelib-1_0-Gtk-2_0 -typelib-1_0-Gtk-4_0 -typelib-1_0-GooCanvas-2_0
Prefer: typelib-1_0-GtkSource-4
Prefer: gettext-its-gtk3 gtk3-schema
# for pkgconfig(ijs) and no one actually rely on ghostscript-mini-devel in Factory
Prefer: ghostscript-devel
# for pkgconfig(libotf) libotf-devel and libotf-devel-32bit both provides it
Prefer: libotf-devel
# Prefer libsane1 over utsushi
Prefer: libsane1
# libglfw3 over libglfw3-wayland
Prefer: libglfw3
# have choice for (xclip or wl-clipboard) needed by password-store: wl-clipboard xclip
Prefer: -wl-clipboard
Ignore: installation-images-openSUSE:cracklib-dict-full
Ignore: openSUSE-release:openSUSE-release-ftp,openSUSE-release-dvd5,openSUSE-release-biarch,openSUSE-release-livecdkde,openSUSE-release-livecdgnome
Ignore: openSUSE-MicroOS-release:openSUSE-MicroOS-release-dvd,openSUSE-MicroOS-release-kubic-dvd
Ignore: MicroOS-release:openSUSE-MicroOS-release-dvd,openSUSE-MicroOS-release-kubic-dvd
Ignore: MicroOS-release:MicroOS-release-ftp,MicroOS-release-dvd
Ignore: cracklib:cracklib-dict
Ignore: aaa_base:aaa_skel,suse-release,logrotate,ash,distribution-release,udev
Ignore: rpm:suse-build-key,build-key
Ignore: cloud-init:cloud-init-config
Ignore: xorg-x11:x11-tools,resmgr,xkeyboard-config,xorg-x11-Mesa,libusb,freetype2,libjpeg,libpng
Ignore: xorg-x11-server:xorg-x11-driver-input,xorg-x11-driver-video
Ignore: apache2:logrotate
Ignore: libxml2-devel:readline-devel
Ignore: gnutls:lzo,libopencdk
Ignore: gnutls-devel:lzo-devel,libopencdk-devel
Ignore: pango:cairo,glitz,libpixman,libpng
Ignore: cairo-devel:libpixman-devel
Ignore: scrollkeeper:docbook_4
Ignore: python-devel:python-tk
Ignore: libgtk-3-0:adwaita-icon-theme
Ignore: libgtk-3-0:gdk-pixbuf-loader-rsvg
Ignore: samba-libs:krb5
Ignore: libxfce4ui-1-0:exo-tools
Ignore: docbook_4:iso_ent,xmlcharent
Ignore: docbook-xsl-stylesheets:xmlcharent
Ignore: liby2util-devel:libstdc++-devel,openssl-devel
Ignore: yast2:yast2-ncurses,yast2_theme,perl-Config-Crontab,yast2-xml,SuSEfirewall2
Ignore: yast2-core:netcat,hwinfo,wireless-tools,sysfsutils
Ignore: yast2-core-devel:libxcrypt-devel,hwinfo-devel,blocxx-devel,sysfsutils,libstdc++-devel
Ignore: yast2-packagemanager-devel:rpm-devel,curl-devel,openssl-devel
Ignore: yast2-devtools:libxslt
Ignore: yast2-iscsi-lio-server:lio-utils
Ignore: yast2-installation:yast2-update,yast2-mouse,yast2-country,yast2-bootloader,yast2-packager,yast2-network,yast2-online-update,yast2-users,release-notes,autoyast2-installation
Ignore: yast2-bootloader:bootloader-theme
Ignore: yast2-packager:yast2-x11,libyui_pkg
Ignore: autoyast2:yast2-schema
# not during build
Ignore: yast2-x11:sax2-libsax-perl
Ignore: openslp-devel:openssl-devel
Ignore: tetex:expat,fontconfig,freetype2,libjpeg,ghostscript-x11,xaw3d,gd,dialog
Ignore: texlive-bin:ghostscript-x11
Ignore: texlive-bin-omega:ghostscript-x11
Ignore: yast2-country:yast2-trans-stats
Ignore: tpb:tpctl-kmp
Ignore: tpctl:tpctl-kmp
Ignore: mkinitrd:pciutils
Ignore: pciutils:pciutils-ids
Ignore: postfix:iproute2
Ignore: aaa_base:systemd
Ignore: gpm:systemd
Ignore: openssh:systemd
Ignore: cronie:systemd
Ignore: systemd:kbd
Ignore: systemd:kmod
Ignore: systemd:systemd-presets-branding
Ignore: systemd:pam-config
Ignore: systemd:udev
Ignore: pesign:systemd
Ignore: logrotate:cron
Ignore: texlive-filesystem:cron
Ignore: xinit:xterm
Ignore: xdm:xterm
Ignore: gnome-control-center:gnome-themes-accessibility
Ignore: libgio-2_0-0:dbus-launch
Ignore: man:groff-full
Ignore: git-core:rsync
Ignore: apache2:systemd
Ignore: icewm-lite:icewm
Ignore: cluster-glue:sudo
Ignore: ncurses-32bit
Ignore: mailx:smtp_daemon
Ignore: cron:smtp_daemon
Ignore: postfix:sysvinit(syslog)
Ignore: cups:sysvinit(syslog)
Ignore: jython:servlet
Ignore: ispell:ispell_dictionary,ispell_english_dictionary
Ignore: aspell:aspel_dictionary,aspell_dictionary
Ignore: smartlink-softmodem:kernel,kernel-nongpl
Ignore: libreoffice-de:myspell-german-dictionary
Ignore: libreoffice:libreoffice-i18n
Ignore: libreoffice:libreoffice-icon-themes
Ignore: mediawiki:php-session,php-gettext,php-zlib,php-mysql,mod_php_any
Ignore: squirrelmail:mod_php_any,php-session,php-gettext,php-iconv,php-mbstring,php-openssl
Ignore: perl-Log-Log4perl:rrdtool
Ignore: horde:mod_php_any,php-gettext,php-mcrypt,php-imap,php-pear-log,php-pear,php-session,php
Ignore: xerces-j2:xml-commons-apis,xml-commons-resolver
Ignore: xdg-menu:desktop-data
Ignore: nessus-libraries:nessus-core
Ignore: mono-tools:mono(gconf-sharp),mono(glade-sharp),mono(gnome-sharp),mono(gtkhtml-sharp),mono(atk-sharp),mono(gdk-sharp),mono(glib-sharp),mono(gtk-sharp),mono(pango-sharp)
Ignore: vcdimager:libcdio.so.6,libcdio.so.6(CDIO_6),libiso9660.so.4,libiso9660.so.4(ISO9660_4)
Ignore: libcdio:libcddb.so.2
Ignore: coreutils:coreutils-lang
Ignore: cpio:cpio-lang
Ignore: glib2:glib2-lang
Ignore: gtk2:gtk2-lang
Ignore: gtk:gtk-lang
Ignore: atk:atk-lang
Ignore: MozillaThunderbird:pinentry-dialog
Ignore: seamonkey:pinentry-dialog
Ignore: pinentry:pinentry-dialog
Ignore: gpg2:gpg2-lang
Ignore: util-linux:util-linux-lang
Ignore: compiz:compiz-decorator
Ignore: icecream:gcc-c++
#Ignore: no
#Ignore: package
#Ignore: provides
#Ignore: j9vm/libjvm.so()(64bit)
Ignore: gnome-menus:gnome-menus-branding
Ignore: epiphany:epiphany-branding
Ignore: gnome-control-center:gnome-control-center-branding
Ignore: MozillaFirefox:MozillaFirefox-branding
Ignore: yast2:yast2-branding
Ignore: plymouth:plymouth-branding
Ignore: plymouth:suspend
Ignore: yast2-qt:yast2-branding
Ignore: yast2-theme-SLE:yast2-branding
Ignore: compiz:compiz-branding
Ignore: texlive:perl-Tk texlive-bin:perl-Tk
Ignore: xfce4-desktop:xfce4-desktop-branding
Ignore: xfce4-panel:xfce4-panel-branding
Ignore: xfce4-session:xfce4-session-branding
Ignore: kdebase4-runtime:kdebase4-runtime-branding
Ignore: transmission-common:transmission-ui
Ignore: sysvinit-tools:mkinitrd cifs-utils:mkinitrd
Ignore: gpg2:pinentry
# sysconfig requires it at runtime, not buildtime
Ignore: sysconfig:sysvinit(network)
# no build dependencies
Ignore: syslog-service:logrotate
Ignore: libglue-devel:cluster-glue
Ignore: libqca2:gpg2
Ignore: NetworkManager:wpa_supplicant
Ignore: NetworkManager:dhcp-client
Ignore: libgio-2_0-0:dbus-1-x11
Ignore: libgio-2_0-0:dbus-1
Prefer: libgio-2_0-0:dbus-1
Ignore: libgamin-1-0:gamin-server
Ignore: libfam0-gamin:gamin-server
Ignore: avahi:sysvinit(network)
Ignore: cluster-glue:sysvinit(network)
Ignore: dracut:systemd-sysvinit
Ignore: yui_backend
%ifarch ppc64le
#Constraint: hostlabel PPC64LE_HOST
Constraint: hardware:cpu:flag power8
%endif
Macros:
# RUBY - UNVERSIONED STUFF
#
# IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
#
# if you change any macros here you have to update the copy in the
# prjconf aswell.
#
# IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
#
%rubygem() %{expand:%%{rubygems%rb_build_versions STOP %*}}
%rubygemsSTOP() %nil
%rubygemsxSTOP() %{expand:%%rubygemsxxSTOP -a %*}
%rubygemsxxSTOP(a:) %{-a*}) %*
%rubySTOP() %nil
%rubyxSTOP() %*
%ruby() %{expand:%%{ruby%rb_build_versions STOP %*}}
%rubydevel() %{expand:%%{rubydevel%rb_build_versions STOP %*}}
%rubydevelSTOP() %nil
%rubydevelxSTOP() %*
#
#
# IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
#
# if you change any macros here you have to update the copy in
# ruby<X.X> aswell.
#
# IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
#
### And now Ruby 3.2
%rubygemsruby32() rubygem(ruby:3.2.0:%{expand:%%rubygemsx%*} %{expand:%%{rubygems%*}}
%rubygemsxruby32() %{expand:%%{rubygemsx%*}}
%rubyruby32() ruby3.2 %{expand:%%rubyx%*} %{expand:%%{ruby%*}}
%rubyxruby32() %{expand:%%{rubyx%*}}
%rubydevelruby32() ruby3.2-devel %{expand:%%rubydevelx%*} %{expand:%%{rubydevel%*}}
%rubydevelxruby32() %{expand:%%{rubydevelx%*}}
### And now Ruby 3.3
%rubygemsruby33() rubygem(ruby:3.3.0:%{expand:%%rubygemsx%*} %{expand:%%{rubygems%*}}
%rubygemsxruby33() %{expand:%%{rubygemsx%*}}
%rubyruby33() ruby3.3 %{expand:%%rubyx%*} %{expand:%%{ruby%*}}
%rubyxruby33() %{expand:%%{rubyx%*}}
%rubydevelruby33() ruby3.3-devel %{expand:%%rubydevelx%*} %{expand:%%{rubydevel%*}}
%rubydevelxruby33() %{expand:%%{rubydevelx%*}}
### Things to define default ruby stuff for the distro
%rb_default_ruby ruby33
%rb_default_ruby_suffix ruby3.3
%rb_default_ruby_abi ruby:3.3.0
%rb_build_ruby_abis ruby:3.3.0
%rb_build_versions ruby33
:Macros
Macros:
%_with_ruby33 1
:Macros
%define _with_ruby33 1
%define rb_default_ruby ruby33
%define rb_default_ruby_suffix ruby3.3
%define rb_default_ruby_abi ruby:3.3.0
%define rb_build_ruby_abis ruby:3.3.0
%define rb_build_versions ruby33
Prefer: %{rb_default_ruby_suffix}-rubygem-asciidoctor
Prefer: %{rb_default_ruby_suffix}-rubygem-bundler
Prefer: %{rb_default_ruby_suffix}-rubygem-cfa
Prefer: %{rb_default_ruby_suffix}-rubygem-cheetah
Prefer: %{rb_default_ruby_suffix}-rubygem-gem2rpm
Prefer: %{rb_default_ruby_suffix}-rubygem-inifile
Prefer: %{rb_default_ruby_suffix}-rubygem-kramdown
Prefer: %{rb_default_ruby_suffix}-rubygem-mini_portile2
Prefer: %{rb_default_ruby_suffix}-rubygem-ronn
Prefer: %{rb_default_ruby_suffix}-rubygem-rspec
Prefer: %{rb_default_ruby_suffix}-rubygem-ruby-dbus
Prefer: %{rb_default_ruby_suffix}-rubygem-sass
Prefer: %{rb_default_ruby_suffix}-rubygem-sass-rails
Prefer: %{rb_default_ruby_suffix}-rubygem-yard
Prefer: %{rb_default_ruby_suffix}-rubygem-yast-rake
# END RUBY STUFF
# PYTHON STUFF
%define primary_python python311
%define skip_python2 1
%define _without_python2 1
Macros:
## PYTHON MACROS BEGIN
# order of %pythons is important: The last flavor overrides any operation on conflicting files and definitions during expansions,
# making it the "default" in many cases --> keep the primary python3 provider at the end.
%pythons %{?!skip_python3:%{?!skip_python310:python310} %{?!skip_python312:python312} %{?!skip_python311:python311}}
%add_python() %{expand:%%define pythons %1 %pythons}
%_without_python2 1
# prjconf definitions for python-rpm-macros
# This method for generating python_modules gets too deep to expand for rpm at about 5 python flavors.
# Hence, python_module_iter is replaced by python_module_lua in macros.lua.
# However, OBS cannot expand lua, but has a much higher expansion depth, so this works fine for the server side resolver.
%python_module_iter(a:) %{expand:%%define python %{-a*}} ( %python-%args ) %{expand:%%{?!python_module_iter_%1:%%{python_module_iter -a%*}}%%{?python_module_iter_%1}}
# pseudo-undefine for obs: reset for the next expansion within the next call of python_module
%python_module_iter_STOP %global python %%%%python
%python_module() %{?!python_module_lua:%{expand:%%define args %{**}} %{expand:%%{python_module_iter -a %{pythons} STOP}}}%{?python_module_lua:%python_module_lua %{**}}
# gh#openSUSE/python-rpm-macros#127 ... define our current primary Python interpreter
%primary_python python311
## PYTHON MACROS END
:Macros
# END PYTHON STUFF
# BEGIN RUST STUFF
Prefer: cargo
# Define the architectures in which Rust (and Rust crates) are available
# NOTE: Keep this in sync with rust-srpm-macros!
%define rust_arches x86_64 i586 i686 armv6hl armv7hl aarch64 ppc64 powerpc64 ppc64le powerpc64le riscv64 s390x
%define rust_tier1_arches x86_64 aarch64
Macros:
%rust_arches x86_64 i586 i686 armv6hl armv7hl aarch64 ppc64 powerpc64 ppc64le powerpc64le riscv64 s390x
%rust_tier1_arches x86_64 aarch64
:Macros
# END RUST STUFF
# Default to Java 21 - !! Also adjust 000package-groups/*-release.spec.in to suggest the right version ~~
Prefer: java-21-openjdk-devel java-21-openjdk java-21-openjdk-headless java-21-openjdk-javadoc
Prefer: java-17-openjdk-devel java-17-openjdk java-17-openjdk-headless java-17-openjdk-javadoc
Prefer: java-11-openjdk-devel java-11-openjdk java-11-openjdk-headless java-11-openjdk-javadoc
%ifarch s390x
Prefer: java-1_8_0-openj9-devel java-1_8_0-openj9 java-1_8_0-openj9-headless
%endif
Prefer: java-1_8_0-openjdk-devel java-1_8_0-openjdk java-1_8_0-openjdk-headless java-1_8_0-openjdk-javadoc
%ifarch x86_64 ppc64 s390x sparc64
Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
%else
%ifarch ppc sparc sparcv9
Substitute: glibc-devel-32bit glibc-devel-64bit
%else
Substitute: glibc-devel-32bit
%endif
%endif
%ifarch %ix86
Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-xen
%endif
%ifarch ia64
Substitute: kernel-binary-packages kernel-default kernel-debug
%endif
%ifarch x86_64
Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen
%endif
%ifarch ppc
Substitute: kernel-binary-packages kernel-default kernel-ppc64 kernel-ps3
%endif
%ifarch ppc64
Substitute: kernel-binary-packages kernel-default kernel-ppc64
%endif
%ifarch s390
Substitute: kernel-binary-packages kernel-s390
%endif
%ifarch s390x
Substitute: kernel-binary-packages kernel-default
%endif
# until the builds of the packages are fixed...
Substitute: yast2-theme-SLED
Substitute: yast2-theme-SLE
Optflags: i586 -fomit-frame-pointer
Optflags: i686 -march=i686 -mtune=generic -fomit-frame-pointer
Optflags: x86_64
Optflags: x86_64_v2 -march=x86-64-v2
Optflags: x86_64_v3 -march=x86-64-v3
Optflags: x86_64_v4 -march=x86-64-v4
Optflags: ppc
Optflags: ppc64
Optflags: ia64
Optflags: s390
Optflags: s390x
Optflags: armv7l
Optflags: armv7hl
Optflags: armv6l
Optflags: armv6hl
Optflags: aarch64 -mbranch-protection=standard
Optflags: ppc64le
# need mcpu=ultrasparc to complete sparcv8plus to sparcv9 (adds, for example, atomic ops)
Optflags: sparcv9 -mcpu=ultrasparc
Optflags: sparc64 -mcpu=ultrasparc
%ifarch sparcv9
Target: sparcv9
%endif
%ifarch armv6l armv6hl
Target: armv6hl-suse-linux
Support: cputype-armv6
Runscripts: cputype-armv6
%endif
%ifarch armv7l armv7hl
Target: armv7hl-suse-linux
Support: cputype-armv7
Runscripts: cputype-armv7
%endif
Optflags: * -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type %%{?_lto_cflags}
# 15.5 does not exist !
%define suse_version 1699
%define is_opensuse 1
%define skelcd_compat 0
%ifarch i586 i686 x86_64
RepoURL: https://download.opensuse.org/tumbleweed/repo/oss
%endif
%ifarch aarch64
RepoURL: https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss
%endif
%ifarch armv6hl
RepoURL: https://download.opensuse.org/ports/armv6hl/tumbleweed/repo/oss
%endif
%ifarch armv7hl
RepoURL: https://download.opensuse.org/ports/armv7hl/tumbleweed/repo/oss
%endif
%ifarch ppc ppc64 ppc64le
RepoURL: https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss
%endif
%ifarch riscv64
RepoURL: https://download.opensuse.org/ports/riscv/tumbleweed/repo/oss
%endif
%ifarch s390 s390x
RepoURL: https://download.opensuse.org/ports/zsystems/tumbleweed/repo/oss
%endif
RegistryURL: https://registry.opensuse.org
# Reproducible builds
%if "%{sub %_project 1 9}" == "openSUSE:"
Macros:
%source_date_epoch_from_changelog Y
:Macros
%endif
Macros:
%set_mtime_to_source_date_epoch Y
%use_source_date_epoch_as_buildtime Y
%_buildhost reproducible
:Macros
Macros:
%suse_version 1699
%is_opensuse 1
%skelcd_compat 0
%build_ldflags %{?_lto_cflags}
%insserv_prereq insserv sed
%fillup_prereq fillup /usr/bin/mkdir /usr/bin/touch
%suseconfig_fonts_prereq perl aaa_base
# I can't just not define it, as otherwise all specs using it break: [ 25s] error: line 27: Empty tag: Requires(post):
%install_info_prereq /bin/sh
%kernel_build_shell_package bash-sh
%kernel_module_package_buildreqs modutils kernel-syms kmod-compat suse-kernel-rpm-scriptlets %kernel_build_shell_package
%sles_version 0
%ul_version 0
%do_profiling 1
%opensuse_bs 1
%_vendor suse
# define which postgres is default
%postgresql_default_ver 16
# define which llvm package builds the system libraries
%product_libs_llvm_ver 18
# define which gcc package builds the system libraries
%product_libs_gcc_ver 14
# The following shlibs have latest versions built from GCC 6 sources
%product_libs_gcc_ver_libasan3 6
%product_libs_gcc_ver_libgo9 6
%product_libs_gcc_ver_libgfortran3 6
# reminded by richi 2017 4/3
%product_libs_gcc_ver_libgcj_bc1 6
# The following shlibs have the latest version built from GCC 7 sources
%product_libs_gcc_ver_libgfortran4 7
%product_libs_gcc_ver_libasan4 7
%product_libs_gcc_ver_libtsan0 7
%product_libs_gcc_ver_libubsan0 7
%product_libs_gcc_ver_libcilkrts5 7
%product_libs_gcc_ver_libgo11 7
# The following shlibs have the latest version built from GCC 8
%product_libs_gcc_ver_libmpx2 8
%product_libs_gcc_ver_libmpxwrappers2 8
%product_libs_gcc_ver_libgo13 8
# The following shlibs have the latest version built from GCC 9 sources
%product_libs_gcc_ver_libasan5 9
%product_libs_gcc_ver_libgo14 9
# The following shlibs have the latest version built from GCC 10 sources
%product_libs_gcc_ver_libgphobos1 10
%product_libs_gcc_ver_libgdruntime1 10
%product_libs_gcc_ver_libgo16 10
# The following shlibs have the latest version built from GCC 11 sources
%product_libs_gcc_ver_libasan6 11
%product_libs_gcc_ver_libgo19 11
%product_libs_gcc_ver_libgphobos2 11
%product_libs_gcc_ver_libgdruntime2 11
# The following shlibs have the latest version build from GCC 12 sources
%product_libs_gcc_ver_libgo21 12
%product_libs_gcc_ver_libgphobos3 12
%product_libs_gcc_ver_libgdruntime3 12
# The following shlibs have the latest version build from GCC 13 sources
%product_libs_gcc_ver_libm2 13
%product_libs_gcc_ver_libgo22 13
%product_libs_gcc_ver_libgphobos4 13
%product_libs_gcc_ver_libgdruntime4 13
%gcc_version 13
%ext_info .gz
%ext_man .gz
## from update-bootloader-rpm-macros - impacts build deps
#update_bootloader_requires %nil
:Macros
# UsrMerge - 2021-05-25
%define usrmerged 1
Macros:
%usrmerged 1
:Macros
BuildFlags: excludebuild:audit:audit-secondary
BuildFlags: excludebuild:autoconf:el
BuildFlags: excludebuild:automake:testsuite
BuildFlags: excludebuild:binutils:avr
BuildFlags: excludebuild:binutils:epiphany
BuildFlags: excludebuild:binutils:hppa
BuildFlags: excludebuild:binutils:hppa64
BuildFlags: excludebuild:binutils:i386
BuildFlags: excludebuild:binutils:ia64
BuildFlags: excludebuild:binutils:m68k
BuildFlags: excludebuild:binutils:mips
BuildFlags: excludebuild:binutils:ppc
#BuildFlags: excludebuild:binutils:ppc64le
BuildFlags: excludebuild:binutils:pru
BuildFlags: excludebuild:binutils:rx
BuildFlags: excludebuild:binutils:s390
#BuildFlags: excludebuild:binutils:s390x
BuildFlags: excludebuild:binutils:sparc
BuildFlags: excludebuild:binutils:sparc64
BuildFlags: excludebuild:binutils:spu
BuildFlags: excludebuild:binutils:xtensa
BuildFlags: excludebuild:coreutils:single
BuildFlags: excludebuild:cmake:gui
BuildFlags: excludebuild:cmake:full
BuildFlags: excludebuild:coreutils:systemd
BuildFlags: excludebuild:coreutils:testsuite
BuildFlags: excludebuild:dpkg
BuildFlags: excludebuild:dwz:testsuite
BuildFlags: excludebuild:elfutils:elfutils-debuginfod
BuildFlags: excludebuild:file:python-magic
BuildFlags: excludebuild:gcc12:cross-amdgcn-gcc12
BuildFlags: excludebuild:gcc12:cross-arm-none-gcc12
BuildFlags: excludebuild:gcc12:cross-avr-gcc12
BuildFlags: excludebuild:gcc12:cross-avr-gcc12-bootstrap
BuildFlags: excludebuild:gcc12:cross-epiphany-gcc12
BuildFlags: excludebuild:gcc12:cross-epiphany-gcc12-bootstrap
BuildFlags: excludebuild:gcc12:cross-hppa-gcc12
BuildFlags: excludebuild:gcc12:cross-hppa-gcc12-bootstrap
BuildFlags: excludebuild:gcc12:cross-m68k-gcc12
BuildFlags: excludebuild:gcc12:cross-mips-gcc12
BuildFlags: excludebuild:gcc12:cross-nvptx-gcc12
BuildFlags: excludebuild:gcc12:cross-ppc64le-gcc12
BuildFlags: excludebuild:gcc12:cross-pru-gcc12
BuildFlags: excludebuild:gcc12:cross-pru-gcc12-bootstrap
BuildFlags: excludebuild:gcc12:cross-riscv64-elf-gcc12
BuildFlags: excludebuild:gcc12:cross-riscv64-elf-gcc12-bootstrap
BuildFlags: excludebuild:gcc12:cross-rx-gcc12
BuildFlags: excludebuild:gcc12:cross-rx-gcc12-bootstrap
BuildFlags: excludebuild:gcc12:cross-s390x-gcc12
BuildFlags: excludebuild:gcc12:cross-sparc-gcc12
BuildFlags: excludebuild:gcc12:cross-sparc64-gcc12
BuildFlags: excludebuild:gcc12:gcc12-testresults
BuildFlags: excludebuild:gcc14:cross-amdgcn-gcc14
BuildFlags: excludebuild:gcc14:cross-arm-none-gcc14
BuildFlags: excludebuild:gcc14:cross-aarch64-gcc14
BuildFlags: excludebuild:gcc14:cross-riscv64-gcc14
BuildFlags: excludebuild:gcc14:cross-avr-gcc14
BuildFlags: excludebuild:gcc14:cross-avr-gcc14-bootstrap
BuildFlags: excludebuild:gcc14:cross-epiphany-gcc14
BuildFlags: excludebuild:gcc14:cross-epiphany-gcc14-bootstrap
BuildFlags: excludebuild:gcc14:cross-hppa-gcc14
BuildFlags: excludebuild:gcc14:cross-hppa-gcc14-bootstrap
BuildFlags: excludebuild:gcc14:cross-m68k-gcc14
BuildFlags: excludebuild:gcc14:cross-mips-gcc14
BuildFlags: excludebuild:gcc14:cross-nvptx-gcc14
BuildFlags: excludebuild:gcc14:cross-ppc64le-gcc14
BuildFlags: excludebuild:gcc14:cross-pru-gcc14
BuildFlags: excludebuild:gcc14:cross-pru-gcc14-bootstrap
BuildFlags: excludebuild:gcc14:cross-riscv64-elf-gcc14
BuildFlags: excludebuild:gcc14:cross-riscv64-elf-gcc14-bootstrap
BuildFlags: excludebuild:gcc14:cross-rx-gcc14
BuildFlags: excludebuild:gcc14:cross-rx-gcc14-bootstrap
BuildFlags: excludebuild:gcc14:cross-s390x-gcc14
BuildFlags: excludebuild:gcc14:cross-sparc-gcc14
BuildFlags: excludebuild:gcc14:cross-sparc64-gcc14
BuildFlags: excludebuild:gcc14:gcc14-testresults
BuildFlags: excludebuild:gettext-runtime
BuildFlags: excludebuild:glibc:cross-aarch64
BuildFlags: excludebuild:glibc:cross-ppc64le
BuildFlags: excludebuild:glibc:cross-riscv64
BuildFlags: excludebuild:glibc:cross-s390x
BuildFlags: excludebuild:glibc:testsuite
BuildFlags: excludebuild:glibc:utils
BuildFlags: excludebuild:gettext-runtime:gettext-csharp
BuildFlags: excludebuild:gettext-runtime:gettext-java
BuildFlags: excludebuild:libcap-ng:libcap-ng-python
BuildFlags: excludebuild:libdb-4_8:libdb_java-4_8
BuildFlags: excludebuild:libeconf:python-libeconf
BuildFlags: excludebuild:libseccomp:python3
BuildFlags: excludebuild:libselinux:libselinux-bindings
BuildFlags: excludebuild:libsemanage:python-semanage
BuildFlags: excludebuild:libtool:testsuite
BuildFlags: excludebuild:meson:test
BuildFlags: excludebuild:mpdecimal:test
BuildFlags: excludebuild:ninja:test
BuildFlags: excludebuild:pam:full
BuildFlags: excludebuild:python-flit-core
BuildFlags: excludebuild:python-flit-core:test
BuildFlags: excludebuild:python-packaging
BuildFlags: excludebuild:python-packaging:test
BuildFlags: excludebuild:python311
BuildFlags: excludebuild:python311:doc
BuildFlags: excludebuild:rpm:python-rpm
BuildFlags: excludebuild:systemtap
BuildFlags: excludebuild:systemtap:systemtap-docs
BuildFlags: excludebuild:tclap:tclap-doc
BuildFlags: excludebuild:timezone:timezone-java
BuildFlags: excludebuild:util-linux:python
BuildFlags: excludebuild:util-linux:systemd
Support: !rpmlint-mini !rpmlint-mini-strict