diff --git a/_config b/_config new file mode 100644 index 0000000..661ee2d --- /dev/null +++ b/_config @@ -0,0 +1,2127 @@ +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 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 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 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