Warning: Permanently added '54.91.164.169' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --srpm --task-url https://copr.fedorainfracloud.org/backend/get-srpm-build-task/9222749 Version: 1.3 PID: 8739 Logging PID: 8740 Task: {'appstream': False, 'background': False, 'build_id': 9222749, 'chroot': None, 'package_name': 'kernel', 'project_dirname': 'packages', 'project_name': 'packages', 'project_owner': 'errornointernet', 'repos': [], 'sandbox': 'errornointernet/packages--errornointernet', 'source_json': {'clone_url': 'https://github.com/ErrorNoInternet/rpm-packages', 'committish': '', 'spec': 'kernel.spec', 'srpm_build_method': 'make_srpm', 'subdirectory': 'kernel/upstream', 'type': 'git'}, 'source_type': 8, 'submitter': 'errornointernet', 'task_id': '9222749'} Running: git clone https://github.com/ErrorNoInternet/rpm-packages /var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://github.com/ErrorNoInternet/rpm-packages', '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: Submodule path 'btop/upstream': checked out 'b86a257f869a82cfaa59fd848fa942fd98988cb2' Submodule path 'btrfs-progs/upstream': checked out '3a114360ceb271a9592c77a4b627fd3a7353cade' Submodule path 'coreutils/upstream': checked out '808a3165673f80423f6576b734c91ea50a8ca8c0' Submodule path 'elinks/upstream': checked out '4105f1c64d11f9780127fc846955b6d365888287' Submodule path 'fcitx5/upstream': checked out '332715bb24d25689c3470f4f53baf080483dce06' Submodule path 'kernel/upstream': checked out 'ee34d150616eb4f80a8dfc8a6f3b4e687e94ca41' Submodule path 'kitty/upstream': checked out 'e45e3a02525e05229e80e0cc088308be65f53974' Submodule path 'neovim/upstream': checked out 'a3be6d4d63707e750db57ef8768a8049fb5f1462' Submodule path 'nheko/upstream': checked out '44cd814c93e823a68f7042016b7a2dc448247ff7' Submodule path 'rofimoji/upstream': checked out 'd31c0d741f7f7e1c4865f2d9bd26d8cf49b779ab' Submodule path 'rsync/upstream': checked out '630649e423acb05e3e9efa6786d952ea219e017b' Submodule path 'strace/upstream': checked out '9cc45647b6c10ebe23978d07457f970828be39bf' stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages'... Submodule 'btop/upstream' (https://src.fedoraproject.org/rpms/btop) registered for path 'btop/upstream' Submodule 'btrfs-progs/upstream' (https://src.fedoraproject.org/rpms/btrfs-progs) registered for path 'btrfs-progs/upstream' Submodule 'coreutils/upstream' (https://src.fedoraproject.org/rpms/coreutils) registered for path 'coreutils/upstream' Submodule 'elinks/upstream' (https://src.fedoraproject.org/rpms/elinks) registered for path 'elinks/upstream' Submodule 'fcitx5/upstream' (https://src.fedoraproject.org/rpms/fcitx5) registered for path 'fcitx5/upstream' Submodule 'kernel/upstream' (https://src.fedoraproject.org/rpms/kernel) registered for path 'kernel/upstream' Submodule 'kitty/upstream' (https://src.fedoraproject.org/rpms/kitty) registered for path 'kitty/upstream' Submodule 'neovim/upstream' (https://src.fedoraproject.org/rpms/neovim) registered for path 'neovim/upstream' Submodule 'nheko/upstream' (https://src.fedoraproject.org/rpms/nheko) registered for path 'nheko/upstream' Submodule 'rofimoji/upstream' (https://src.fedoraproject.org/rpms/rofimoji) registered for path 'rofimoji/upstream' Submodule 'rsync/upstream' (https://src.fedoraproject.org/rpms/rsync) registered for path 'rsync/upstream' Submodule 'strace/upstream' (https://src.fedoraproject.org/rpms/strace) registered for path 'strace/upstream' Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/btop/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/btrfs-progs/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/coreutils/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/elinks/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/fcitx5/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/kernel/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/kitty/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/neovim/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/nheko/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/rofimoji/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/rsync/upstream'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/strace/upstream'... Running: mock --uniqueext 1751073699.379511 -r /var/lib/copr-rpmbuild/workspace/safe-resultdir-8sx4uicf/mock-source-build.cfg '--plugin-option=bind_mount:dirs=(("/var/lib/copr-rpmbuild/workspace/workdir-414s33bv", "/mnt/workdir-414s33bv"), ("/var/lib/copr-rpmbuild/workspace/safe-resultdir-8sx4uicf", "/mnt/safe-resultdir-8sx4uicf"))' --chroot 'set -x && cd /mnt/workdir-414s33bv/rpm-packages/kernel/upstream && echo -e "[safe] directory = /mnt/workdir-414s33bv/rpm-packages directory = /mnt/workdir-414s33bv/rpm-packages/*" > ~/.gitconfig && make -f /mnt/workdir-414s33bv/rpm-packages/.copr/Makefile srpm outdir="/mnt/safe-resultdir-8sx4uicf" spec="/mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec"' cmd: ['mock', '--uniqueext', '1751073699.379511', '-r', '/var/lib/copr-rpmbuild/workspace/safe-resultdir-8sx4uicf/mock-source-build.cfg', '--plugin-option=bind_mount:dirs=(("/var/lib/copr-rpmbuild/workspace/workdir-414s33bv", "/mnt/workdir-414s33bv"), ("/var/lib/copr-rpmbuild/workspace/safe-resultdir-8sx4uicf", "/mnt/safe-resultdir-8sx4uicf"))', '--chroot', 'set -x && cd /mnt/workdir-414s33bv/rpm-packages/kernel/upstream && echo -e "[safe]\ndirectory = /mnt/workdir-414s33bv/rpm-packages\ndirectory = /mnt/workdir-414s33bv/rpm-packages/*" > ~/.gitconfig && make -f /mnt/workdir-414s33bv/rpm-packages/.copr/Makefile srpm outdir="/mnt/safe-resultdir-8sx4uicf" spec="/mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec"'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-414s33bv/rpm-packages/kernel/upstream rc: 0 stdout: + cd /mnt/workdir-414s33bv/rpm-packages/kernel/upstream + echo -e '[safe] directory = /mnt/workdir-414s33bv/rpm-packages directory = /mnt/workdir-414s33bv/rpm-packages/*' + make -f /mnt/workdir-414s33bv/rpm-packages/.copr/Makefile srpm outdir=/mnt/safe-resultdir-8sx4uicf spec=/mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec bash ../../build.sh + dnf install -y git fedpkg Updating and loading repositories: fedora 100% | 182.2 KiB/s | 15.3 KiB | 00m00s updates 100% | 331.0 KiB/s | 15.6 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: fedpkg noarch 1.46-1.fc42 fedora 322.7 KiB git aarch64 2.50.0-1.fc42 updates 85.1 KiB Installing dependencies: authselect aarch64 1.5.1-1.fc42 fedora 181.8 KiB authselect-libs aarch64 1.5.1-1.fc42 fedora 874.6 KiB bodhi-client noarch 25.5.1-1.fc42 updates 264.8 KiB cracklib aarch64 2.9.11-7.fc42 fedora 422.3 KiB createrepo_c aarch64 1.2.0-3.fc42 fedora 298.3 KiB createrepo_c-libs aarch64 1.2.0-3.fc42 fedora 281.6 KiB dash aarch64 0.5.12-5.fc42 fedora 179.0 KiB dbus aarch64 1:1.16.0-3.fc42 fedora 0.0 B dbus-broker aarch64 36-5.fc42 fedora 421.9 KiB dbus-common noarch 1:1.16.0-3.fc42 fedora 11.2 KiB desktop-file-utils aarch64 0.28-1.fc42 fedora 318.3 KiB devscripts-checkbashisms noarch 2.25.9-1.fc42 updates 52.5 KiB distribution-gpg-keys noarch 1.113-1.fc42 updates 922.6 KiB dnf-data noarch 4.23.0-1.fc42 fedora 39.4 KiB drpm aarch64 0.5.2-8.fc42 fedora 159.5 KiB emacs-filesystem noarch 1:30.0-4.fc42 fedora 0.0 B enchant2 aarch64 2.8.2-5.fc42 fedora 324.2 KiB expat aarch64 2.7.1-1.fc42 fedora 354.1 KiB fakeroot aarch64 1.37.1-1.fc42 fedora 230.8 KiB fakeroot-libs aarch64 1.37.1-1.fc42 fedora 140.7 KiB gdbm aarch64 1:1.23-9.fc42 fedora 543.9 KiB gdk-pixbuf2 aarch64 2.42.12-10.fc42 fedora 2.6 MiB git-core aarch64 2.50.0-1.fc42 updates 23.3 MiB git-core-doc noarch 2.50.0-1.fc42 updates 17.7 MiB gnupg2 aarch64 2.4.7-2.fc42 fedora 10.4 MiB gobject-introspection aarch64 1.84.0-1.fc42 fedora 444.8 KiB groff-base aarch64 1.23.0-8.fc42 fedora 4.2 MiB hunspell aarch64 1.7.2-9.fc42 fedora 1.4 MiB hunspell-en-US noarch 0.20201207-11.fc42 fedora 557.4 KiB hunspell-filesystem aarch64 1.7.2-9.fc42 fedora 0.0 B ima-evm-utils-libs aarch64 1.6.2-4.fc42 fedora 92.7 KiB json-glib aarch64 1.10.6-2.fc42 fedora 610.7 KiB koji noarch 1.35.3-1.fc42 updates 896.5 KiB less aarch64 679-1.fc42 updates 553.9 KiB libappstream-glib aarch64 0.8.3-3.fc42 fedora 1.5 MiB libassuan aarch64 2.5.7-3.fc42 fedora 215.8 KiB libb2 aarch64 0.98.1-13.fc42 fedora 74.1 KiB libcbor aarch64 0.11.0-3.fc42 fedora 137.9 KiB libcomps aarch64 0.1.21-5.fc42 fedora 221.3 KiB libdnf aarch64 0.74.0-1.fc42 fedora 2.1 MiB libedit aarch64 3.1-55.20250104cvs.fc42 fedora 280.1 KiB libfido2 aarch64 1.15.0-3.fc42 fedora 278.3 KiB libfsverity aarch64 1.6-2.fc42 fedora 68.5 KiB libgcrypt aarch64 1.11.0-5.fc42 fedora 1.1 MiB libgpg-error aarch64 1.51-2.fc42 fedora 954.0 KiB libjpeg-turbo aarch64 3.1.0-2.fc42 fedora 738.6 KiB libksba aarch64 1.6.7-3.fc42 fedora 398.4 KiB libnsl2 aarch64 2.0.1-3.fc42 fedora 93.9 KiB libpng aarch64 2:1.6.44-2.fc42 fedora 269.8 KiB libpwquality aarch64 1.4.5-12.fc42 fedora 609.3 KiB libseccomp aarch64 2.5.5-2.fc41 fedora 241.4 KiB libtirpc aarch64 1.3.6-1.rc3.fc42.2 fedora 210.7 KiB libusb1 aarch64 1.0.28-2.fc42 fedora 178.7 KiB libuser aarch64 0.64-12.fc42 fedora 2.5 MiB mock noarch 6.3-1.fc42 updates 1.0 MiB mock-core-configs noarch 42.4-1.fc42 updates 388.7 KiB mock-filesystem noarch 6.3-1.fc42 updates 17.7 KiB mpdecimal aarch64 4.0.1-1.fc42 updates 281.2 KiB ncurses aarch64 6.5-5.20250125.fc42 fedora 891.9 KiB npth aarch64 1.8-2.fc42 fedora 93.5 KiB openssh aarch64 9.9p1-11.fc42 updates 1.4 MiB openssh-clients aarch64 9.9p1-11.fc42 updates 2.8 MiB pam aarch64 1.7.0-6.fc42 updates 4.2 MiB perl-AutoLoader noarch 5.74-517.fc42 updates 20.5 KiB perl-B aarch64 1.89-517.fc42 updates 542.0 KiB perl-Carp noarch 1.54-512.fc42 fedora 46.6 KiB perl-Class-Struct noarch 0.68-517.fc42 updates 25.4 KiB perl-Data-Dumper aarch64 2.189-513.fc42 fedora 135.6 KiB perl-Digest noarch 1.20-512.fc42 fedora 35.3 KiB perl-Digest-MD5 aarch64 2.59-6.fc42 fedora 103.7 KiB perl-DynaLoader aarch64 1.56-517.fc42 updates 32.1 KiB perl-Encode aarch64 4:3.21-512.fc42 fedora 4.8 MiB perl-Errno aarch64 1.38-517.fc42 updates 8.3 KiB perl-Error noarch 1:0.17030-1.fc42 fedora 76.7 KiB perl-Exporter noarch 5.78-512.fc42 fedora 54.3 KiB perl-Fcntl aarch64 1.18-517.fc42 updates 92.9 KiB perl-File-Basename noarch 2.86-517.fc42 updates 14.0 KiB perl-File-Find noarch 1.44-517.fc42 updates 41.9 KiB perl-File-Path noarch 2.18-512.fc42 fedora 63.5 KiB perl-File-Temp noarch 1:0.231.100-512.fc42 fedora 162.3 KiB perl-File-stat noarch 1.14-517.fc42 updates 12.5 KiB perl-FileHandle noarch 2.05-517.fc42 updates 9.3 KiB perl-Getopt-Long noarch 1:2.58-3.fc42 fedora 144.5 KiB perl-Getopt-Std noarch 1.14-517.fc42 updates 11.2 KiB perl-Git noarch 2.50.0-1.fc42 updates 64.0 KiB perl-HTTP-Tiny noarch 0.090-2.fc42 fedora 154.4 KiB perl-IO aarch64 1.55-517.fc42 updates 191.0 KiB perl-IO-Socket-IP noarch 0.43-2.fc42 fedora 100.3 KiB perl-IO-Socket-SSL noarch 2.089-2.fc42 fedora 703.3 KiB perl-IPC-Open3 noarch 1.22-517.fc42 updates 22.5 KiB perl-MIME-Base32 noarch 1.303-23.fc42 fedora 30.7 KiB perl-MIME-Base64 aarch64 3.16-512.fc42 fedora 94.1 KiB perl-Net-SSLeay aarch64 1.94-8.fc42 fedora 1.4 MiB perl-POSIX aarch64 2.20-517.fc42 updates 263.1 KiB perl-PathTools aarch64 3.91-513.fc42 fedora 224.0 KiB perl-Pod-Escapes noarch 1:1.07-512.fc42 fedora 24.9 KiB perl-Pod-Perldoc noarch 3.28.01-513.fc42 fedora 163.7 KiB perl-Pod-Simple noarch 1:3.45-512.fc42 fedora 560.8 KiB perl-Pod-Usage noarch 4:2.05-1.fc42 fedora 86.3 KiB perl-Scalar-List-Utils aarch64 5:1.69-1.fc42 updates 152.8 KiB perl-SelectSaver noarch 1.02-517.fc42 updates 2.2 KiB perl-Socket aarch64 4:2.038-512.fc42 fedora 144.0 KiB perl-Storable aarch64 1:3.32-512.fc42 fedora 244.3 KiB perl-Symbol noarch 1.09-517.fc42 updates 6.8 KiB perl-Term-ANSIColor noarch 5.01-513.fc42 fedora 97.5 KiB perl-Term-Cap noarch 1.18-512.fc42 fedora 29.3 KiB perl-TermReadKey aarch64 2.38-24.fc42 fedora 108.0 KiB perl-Text-ParseWords noarch 3.31-512.fc42 fedora 13.6 KiB perl-Text-Tabs+Wrap noarch 2024.001-512.fc42 fedora 22.6 KiB perl-Time-Local noarch 2:1.350-512.fc42 fedora 68.9 KiB perl-URI noarch 5.31-2.fc42 fedora 257.0 KiB perl-base noarch 2.27-517.fc42 updates 12.5 KiB perl-constant noarch 1.33-513.fc42 fedora 26.2 KiB perl-if noarch 0.61.000-517.fc42 updates 5.8 KiB perl-interpreter aarch64 4:5.40.2-517.fc42 updates 174.2 KiB perl-lib aarch64 0.65-517.fc42 updates 8.5 KiB perl-libnet noarch 3.15-513.fc42 fedora 289.4 KiB perl-libs aarch64 4:5.40.2-517.fc42 updates 9.9 MiB perl-locale noarch 1.12-517.fc42 updates 6.5 KiB perl-mro aarch64 1.29-517.fc42 updates 81.6 KiB perl-overload noarch 1.37-517.fc42 updates 71.5 KiB perl-overloading noarch 0.02-517.fc42 updates 4.8 KiB perl-parent noarch 1:0.244-2.fc42 fedora 10.3 KiB perl-podlators noarch 1:6.0.2-3.fc42 fedora 317.5 KiB perl-vars noarch 1.05-517.fc42 updates 3.9 KiB pigz aarch64 2.8-6.fc42 fedora 162.7 KiB procps-ng aarch64 4.0.4-6.fc42 fedora 1.7 MiB python-pip-wheel noarch 24.3.1-2.fc42 fedora 1.2 MiB python3 aarch64 3.13.3-2.fc42 updates 84.7 KiB python3-GitPython noarch 3.1.43-2.fc42 fedora 1.8 MiB python3-argcomplete noarch 3.6.2-2.fc42 updates 316.8 KiB python3-authlib noarch 1.4.0-2.fc42 fedora 1.4 MiB python3-backoff noarch 2.2.1-9.fc42 fedora 103.7 KiB python3-bugzilla noarch 3.3.0-2.fc42 fedora 437.4 KiB python3-cccolutils aarch64 1.5-32.fc42 fedora 103.3 KiB python3-cffi aarch64 1.17.1-2.fc42 fedora 1.3 MiB python3-charset-normalizer noarch 3.4.1-3.fc42 fedora 319.6 KiB python3-click noarch 8.1.7-7.fc42 fedora 1.0 MiB python3-construct noarch 2.10.70-6.fc42 fedora 1.0 MiB python3-cryptography aarch64 44.0.0-3.fc42 fedora 4.7 MiB python3-dateutil noarch 1:2.8.2-17.fc42 fedora 876.2 KiB python3-decorator noarch 5.1.1-14.fc42 fedora 78.5 KiB python3-defusedxml noarch 0.7.1-18.fc42 fedora 196.4 KiB python3-distro noarch 1.9.0-6.fc42 fedora 196.4 KiB python3-dnf noarch 4.23.0-1.fc42 fedora 2.7 MiB python3-enchant noarch 3.2.2-15.fc42 fedora 367.2 KiB python3-file-magic noarch 5.46-3.fc42 updates 28.1 KiB python3-gitdb noarch 4.0.11-2.fc42 fedora 500.1 KiB python3-gobject-base aarch64 3.50.0-3.fc42 fedora 1.6 MiB python3-gssapi aarch64 1.7.3-11.fc42 fedora 3.2 MiB python3-hawkey aarch64 0.74.0-1.fc42 fedora 380.7 KiB python3-idna noarch 3.10-2.fc42 fedora 628.0 KiB python3-jinja2 noarch 3.1.6-1.fc42 fedora 2.9 MiB python3-koji noarch 1.35.3-1.fc42 updates 2.2 MiB python3-krb5 aarch64 0.7.0-2.fc42 fedora 3.8 MiB python3-libcomps aarch64 0.1.21-5.fc42 fedora 151.6 KiB python3-libdnf aarch64 0.74.0-1.fc42 fedora 3.9 MiB python3-libmodulemd aarch64 2.15.2-1.fc42 updates 15.0 KiB python3-libs aarch64 3.13.3-2.fc42 updates 42.0 MiB python3-markupsafe aarch64 3.0.2-2.fc42 fedora 111.9 KiB python3-munch noarch 4.0.0-2.fc42 fedora 60.7 KiB python3-openidc-client noarch 0.6.0^1.0e2ed81-3.fc42 fedora 73.9 KiB python3-packaging noarch 24.2-3.fc42 fedora 555.7 KiB python3-ply noarch 3.11-26.fc42 fedora 565.1 KiB python3-progressbar2 noarch 4.5.0-1.fc42 fedora 568.1 KiB python3-pybeam noarch 0.8-3.fc42 fedora 43.7 KiB python3-pycparser noarch 2.20-19.fc42 fedora 800.6 KiB python3-pycurl aarch64 7.45.4-2.fc42 fedora 473.0 KiB python3-pyroute2 noarch 0.7.12-5.fc42 fedora 3.5 MiB python3-pyxdg noarch 0.27-14.fc42 fedora 433.2 KiB python3-pyyaml aarch64 6.0.2-2.fc42 fedora 788.9 KiB python3-requests noarch 2.32.3-4.fc42 fedora 483.1 KiB python3-requests-gssapi noarch 1.2.3-14.fc42 fedora 61.5 KiB python3-requests-kerberos noarch 0.15.0-2.fc42 fedora 65.2 KiB python3-rpkg noarch 1.68-1.fc42 fedora 1.0 MiB python3-rpm aarch64 4.20.1-1.fc42 fedora 178.9 KiB python3-rpmautospec noarch 0.8.1-11.fc42 updates 416.6 KiB python3-rpmautospec-core noarch 0.1.5-3.fc42 fedora 10.7 KiB python3-setuptools noarch 74.1.3-7.fc42 updates 8.4 MiB python3-six noarch 1.17.0-2.fc42 fedora 116.9 KiB python3-smmap noarch 5.0.1-2.fc42 fedora 198.0 KiB python3-spnego noarch 0.11.1-2.fc42 fedora 1.0 MiB python3-spnego+kerberos noarch 0.11.1-2.fc42 fedora 6.5 KiB python3-templated-dictionary noarch 1.5-2.fc42 fedora 28.1 KiB python3-tomli-w noarch 1.2.0-1.fc42 fedora 32.7 KiB python3-typing-extensions noarch 4.12.2-4.fc42 fedora 458.2 KiB python3-urllib3 noarch 2.3.0-2.fc42 fedora 1.0 MiB python3-utils noarch 3.9.0-2.fc42 fedora 224.0 KiB python3-zstandard aarch64 0.23.0-2.fc42 fedora 1.9 MiB rpkg-common noarch 1.68-1.fc42 fedora 11.8 KiB rpm-sign-libs aarch64 4.20.1-1.fc42 fedora 67.4 KiB rpmdevtools noarch 9.6-9.fc42 fedora 213.8 KiB rpmlint noarch 2.7.0-3.fc42 updates 1.1 MiB rpmlint-fedora-license-data noarch 1.68-1.fc42 updates 23.2 KiB shared-mime-info aarch64 2.3-7.fc42 fedora 5.3 MiB systemd aarch64 257.6-1.fc42 updates 14.7 MiB systemd-container aarch64 257.6-1.fc42 updates 2.6 MiB systemd-pam aarch64 257.6-1.fc42 updates 1.1 MiB systemd-rpm-macros noarch 257.6-1.fc42 updates 10.7 KiB systemd-shared aarch64 257.6-1.fc42 updates 4.5 MiB tpm2-tss aarch64 4.1.3-6.fc42 fedora 2.1 MiB tzdata noarch 2025b-1.fc42 fedora 1.6 MiB usermode aarch64 1.114-12.fc42 fedora 911.2 KiB Transaction Summary: Installing: 205 packages Total size of inbound packages is 63 MiB. Need to download 63 MiB. After this operation, 254 MiB extra will be used (install 254 MiB, remove 0 B). [ 1/205] git-0:2.50.0-1.fc42.aarch64 100% | 3.1 MiB/s | 50.7 KiB | 00m00s [ 2/205] fedpkg-0:1.46-1.fc42.noarch 100% | 6.6 MiB/s | 120.9 KiB | 00m00s [ 3/205] python3-distro-0:1.9.0-6.fc42 100% | 11.4 MiB/s | 46.6 KiB | 00m00s [ 4/205] python3-openidc-client-0:0.6. 100% | 6.6 MiB/s | 27.2 KiB | 00m00s [ 5/205] perl-Getopt-Long-1:2.58-3.fc4 100% | 31.1 MiB/s | 63.7 KiB | 00m00s [ 6/205] python3-rpkg-0:1.68-1.fc42.no 100% | 39.2 MiB/s | 240.9 KiB | 00m00s [ 7/205] perl-PathTools-0:3.91-513.fc4 100% | 28.4 MiB/s | 87.3 KiB | 00m00s [ 8/205] perl-TermReadKey-0:2.38-24.fc 100% | 8.7 MiB/s | 35.5 KiB | 00m00s [ 9/205] python3-bugzilla-0:3.3.0-2.fc 100% | 3.9 MiB/s | 138.0 KiB | 00m00s [ 10/205] perl-Git-0:2.50.0-1.fc42.noar 100% | 2.4 MiB/s | 37.6 KiB | 00m00s [ 11/205] python3-requests-0:2.32.3-4.f 100% | 14.2 MiB/s | 159.6 KiB | 00m00s [ 12/205] git-core-doc-0:2.50.0-1.fc42. 100% | 72.6 MiB/s | 3.0 MiB | 00m00s [ 13/205] git-core-0:2.50.0-1.fc42.aarc 100% | 94.3 MiB/s | 5.0 MiB | 00m00s [ 14/205] python3-GitPython-0:3.1.43-2. 100% | 17.9 MiB/s | 403.8 KiB | 00m00s [ 15/205] python3-cccolutils-0:1.5-32.f 100% | 2.6 MiB/s | 21.1 KiB | 00m00s [ 16/205] python3-pycurl-0:7.45.4-2.fc4 100% | 24.7 MiB/s | 151.9 KiB | 00m00s [ 17/205] python3-rpm-0:4.20.1-1.fc42.a 100% | 13.5 MiB/s | 69.0 KiB | 00m00s [ 18/205] python3-six-0:1.17.0-2.fc42.n 100% | 13.4 MiB/s | 41.3 KiB | 00m00s [ 19/205] rpkg-common-0:1.68-1.fc42.noa 100% | 6.1 MiB/s | 18.8 KiB | 00m00s [ 20/205] rpmdevtools-0:9.6-9.fc42.noar 100% | 18.4 MiB/s | 94.2 KiB | 00m00s [ 21/205] perl-Exporter-0:5.78-512.fc42 100% | 6.1 MiB/s | 31.0 KiB | 00m00s [ 22/205] python3-pyyaml-0:6.0.2-2.fc42 100% | 12.5 MiB/s | 218.1 KiB | 00m00s [ 23/205] perl-Text-ParseWords-0:3.31-5 100% | 4.0 MiB/s | 16.5 KiB | 00m00s [ 24/205] perl-Pod-Usage-4:2.05-1.fc42. 100% | 6.6 MiB/s | 40.5 KiB | 00m00s [ 25/205] perl-constant-0:1.33-513.fc42 100% | 5.6 MiB/s | 23.0 KiB | 00m00s [ 26/205] perl-Carp-0:1.54-512.fc42.noa 100% | 9.4 MiB/s | 28.9 KiB | 00m00s [ 27/205] expat-0:2.7.1-1.fc42.aarch64 100% | 27.4 MiB/s | 112.1 KiB | 00m00s [ 28/205] perl-Error-1:0.17030-1.fc42.n 100% | 9.9 MiB/s | 40.4 KiB | 00m00s [ 29/205] python3-charset-normalizer-0: 100% | 26.5 MiB/s | 108.4 KiB | 00m00s [ 30/205] python3-idna-0:3.10-2.fc42.no 100% | 28.6 MiB/s | 117.3 KiB | 00m00s [ 31/205] python3-urllib3-0:2.3.0-2.fc4 100% | 55.3 MiB/s | 283.3 KiB | 00m00s [ 32/205] rpm-sign-libs-0:4.20.1-1.fc42 100% | 8.7 MiB/s | 26.6 KiB | 00m00s [ 33/205] python3-gitdb-0:4.0.11-2.fc42 100% | 23.6 MiB/s | 144.7 KiB | 00m00s [ 34/205] emacs-filesystem-1:30.0-4.fc4 100% | 1.8 MiB/s | 7.4 KiB | 00m00s [ 35/205] fakeroot-0:1.37.1-1.fc42.aarc 100% | 14.0 MiB/s | 100.0 KiB | 00m00s [ 36/205] perl-Pod-Perldoc-0:3.28.01-51 100% | 27.9 MiB/s | 85.8 KiB | 00m00s [ 37/205] perl-podlators-1:6.0.2-3.fc42 100% | 41.9 MiB/s | 128.6 KiB | 00m00s [ 38/205] python3-smmap-0:5.0.1-2.fc42. 100% | 20.4 MiB/s | 62.6 KiB | 00m00s [ 39/205] ima-evm-utils-libs-0:1.6.2-4. 100% | 14.5 MiB/s | 29.6 KiB | 00m00s [ 40/205] libfsverity-0:1.6-2.fc42.aarc 100% | 6.1 MiB/s | 18.7 KiB | 00m00s [ 41/205] python3-progressbar2-0:4.5.0- 100% | 8.0 MiB/s | 148.3 KiB | 00m00s [ 42/205] gnupg2-0:2.4.7-2.fc42.aarch64 100% | 209.6 MiB/s | 2.7 MiB | 00m00s [ 43/205] python3-utils-0:3.9.0-2.fc42. 100% | 12.5 MiB/s | 76.9 KiB | 00m00s [ 44/205] groff-base-0:1.23.0-8.fc42.aa 100% | 133.9 MiB/s | 1.1 MiB | 00m00s [ 45/205] fakeroot-libs-0:1.37.1-1.fc42 100% | 2.4 MiB/s | 39.4 KiB | 00m00s [ 46/205] perl-Encode-4:3.21-512.fc42.a 100% | 104.3 MiB/s | 1.0 MiB | 00m00s [ 47/205] perl-File-Temp-1:0.231.100-51 100% | 19.3 MiB/s | 59.2 KiB | 00m00s [ 48/205] perl-HTTP-Tiny-0:0.090-2.fc42 100% | 18.4 MiB/s | 56.5 KiB | 00m00s [ 49/205] perl-parent-1:0.244-2.fc42.no 100% | 5.0 MiB/s | 15.2 KiB | 00m00s [ 50/205] perl-Term-ANSIColor-0:5.01-51 100% | 23.3 MiB/s | 47.7 KiB | 00m00s [ 51/205] perl-Pod-Simple-1:3.45-512.fc 100% | 35.6 MiB/s | 219.0 KiB | 00m00s [ 52/205] perl-Term-Cap-0:1.18-512.fc42 100% | 5.4 MiB/s | 22.2 KiB | 00m00s [ 53/205] libassuan-0:2.5.7-3.fc42.aarc 100% | 9.3 MiB/s | 66.7 KiB | 00m00s [ 54/205] libgcrypt-0:1.11.0-5.fc42.aar 100% | 81.6 MiB/s | 501.4 KiB | 00m00s [ 55/205] libgpg-error-0:1.51-2.fc42.aa 100% | 38.4 MiB/s | 235.9 KiB | 00m00s [ 56/205] libksba-0:1.6.7-3.fc42.aarch6 100% | 51.7 MiB/s | 159.0 KiB | 00m00s [ 57/205] npth-0:1.8-2.fc42.aarch64 100% | 8.2 MiB/s | 25.2 KiB | 00m00s [ 58/205] tpm2-tss-0:4.1.3-6.fc42.aarch 100% | 97.4 MiB/s | 398.8 KiB | 00m00s [ 59/205] perl-MIME-Base64-0:3.16-512.f 100% | 9.8 MiB/s | 30.1 KiB | 00m00s [ 60/205] python3-typing-extensions-0:4 100% | 18.2 MiB/s | 93.4 KiB | 00m00s [ 61/205] perl-Storable-1:3.32-512.fc42 100% | 18.8 MiB/s | 96.1 KiB | 00m00s [ 62/205] perl-File-Path-0:2.18-512.fc4 100% | 6.9 MiB/s | 35.2 KiB | 00m00s [ 63/205] perl-IO-Socket-SSL-0:2.089-2. 100% | 45.0 MiB/s | 230.2 KiB | 00m00s [ 64/205] perl-Socket-4:2.038-512.fc42. 100% | 18.0 MiB/s | 55.1 KiB | 00m00s [ 65/205] perl-Time-Local-2:1.350-512.f 100% | 8.4 MiB/s | 34.5 KiB | 00m00s [ 66/205] perl-Net-SSLeay-0:1.94-8.fc42 100% | 52.8 MiB/s | 378.4 KiB | 00m00s [ 67/205] perl-Text-Tabs+Wrap-0:2024.00 100% | 10.6 MiB/s | 21.8 KiB | 00m00s [ 68/205] perl-Pod-Escapes-1:1.07-512.f 100% | 3.9 MiB/s | 19.8 KiB | 00m00s [ 69/205] ncurses-0:6.5-5.20250125.fc42 100% | 103.0 MiB/s | 422.0 KiB | 00m00s [ 70/205] libusb1-0:1.0.28-2.fc42.aarch 100% | 18.9 MiB/s | 77.2 KiB | 00m00s [ 71/205] perl-IO-Socket-IP-0:0.43-2.fc 100% | 8.3 MiB/s | 42.4 KiB | 00m00s [ 72/205] perl-Data-Dumper-0:2.189-513. 100% | 13.4 MiB/s | 55.0 KiB | 00m00s [ 73/205] perl-MIME-Base32-0:1.303-23.f 100% | 10.0 MiB/s | 20.5 KiB | 00m00s [ 74/205] perl-URI-0:5.31-2.fc42.noarch 100% | 15.3 MiB/s | 140.7 KiB | 00m00s [ 75/205] perl-Digest-MD5-0:2.59-6.fc42 100% | 11.7 MiB/s | 35.9 KiB | 00m00s [ 76/205] perl-libnet-0:3.15-513.fc42.n 100% | 25.1 MiB/s | 128.4 KiB | 00m00s [ 77/205] perl-Digest-0:1.20-512.fc42.n 100% | 6.1 MiB/s | 24.9 KiB | 00m00s [ 78/205] perl-interpreter-4:5.40.2-517 100% | 17.7 MiB/s | 72.4 KiB | 00m00s [ 79/205] perl-Errno-0:1.38-517.fc42.aa 100% | 3.7 MiB/s | 15.1 KiB | 00m00s [ 80/205] perl-libs-4:5.40.2-517.fc42.a 100% | 151.6 MiB/s | 2.3 MiB | 00m00s [ 81/205] less-0:679-1.fc42.aarch64 100% | 19.0 MiB/s | 194.6 KiB | 00m00s [ 82/205] openssh-clients-0:9.9p1-11.fc 100% | 73.7 MiB/s | 755.0 KiB | 00m00s [ 83/205] libedit-0:3.1-55.20250104cvs. 100% | 20.5 MiB/s | 104.8 KiB | 00m00s [ 84/205] libfido2-0:1.15.0-3.fc42.aarc 100% | 18.8 MiB/s | 96.1 KiB | 00m00s [ 85/205] openssh-0:9.9p1-11.fc42.aarch 100% | 85.0 MiB/s | 348.2 KiB | 00m00s [ 86/205] libcbor-0:0.11.0-3.fc42.aarch 100% | 10.5 MiB/s | 32.4 KiB | 00m00s [ 87/205] perl-File-Basename-0:2.86-517 100% | 5.7 MiB/s | 17.4 KiB | 00m00s [ 88/205] perl-File-Find-0:1.44-517.fc4 100% | 12.5 MiB/s | 25.6 KiB | 00m00s [ 89/205] perl-IPC-Open3-0:1.22-517.fc4 100% | 10.8 MiB/s | 22.1 KiB | 00m00s [ 90/205] perl-lib-0:0.65-517.fc42.aarc 100% | 7.4 MiB/s | 15.1 KiB | 00m00s [ 91/205] python3-0:3.13.3-2.fc42.aarch 100% | 14.6 MiB/s | 29.8 KiB | 00m00s [ 92/205] libb2-0:0.98.1-13.fc42.aarch6 100% | 12.7 MiB/s | 26.0 KiB | 00m00s [ 93/205] python-pip-wheel-0:24.3.1-2.f 100% | 109.5 MiB/s | 1.2 MiB | 00m00s [ 94/205] tzdata-0:2025b-1.fc42.noarch 100% | 69.7 MiB/s | 714.0 KiB | 00m00s [ 95/205] mock-0:6.3-1.fc42.noarch 100% | 76.9 MiB/s | 314.8 KiB | 00m00s [ 96/205] createrepo_c-0:1.2.0-3.fc42.a 100% | 18.2 MiB/s | 74.7 KiB | 00m00s [ 97/205] python3-argcomplete-0:3.6.2-2 100% | 8.0 MiB/s | 97.8 KiB | 00m00s [ 98/205] pigz-0:2.8-6.fc42.aarch64 100% | 14.8 MiB/s | 90.6 KiB | 00m00s [ 99/205] python3-backoff-0:2.2.1-9.fc4 100% | 10.3 MiB/s | 42.1 KiB | 00m00s [100/205] procps-ng-0:4.0.4-6.fc42.aarc 100% | 29.6 MiB/s | 363.4 KiB | 00m00s [101/205] python3-libs-0:3.13.3-2.fc42. 100% | 180.7 MiB/s | 9.0 MiB | 00m00s [102/205] python3-jinja2-0:3.1.6-1.fc42 100% | 30.3 MiB/s | 496.7 KiB | 00m00s [103/205] python3-templated-dictionary- 100% | 4.0 MiB/s | 20.4 KiB | 00m00s [104/205] mock-filesystem-0:6.3-1.fc42. 100% | 20.0 MiB/s | 20.4 KiB | 00m00s [105/205] usermode-0:1.114-12.fc42.aarc 100% | 36.3 MiB/s | 185.9 KiB | 00m00s [106/205] python3-pyroute2-0:0.7.12-5.f 100% | 42.3 MiB/s | 1.0 MiB | 00m00s [107/205] python3-markupsafe-0:3.0.2-2. 100% | 7.3 MiB/s | 30.0 KiB | 00m00s [108/205] createrepo_c-libs-0:1.2.0-3.f 100% | 11.8 MiB/s | 108.4 KiB | 00m00s [109/205] drpm-0:0.5.2-8.fc42.aarch64 100% | 15.3 MiB/s | 62.6 KiB | 00m00s [110/205] libuser-0:0.64-12.fc42.aarch6 100% | 65.3 MiB/s | 401.3 KiB | 00m00s [111/205] python3-koji-0:1.35.3-1.fc42. 100% | 83.9 MiB/s | 429.7 KiB | 00m00s [112/205] python3-defusedxml-0:0.7.1-18 100% | 14.3 MiB/s | 58.5 KiB | 00m00s [113/205] python3-dateutil-1:2.8.2-17.f 100% | 58.6 MiB/s | 359.9 KiB | 00m00s [114/205] python3-requests-gssapi-0:1.2 100% | 9.2 MiB/s | 28.1 KiB | 00m00s [115/205] python3-decorator-0:5.1.1-14. 100% | 7.6 MiB/s | 31.1 KiB | 00m00s [116/205] koji-0:1.35.3-1.fc42.noarch 100% | 37.1 MiB/s | 266.1 KiB | 00m00s [117/205] python3-gssapi-0:1.7.3-11.fc4 100% | 75.6 MiB/s | 619.6 KiB | 00m00s [118/205] python3-libcomps-0:0.1.21-5.f 100% | 15.5 MiB/s | 47.5 KiB | 00m00s [119/205] libcomps-0:0.1.21-5.fc42.aarc 100% | 24.7 MiB/s | 75.7 KiB | 00m00s [120/205] python3-libmodulemd-0:2.15.2- 100% | 4.6 MiB/s | 14.1 KiB | 00m00s [121/205] python3-gobject-base-0:3.50.0 100% | 97.3 MiB/s | 398.5 KiB | 00m00s [122/205] python3-rpmautospec-0:0.8.1-1 100% | 43.3 MiB/s | 177.4 KiB | 00m00s [123/205] python3-rpmautospec-core-0:0. 100% | 7.4 MiB/s | 15.1 KiB | 00m00s [124/205] rpmlint-0:2.7.0-3.fc42.noarch 100% | 68.1 MiB/s | 348.5 KiB | 00m00s [125/205] dash-0:0.5.12-5.fc42.aarch64 100% | 19.0 MiB/s | 97.1 KiB | 00m00s [126/205] desktop-file-utils-0:0.28-1.f 100% | 9.6 MiB/s | 68.8 KiB | 00m00s [127/205] gobject-introspection-0:1.84. 100% | 6.5 MiB/s | 119.3 KiB | 00m00s [128/205] libappstream-glib-0:0.8.3-3.f 100% | 47.8 MiB/s | 391.7 KiB | 00m00s [129/205] python3-packaging-0:24.2-3.fc 100% | 37.6 MiB/s | 154.0 KiB | 00m00s [130/205] python3-enchant-0:3.2.2-15.fc 100% | 16.6 MiB/s | 102.2 KiB | 00m00s [131/205] python3-pybeam-0:0.8-3.fc42.n 100% | 5.0 MiB/s | 31.0 KiB | 00m00s [132/205] python3-tomli-w-0:1.2.0-1.fc4 100% | 7.3 MiB/s | 22.4 KiB | 00m00s [133/205] python3-pyxdg-0:0.27-14.fc42. 100% | 21.3 MiB/s | 131.0 KiB | 00m00s [134/205] gdk-pixbuf2-0:2.42.12-10.fc42 100% | 59.6 MiB/s | 488.5 KiB | 00m00s [135/205] python3-zstandard-0:0.23.0-2. 100% | 51.5 MiB/s | 474.7 KiB | 00m00s [136/205] json-glib-0:1.10.6-2.fc42.aar 100% | 23.5 MiB/s | 168.6 KiB | 00m00s [137/205] enchant2-0:2.8.2-5.fc42.aarch 100% | 18.1 MiB/s | 74.3 KiB | 00m00s [138/205] python3-construct-0:2.10.70-6 100% | 38.5 MiB/s | 157.8 KiB | 00m00s [139/205] libjpeg-turbo-0:3.1.0-2.fc42. 100% | 40.9 MiB/s | 251.6 KiB | 00m00s [140/205] libpng-2:1.6.44-2.fc42.aarch6 100% | 23.0 MiB/s | 118.0 KiB | 00m00s [141/205] shared-mime-info-0:2.3-7.fc42 100% | 63.3 MiB/s | 389.0 KiB | 00m00s [142/205] hunspell-filesystem-0:1.7.2-9 100% | 3.8 MiB/s | 7.8 KiB | 00m00s [143/205] hunspell-en-US-0:0.20201207-1 100% | 35.3 MiB/s | 180.7 KiB | 00m00s [144/205] hunspell-0:1.7.2-9.fc42.aarch 100% | 47.4 MiB/s | 485.7 KiB | 00m00s [145/205] perl-Fcntl-0:1.18-517.fc42.aa 100% | 9.8 MiB/s | 30.1 KiB | 00m00s [146/205] perl-POSIX-0:2.20-517.fc42.aa 100% | 23.9 MiB/s | 97.8 KiB | 00m00s [147/205] perl-FileHandle-0:2.05-517.fc 100% | 7.7 MiB/s | 15.7 KiB | 00m00s [148/205] perl-Symbol-0:1.09-517.fc42.n 100% | 4.7 MiB/s | 14.4 KiB | 00m00s [149/205] perl-IO-0:1.55-517.fc42.aarch 100% | 20.1 MiB/s | 82.1 KiB | 00m00s [150/205] perl-Scalar-List-Utils-5:1.69 100% | 17.8 MiB/s | 73.1 KiB | 00m00s [151/205] perl-base-0:2.27-517.fc42.noa 100% | 8.0 MiB/s | 16.4 KiB | 00m00s [152/205] perl-overload-0:1.37-517.fc42 100% | 14.9 MiB/s | 45.8 KiB | 00m00s [153/205] perl-DynaLoader-0:1.56-517.fc 100% | 8.5 MiB/s | 26.2 KiB | 00m00s [154/205] perl-vars-0:1.05-517.fc42.noa 100% | 3.2 MiB/s | 13.2 KiB | 00m00s [155/205] perl-if-0:0.61.000-517.fc42.n 100% | 6.9 MiB/s | 14.2 KiB | 00m00s [156/205] perl-AutoLoader-0:5.74-517.fc 100% | 7.0 MiB/s | 21.5 KiB | 00m00s [157/205] perl-Getopt-Std-0:1.14-517.fc 100% | 7.8 MiB/s | 15.9 KiB | 00m00s [158/205] perl-B-0:1.89-517.fc42.aarch6 100% | 43.2 MiB/s | 176.9 KiB | 00m00s [159/205] bodhi-client-0:25.5.1-1.fc42. 100% | 18.2 MiB/s | 93.2 KiB | 00m00s [160/205] python3-munch-0:4.0.0-2.fc42. 100% | 8.5 MiB/s | 26.1 KiB | 00m00s [161/205] python3-authlib-0:1.4.0-2.fc4 100% | 47.9 MiB/s | 490.6 KiB | 00m00s [162/205] python3-requests-kerberos-0:0 100% | 9.2 MiB/s | 28.3 KiB | 00m00s [163/205] python3-spnego+kerberos-0:0.1 100% | 3.0 MiB/s | 9.2 KiB | 00m00s [164/205] python3-spnego-0:0.11.1-2.fc4 100% | 69.2 MiB/s | 283.5 KiB | 00m00s [165/205] python3-cryptography-0:44.0.0 100% | 114.9 MiB/s | 1.4 MiB | 00m00s [166/205] python3-click-0:8.1.7-7.fc42. 100% | 10.8 MiB/s | 242.2 KiB | 00m00s [167/205] python3-cffi-0:1.17.1-2.fc42. 100% | 43.7 MiB/s | 313.1 KiB | 00m00s [168/205] python3-krb5-0:0.7.0-2.fc42.a 100% | 76.6 MiB/s | 627.5 KiB | 00m00s [169/205] python3-pycparser-0:2.20-19.f 100% | 12.0 MiB/s | 159.7 KiB | 00m00s [170/205] python3-ply-0:3.11-26.fc42.no 100% | 11.1 MiB/s | 136.3 KiB | 00m00s [171/205] devscripts-checkbashisms-0:2. 100% | 4.6 MiB/s | 28.4 KiB | 00m00s [172/205] python3-file-magic-0:5.46-3.f 100% | 3.1 MiB/s | 19.3 KiB | 00m00s [173/205] rpmlint-fedora-license-data-0 100% | 8.7 MiB/s | 35.5 KiB | 00m00s [174/205] python3-setuptools-0:74.1.3-7 100% | 89.2 MiB/s | 2.0 MiB | 00m00s [175/205] mpdecimal-0:4.0.1-1.fc42.aarc 100% | 13.4 MiB/s | 95.8 KiB | 00m00s [176/205] perl-mro-0:1.29-517.fc42.aarc 100% | 7.2 MiB/s | 29.7 KiB | 00m00s [177/205] perl-overloading-0:0.02-517.f 100% | 3.2 MiB/s | 13.1 KiB | 00m00s [178/205] perl-locale-0:1.12-517.fc42.n 100% | 3.4 MiB/s | 13.9 KiB | 00m00s [179/205] perl-File-stat-0:1.14-517.fc4 100% | 5.6 MiB/s | 17.3 KiB | 00m00s [180/205] perl-SelectSaver-0:1.02-517.f 100% | 3.9 MiB/s | 12.0 KiB | 00m00s [181/205] mock-core-configs-0:42.4-1.fc 100% | 43.4 MiB/s | 177.7 KiB | 00m00s [182/205] perl-Class-Struct-0:0.68-517. 100% | 5.4 MiB/s | 22.3 KiB | 00m00s [183/205] python3-hawkey-0:0.74.0-1.fc4 100% | 23.1 MiB/s | 94.5 KiB | 00m00s [184/205] distribution-gpg-keys-0:1.113 100% | 141.2 MiB/s | 722.9 KiB | 00m00s [185/205] dnf-data-0:4.23.0-1.fc42.noar 100% | 6.6 MiB/s | 40.8 KiB | 00m00s [186/205] python3-libdnf-0:0.74.0-1.fc4 100% | 128.6 MiB/s | 790.1 KiB | 00m00s [187/205] python3-dnf-0:4.23.0-1.fc42.n 100% | 38.7 MiB/s | 634.9 KiB | 00m00s [188/205] libdnf-0:0.74.0-1.fc42.aarch6 100% | 91.0 MiB/s | 652.5 KiB | 00m00s [189/205] dbus-1:1.16.0-3.fc42.aarch64 100% | 1.1 MiB/s | 7.7 KiB | 00m00s [190/205] libseccomp-0:2.5.5-2.fc41.aar 100% | 17.4 MiB/s | 71.4 KiB | 00m00s [191/205] systemd-pam-0:257.6-1.fc42.aa 100% | 65.0 MiB/s | 399.4 KiB | 00m00s [192/205] systemd-shared-0:257.6-1.fc42 100% | 117.5 MiB/s | 1.6 MiB | 00m00s [193/205] systemd-0:257.6-1.fc42.aarch6 100% | 133.6 MiB/s | 3.9 MiB | 00m00s [194/205] dbus-broker-0:36-5.fc42.aarch 100% | 11.6 MiB/s | 166.8 KiB | 00m00s [195/205] systemd-container-0:257.6-1.f 100% | 102.5 MiB/s | 839.8 KiB | 00m00s [196/205] dbus-common-1:1.16.0-3.fc42.n 100% | 3.5 MiB/s | 14.5 KiB | 00m00s [197/205] pam-0:1.7.0-6.fc42.aarch64 100% | 60.7 MiB/s | 559.5 KiB | 00m00s [198/205] authselect-0:1.5.1-1.fc42.aar 100% | 23.8 MiB/s | 146.3 KiB | 00m00s [199/205] gdbm-1:1.23-9.fc42.aarch64 100% | 18.3 MiB/s | 149.6 KiB | 00m00s [200/205] libnsl2-0:2.0.1-3.fc42.aarch6 100% | 9.6 MiB/s | 29.5 KiB | 00m00s [201/205] libpwquality-0:1.4.5-12.fc42. 100% | 29.0 MiB/s | 118.7 KiB | 00m00s [202/205] libtirpc-0:1.3.6-1.rc3.fc42.2 100% | 23.0 MiB/s | 94.3 KiB | 00m00s [203/205] authselect-libs-0:1.5.1-1.fc4 100% | 52.7 MiB/s | 215.9 KiB | 00m00s [204/205] cracklib-0:2.9.11-7.fc42.aarc 100% | 29.8 MiB/s | 91.7 KiB | 00m00s [205/205] systemd-rpm-macros-0:257.6-1. 100% | 8.9 MiB/s | 36.4 KiB | 00m00s -------------------------------------------------------------------------------- [205/205] Total 100% | 98.9 MiB/s | 63.0 MiB | 00m01s Running transaction [ 1/207] Verify package files 100% | 861.0 B/s | 205.0 B | 00m00s [ 2/207] Prepare transaction 100% | 1.5 KiB/s | 205.0 B | 00m00s [ 3/207] Installing libgpg-error-0:1.5 100% | 40.8 MiB/s | 959.9 KiB | 00m00s [ 4/207] Installing expat-0:2.7.1-1.fc 100% | 18.3 MiB/s | 356.2 KiB | 00m00s [ 5/207] Installing libseccomp-0:2.5.5 100% | 118.8 MiB/s | 243.3 KiB | 00m00s [ 6/207] Installing systemd-shared-0:2 100% | 303.3 MiB/s | 4.5 MiB | 00m00s [ 7/207] Installing libtirpc-0:1.3.6-1 100% | 103.7 MiB/s | 212.5 KiB | 00m00s [ 8/207] Installing libdnf-0:0.74.0-1. 100% | 210.5 MiB/s | 2.1 MiB | 00m00s [ 9/207] Installing hunspell-filesyste 100% | 54.1 KiB/s | 388.0 B | 00m00s [ 10/207] Installing mock-filesystem-0: 100% | 3.7 MiB/s | 19.1 KiB | 00m00s [ 11/207] Installing tzdata-0:2025b-1.f 100% | 37.8 MiB/s | 1.9 MiB | 00m00s [ 12/207] Installing emacs-filesystem-1 100% | 0.0 B/s | 544.0 B | 00m00s [ 13/207] Installing desktop-file-utils 100% | 15.0 MiB/s | 322.1 KiB | 00m00s [ 14/207] Installing hunspell-en-US-0:0 100% | 181.7 MiB/s | 558.1 KiB | 00m00s [ 15/207] Installing hunspell-0:1.7.2-9 100% | 55.0 MiB/s | 1.4 MiB | 00m00s [ 16/207] Installing enchant2-0:2.8.2-5 100% | 16.9 MiB/s | 327.9 KiB | 00m00s [ 17/207] Installing libnsl2-0:2.0.1-3. 100% | 92.8 MiB/s | 95.0 KiB | 00m00s [ 18/207] Installing libcomps-0:0.1.21- 100% | 217.4 MiB/s | 222.6 KiB | 00m00s [ 19/207] Installing libassuan-0:2.5.7- 100% | 212.6 MiB/s | 217.7 KiB | 00m00s [ 20/207] Installing libgcrypt-0:1.11.0 100% | 226.0 MiB/s | 1.1 MiB | 00m00s [ 21/207] Installing libksba-0:1.6.7-3. 100% | 195.8 MiB/s | 401.0 KiB | 00m00s [ 22/207] Installing cracklib-0:2.9.11- 100% | 18.4 MiB/s | 433.7 KiB | 00m00s [ 23/207] Installing libpwquality-0:1.4 100% | 26.4 MiB/s | 621.7 KiB | 00m00s [ 24/207] Installing authselect-libs-0: 100% | 124.1 MiB/s | 889.6 KiB | 00m00s [ 25/207] Installing gdbm-1:1.23-9.fc42 100% | 24.4 MiB/s | 548.8 KiB | 00m00s [ 26/207] Installing pam-0:1.7.0-6.fc42 100% | 93.4 MiB/s | 4.3 MiB | 00m00s >>> Running sysusers scriptlet: dbus-common-1:1.16.0-3.fc42.noarch >>> Finished sysusers scriptlet: dbus-common-1:1.16.0-3.fc42.noarch >>> Scriptlet output: >>> Creating group 'dbus' with GID 81. >>> Creating user 'dbus' (System Message Bus) with UID 81 and GID 81. >>> [ 27/207] Installing dbus-common-1:1.16 100% | 967.9 KiB/s | 13.6 KiB | 00m00s [ 28/207] Installing dbus-broker-0:36-5 100% | 15.4 MiB/s | 424.4 KiB | 00m00s [ 29/207] Installing dbus-1:1.16.0-3.fc 100% | 0.0 B/s | 124.0 B | 00m00s [ 30/207] Installing systemd-pam-0:257. 100% | 50.4 MiB/s | 1.1 MiB | 00m00s >>> Running sysusers scriptlet: systemd-0:257.6-1.fc42.aarch64 >>> Finished sysusers scriptlet: systemd-0:257.6-1.fc42.aarch64 >>> Scriptlet output: >>> Creating group 'systemd-journal' with GID 190. >>> >>> Running sysusers scriptlet: systemd-0:257.6-1.fc42.aarch64 >>> Finished sysusers scriptlet: systemd-0:257.6-1.fc42.aarch64 >>> Scriptlet output: >>> Creating group 'systemd-oom' with GID 999. >>> Creating user 'systemd-oom' (systemd Userspace OOM Killer) with UID 999 and >>> [ 31/207] Installing systemd-0:257.6-1. 100% | 76.8 MiB/s | 14.8 MiB | 00m00s [ 32/207] Installing systemd-container- 100% | 88.4 MiB/s | 2.7 MiB | 00m00s [ 33/207] Installing dnf-data-0:4.23.0- 100% | 20.2 MiB/s | 41.4 KiB | 00m00s [ 34/207] Installing distribution-gpg-k 100% | 58.0 MiB/s | 1.0 MiB | 00m00s [ 35/207] Installing mpdecimal-0:4.0.1- 100% | 138.1 MiB/s | 282.7 KiB | 00m00s [ 36/207] Installing shared-mime-info-0 100% | 79.5 MiB/s | 2.6 MiB | 00m00s [ 37/207] Installing libpng-2:1.6.44-2. 100% | 132.4 MiB/s | 271.1 KiB | 00m00s [ 38/207] Installing libjpeg-turbo-0:3. 100% | 241.0 MiB/s | 740.3 KiB | 00m00s [ 39/207] Installing gdk-pixbuf2-0:2.42 100% | 79.7 MiB/s | 2.6 MiB | 00m00s [ 40/207] Installing json-glib-0:1.10.6 100% | 86.9 MiB/s | 622.6 KiB | 00m00s [ 41/207] Installing libappstream-glib- 100% | 55.2 MiB/s | 1.5 MiB | 00m00s [ 42/207] Installing dash-0:0.5.12-5.fc 100% | 6.8 MiB/s | 180.2 KiB | 00m00s [ 43/207] Installing gobject-introspect 100% | 146.2 MiB/s | 449.1 KiB | 00m00s [ 44/207] Installing drpm-0:0.5.2-8.fc4 100% | 156.9 MiB/s | 160.7 KiB | 00m00s [ 45/207] Installing createrepo_c-libs- 100% | 138.1 MiB/s | 282.8 KiB | 00m00s [ 46/207] Installing createrepo_c-0:1.2 100% | 14.8 MiB/s | 302.2 KiB | 00m00s [ 47/207] Installing libuser-0:0.64-12. 100% | 84.5 MiB/s | 2.5 MiB | 00m00s [ 48/207] Installing usermode-0:1.114-1 100% | 36.1 MiB/s | 923.5 KiB | 00m00s [ 49/207] Installing procps-ng-0:4.0.4- 100% | 70.4 MiB/s | 1.7 MiB | 00m00s [ 50/207] Installing pigz-0:2.8-6.fc42. 100% | 8.4 MiB/s | 164.3 KiB | 00m00s [ 51/207] Installing python-pip-wheel-0 100% | 622.1 MiB/s | 1.2 MiB | 00m00s [ 52/207] Installing libb2-0:0.98.1-13. 100% | 12.2 MiB/s | 75.2 KiB | 00m00s [ 53/207] Installing python3-libs-0:3.1 100% | 263.3 MiB/s | 42.4 MiB | 00m00s [ 54/207] Installing python3-0:3.13.3-2 100% | 4.7 MiB/s | 86.4 KiB | 00m00s [ 55/207] Installing python3-six-0:1.17 100% | 116.2 MiB/s | 119.0 KiB | 00m00s [ 56/207] Installing python3-argcomplet 100% | 15.4 MiB/s | 330.6 KiB | 00m00s [ 57/207] Installing python3-distro-0:1 100% | 10.3 MiB/s | 200.9 KiB | 00m00s [ 58/207] Installing python3-idna-0:3.1 100% | 206.5 MiB/s | 634.3 KiB | 00m00s [ 59/207] Installing python3-libcomps-0 100% | 37.6 MiB/s | 154.1 KiB | 00m00s [ 60/207] Installing python3-setuptools 100% | 164.6 MiB/s | 8.6 MiB | 00m00s [ 61/207] Installing python3-libdnf-0:0 100% | 326.0 MiB/s | 3.9 MiB | 00m00s [ 62/207] Installing python3-hawkey-0:0 100% | 187.3 MiB/s | 383.6 KiB | 00m00s [ 63/207] Installing python3-munch-0:4. 100% | 62.0 MiB/s | 63.5 KiB | 00m00s [ 64/207] Installing python3-urllib3-0: 100% | 145.4 MiB/s | 1.0 MiB | 00m00s [ 65/207] Installing python3-dateutil-1 100% | 173.8 MiB/s | 889.9 KiB | 00m00s [ 66/207] Installing python3-construct- 100% | 246.4 MiB/s | 1.0 MiB | 00m00s [ 67/207] Installing python3-pybeam-0:0 100% | 24.4 MiB/s | 50.0 KiB | 00m00s [ 68/207] Installing python3-cccolutils 100% | 102.9 MiB/s | 105.4 KiB | 00m00s [ 69/207] Installing python3-pycurl-0:7 100% | 80.0 MiB/s | 491.5 KiB | 00m00s [ 70/207] Installing python3-pyyaml-0:6 100% | 156.8 MiB/s | 802.6 KiB | 00m00s [ 71/207] Installing python3-charset-no 100% | 15.3 MiB/s | 329.5 KiB | 00m00s [ 72/207] Installing python3-requests-0 100% | 120.9 MiB/s | 495.2 KiB | 00m00s [ 73/207] Installing python3-bugzilla-0 100% | 145.8 MiB/s | 447.9 KiB | 00m00s [ 74/207] Installing python3-openidc-cl 100% | 75.6 MiB/s | 77.4 KiB | 00m00s [ 75/207] Installing python3-smmap-0:5. 100% | 67.0 MiB/s | 205.7 KiB | 00m00s [ 76/207] Installing python3-gitdb-0:4. 100% | 100.9 MiB/s | 516.6 KiB | 00m00s [ 77/207] Installing python3-typing-ext 100% | 224.9 MiB/s | 460.6 KiB | 00m00s [ 78/207] Installing python3-utils-0:3. 100% | 76.3 MiB/s | 234.3 KiB | 00m00s [ 79/207] Installing python3-progressba 100% | 25.8 MiB/s | 581.0 KiB | 00m00s [ 80/207] Installing python3-backoff-0: 100% | 27.1 MiB/s | 110.8 KiB | 00m00s [ 81/207] Installing python3-pyroute2-0 100% | 75.9 MiB/s | 3.6 MiB | 00m00s [ 82/207] Installing python3-markupsafe 100% | 56.6 MiB/s | 115.9 KiB | 00m00s [ 83/207] Installing python3-jinja2-0:3 100% | 291.3 MiB/s | 2.9 MiB | 00m00s [ 84/207] Installing python3-templated- 100% | 30.1 MiB/s | 30.8 KiB | 00m00s [ 85/207] Installing python3-defusedxml 100% | 99.9 MiB/s | 204.6 KiB | 00m00s [ 86/207] Installing python3-decorator- 100% | 79.2 MiB/s | 81.1 KiB | 00m00s [ 87/207] Installing python3-gssapi-0:1 100% | 249.8 MiB/s | 3.2 MiB | 00m00s [ 88/207] Installing python3-requests-g 100% | 32.4 MiB/s | 66.3 KiB | 00m00s [ 89/207] Installing python3-gobject-ba 100% | 198.8 MiB/s | 1.6 MiB | 00m00s [ 90/207] Installing python3-libmodulem 100% | 0.0 B/s | 16.0 KiB | 00m00s [ 91/207] Installing python3-rpmautospe 100% | 13.2 MiB/s | 13.5 KiB | 00m00s [ 92/207] Installing python3-rpmautospe 100% | 62.8 MiB/s | 450.2 KiB | 00m00s [ 93/207] Installing python3-enchant-0: 100% | 122.4 MiB/s | 376.0 KiB | 00m00s [ 94/207] Installing python3-packaging- 100% | 138.7 MiB/s | 568.0 KiB | 00m00s [ 95/207] Installing python3-pyxdg-0:0. 100% | 144.1 MiB/s | 442.5 KiB | 00m00s [ 96/207] Installing python3-tomli-w-0: 100% | 35.1 MiB/s | 36.0 KiB | 00m00s [ 97/207] Installing python3-zstandard- 100% | 311.8 MiB/s | 1.9 MiB | 00m00s [ 98/207] Installing python3-click-0:8. 100% | 211.9 MiB/s | 1.1 MiB | 00m00s [ 99/207] Installing python3-krb5-0:0.7 100% | 318.6 MiB/s | 3.8 MiB | 00m00s [100/207] Installing python3-ply-0:3.11 100% | 185.6 MiB/s | 570.3 KiB | 00m00s [101/207] Installing python3-pycparser- 100% | 198.2 MiB/s | 812.0 KiB | 00m00s [102/207] Installing python3-cffi-0:1.1 100% | 192.7 MiB/s | 1.3 MiB | 00m00s [103/207] Installing python3-cryptograp 100% | 178.6 MiB/s | 4.8 MiB | 00m00s [104/207] Installing python3-spnego-0:0 100% | 44.1 MiB/s | 1.1 MiB | 00m00s [105/207] Installing python3-spnego+ker 100% | 0.0 B/s | 124.0 B | 00m00s [106/207] Installing python3-requests-k 100% | 22.6 MiB/s | 69.3 KiB | 00m00s [107/207] Installing python3-authlib-0: 100% | 64.5 MiB/s | 1.5 MiB | 00m00s [108/207] Installing python3-file-magic 100% | 29.7 MiB/s | 30.5 KiB | 00m00s [109/207] Installing libcbor-0:0.11.0-3 100% | 136.0 MiB/s | 139.3 KiB | 00m00s [110/207] Installing libfido2-0:1.15.0- 100% | 136.6 MiB/s | 279.8 KiB | 00m00s [111/207] Installing openssh-0:9.9p1-11 100% | 62.8 MiB/s | 1.4 MiB | 00m00s [112/207] Installing libedit-0:3.1-55.2 100% | 137.6 MiB/s | 281.8 KiB | 00m00s [113/207] Installing openssh-clients-0: 100% | 65.6 MiB/s | 2.8 MiB | 00m00s [114/207] Installing less-0:679-1.fc42. 100% | 24.7 MiB/s | 557.2 KiB | 00m00s [115/207] Installing git-core-0:2.50.0- 100% | 267.8 MiB/s | 23.3 MiB | 00m00s [116/207] Installing git-core-doc-0:2.5 100% | 256.2 MiB/s | 17.9 MiB | 00m00s [117/207] Installing python3-GitPython- 100% | 204.2 MiB/s | 1.8 MiB | 00m00s [118/207] Installing libusb1-0:1.0.28-2 100% | 11.0 MiB/s | 180.3 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.1.3-6.fc42.aarch64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.1.3-6.fc42.aarch64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [119/207] Installing tpm2-tss-0:4.1.3-6 100% | 239.9 MiB/s | 2.2 MiB | 00m00s [120/207] Installing ima-evm-utils-libs 100% | 91.8 MiB/s | 94.0 KiB | 00m00s [121/207] Installing ncurses-0:6.5-5.20 100% | 32.5 MiB/s | 898.4 KiB | 00m00s [122/207] Installing npth-0:1.8-2.fc42. 100% | 92.4 MiB/s | 94.6 KiB | 00m00s [123/207] Installing gnupg2-0:2.4.7-2.f 100% | 170.6 MiB/s | 10.4 MiB | 00m00s [124/207] Installing groff-base-0:1.23. 100% | 93.3 MiB/s | 4.2 MiB | 00m00s [125/207] Installing perl-Digest-0:1.20 100% | 36.2 MiB/s | 37.1 KiB | 00m00s [126/207] Installing perl-Digest-MD5-0: 100% | 51.6 MiB/s | 105.6 KiB | 00m00s [127/207] Installing perl-B-0:1.89-517. 100% | 177.5 MiB/s | 545.3 KiB | 00m00s [128/207] Installing perl-FileHandle-0: 100% | 0.0 B/s | 9.8 KiB | 00m00s [129/207] Installing perl-MIME-Base32-0 100% | 31.4 MiB/s | 32.2 KiB | 00m00s [130/207] Installing perl-Data-Dumper-0 100% | 134.3 MiB/s | 137.5 KiB | 00m00s [131/207] Installing perl-libnet-0:3.15 100% | 143.9 MiB/s | 294.7 KiB | 00m00s [132/207] Installing perl-AutoLoader-0: 100% | 0.0 B/s | 20.9 KiB | 00m00s [133/207] Installing perl-IO-Socket-IP- 100% | 99.8 MiB/s | 102.2 KiB | 00m00s [134/207] Installing perl-URI-0:5.31-2. 100% | 65.8 MiB/s | 269.6 KiB | 00m00s [135/207] Installing perl-Time-Local-2: 100% | 68.9 MiB/s | 70.6 KiB | 00m00s [136/207] Installing perl-Text-Tabs+Wra 100% | 23.3 MiB/s | 23.9 KiB | 00m00s [137/207] Installing perl-File-Path-0:2 100% | 63.0 MiB/s | 64.5 KiB | 00m00s [138/207] Installing perl-Pod-Escapes-1 100% | 25.3 MiB/s | 25.9 KiB | 00m00s [139/207] Installing perl-if-0:0.61.000 100% | 6.1 MiB/s | 6.2 KiB | 00m00s [140/207] Installing perl-Net-SSLeay-0: 100% | 204.7 MiB/s | 1.4 MiB | 00m00s [141/207] Installing perl-locale-0:1.12 100% | 0.0 B/s | 6.9 KiB | 00m00s [142/207] Installing perl-IO-Socket-SSL 100% | 230.3 MiB/s | 707.4 KiB | 00m00s [143/207] Installing perl-Term-ANSIColo 100% | 96.9 MiB/s | 99.2 KiB | 00m00s [144/207] Installing perl-Term-Cap-0:1. 100% | 29.9 MiB/s | 30.6 KiB | 00m00s [145/207] Installing perl-POSIX-0:2.20- 100% | 258.2 MiB/s | 264.4 KiB | 00m00s [146/207] Installing perl-File-Temp-1:0 100% | 160.2 MiB/s | 164.1 KiB | 00m00s [147/207] Installing perl-IPC-Open3-0:1 100% | 0.0 B/s | 23.3 KiB | 00m00s [148/207] Installing perl-HTTP-Tiny-0:0 100% | 152.8 MiB/s | 156.4 KiB | 00m00s [149/207] Installing perl-Class-Struct- 100% | 25.3 MiB/s | 25.9 KiB | 00m00s [150/207] Installing perl-Pod-Simple-1: 100% | 185.7 MiB/s | 570.4 KiB | 00m00s [151/207] Installing perl-Socket-4:2.03 100% | 142.6 MiB/s | 146.0 KiB | 00m00s [152/207] Installing perl-Symbol-0:1.09 100% | 0.0 B/s | 7.2 KiB | 00m00s [153/207] Installing perl-SelectSaver-0 100% | 0.0 B/s | 2.6 KiB | 00m00s [154/207] Installing perl-File-stat-0:1 100% | 0.0 B/s | 13.1 KiB | 00m00s [155/207] Installing perl-Pod-Perldoc-0 100% | 8.3 MiB/s | 169.2 KiB | 00m00s [156/207] Installing perl-podlators-1:6 100% | 16.5 MiB/s | 321.4 KiB | 00m00s [157/207] Installing perl-Text-ParseWor 100% | 14.2 MiB/s | 14.6 KiB | 00m00s [158/207] Installing perl-Fcntl-0:1.18- 100% | 91.9 MiB/s | 94.1 KiB | 00m00s [159/207] Installing perl-base-0:2.27-5 100% | 0.0 B/s | 12.9 KiB | 00m00s [160/207] Installing perl-mro-0:1.29-51 100% | 80.7 MiB/s | 82.7 KiB | 00m00s [161/207] Installing perl-overloading-0 100% | 5.4 MiB/s | 5.5 KiB | 00m00s [162/207] Installing perl-IO-0:1.55-517 100% | 95.4 MiB/s | 195.3 KiB | 00m00s [163/207] Installing perl-Pod-Usage-4:2 100% | 4.8 MiB/s | 87.9 KiB | 00m00s [164/207] Installing perl-constant-0:1. 100% | 26.7 MiB/s | 27.4 KiB | 00m00s [165/207] Installing perl-parent-1:0.24 100% | 0.0 B/s | 11.0 KiB | 00m00s [166/207] Installing perl-MIME-Base64-0 100% | 94.0 MiB/s | 96.3 KiB | 00m00s [167/207] Installing perl-Errno-0:1.38- 100% | 0.0 B/s | 8.7 KiB | 00m00s [168/207] Installing perl-File-Basename 100% | 0.0 B/s | 14.6 KiB | 00m00s [169/207] Installing perl-Scalar-List-U 100% | 76.4 MiB/s | 156.5 KiB | 00m00s [170/207] Installing perl-vars-0:1.05-5 100% | 0.0 B/s | 4.3 KiB | 00m00s [171/207] Installing perl-Getopt-Std-0: 100% | 0.0 B/s | 11.7 KiB | 00m00s [172/207] Installing perl-overload-0:1. 100% | 0.0 B/s | 71.9 KiB | 00m00s [173/207] Installing perl-Storable-1:3. 100% | 120.1 MiB/s | 245.9 KiB | 00m00s [174/207] Installing perl-Getopt-Long-1 100% | 143.8 MiB/s | 147.2 KiB | 00m00s [175/207] Installing perl-Exporter-0:5. 100% | 54.3 MiB/s | 55.6 KiB | 00m00s [176/207] Installing perl-Carp-0:1.54-5 100% | 46.6 MiB/s | 47.7 KiB | 00m00s [177/207] Installing perl-PathTools-0:3 100% | 111.6 MiB/s | 228.6 KiB | 00m00s [178/207] Installing perl-DynaLoader-0: 100% | 31.7 MiB/s | 32.5 KiB | 00m00s [179/207] Installing perl-Encode-4:3.21 100% | 138.4 MiB/s | 4.8 MiB | 00m00s [180/207] Installing perl-libs-4:5.40.2 100% | 204.5 MiB/s | 10.0 MiB | 00m00s [181/207] Installing perl-interpreter-4 100% | 9.0 MiB/s | 175.9 KiB | 00m00s [182/207] Installing devscripts-checkba 100% | 2.9 MiB/s | 53.8 KiB | 00m00s [183/207] Installing perl-TermReadKey-0 100% | 53.8 MiB/s | 110.2 KiB | 00m00s [184/207] Installing perl-Error-1:0.170 100% | 78.1 MiB/s | 80.0 KiB | 00m00s [185/207] Installing perl-File-Find-0:1 100% | 41.5 MiB/s | 42.5 KiB | 00m00s [186/207] Installing perl-lib-0:0.65-51 100% | 0.0 B/s | 8.9 KiB | 00m00s [187/207] Installing perl-Git-0:2.50.0- 100% | 63.5 MiB/s | 65.0 KiB | 00m00s [188/207] Installing git-0:2.50.0-1.fc4 100% | 85.2 MiB/s | 87.2 KiB | 00m00s [189/207] Installing fakeroot-libs-0:1. 100% | 138.7 MiB/s | 142.0 KiB | 00m00s [190/207] Installing fakeroot-0:1.37.1- 100% | 7.7 MiB/s | 235.3 KiB | 00m00s [191/207] Installing libfsverity-0:1.6- 100% | 67.8 MiB/s | 69.4 KiB | 00m00s [192/207] Installing rpm-sign-libs-0:4. 100% | 66.6 MiB/s | 68.2 KiB | 00m00s [193/207] Installing python3-rpm-0:4.20 100% | 89.1 MiB/s | 182.5 KiB | 00m00s [194/207] Installing python3-koji-0:1.3 100% | 308.9 MiB/s | 2.2 MiB | 00m00s [195/207] Installing koji-0:1.35.3-1.fc 100% | 34.8 MiB/s | 925.5 KiB | 00m00s [196/207] Installing rpmlint-fedora-lic 100% | 23.7 MiB/s | 24.3 KiB | 00m00s [197/207] Installing rpmlint-0:2.7.0-3. 100% | 42.2 MiB/s | 1.1 MiB | 00m00s [198/207] Installing bodhi-client-0:25. 100% | 13.2 MiB/s | 269.7 KiB | 00m00s [199/207] Installing rpmdevtools-0:9.6- 100% | 10.4 MiB/s | 223.8 KiB | 00m00s [200/207] Installing python3-dnf-0:4.23 100% | 82.0 MiB/s | 2.7 MiB | 00m00s [201/207] Installing mock-core-configs- 100% | 3.1 MiB/s | 457.4 KiB | 00m00s [202/207] Installing mock-0:6.3-1.fc42. 100% | 39.0 MiB/s | 1.1 MiB | 00m00s [203/207] Installing rpkg-common-0:1.68 100% | 13.3 MiB/s | 13.6 KiB | 00m00s [204/207] Installing python3-rpkg-0:1.6 100% | 208.1 MiB/s | 1.0 MiB | 00m00s [205/207] Installing fedpkg-0:1.46-1.fc 100% | 16.1 MiB/s | 330.7 KiB | 00m00s [206/207] Installing authselect-0:1.5.1 100% | 9.1 MiB/s | 186.2 KiB | 00m00s [207/207] Installing systemd-rpm-macros 100% | 28.0 KiB/s | 11.3 KiB | 00m00s Complete! + git config --global --add safe.directory /mnt/workdir-414s33bv/rpm-packages/kernel/upstream + git checkout f42 Switched to a new branch 'f42' branch 'f42' set up to track 'origin/f42'. + patch -p1 patching file acpi-call.patch patching file bbr3.patch patching file bore.patch patching file kernel-x86_64-fedora.config Hunk #4 succeeded at 4420 (offset -1 lines). patching file kernel.spec patching file process_configs.sh ++ cat /mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec + printf '%s\n%s\n' '%global _default_patch_fuzz 2' '# All Global changes to build and install go here. # Per the below section about __spec_install_pre, any rpm # environment changes that affect %%install need to go # here before the %%install macro is pre-built. # Disable frame pointers %undefine _include_frame_pointers # Disable LTO in userspace packages. %global _lto_cflags %{nil} # Option to enable compiling with clang instead of gcc. %bcond_with toolchain_clang %if %{with toolchain_clang} %global toolchain clang %endif # Compile the kernel with LTO (only supported when building with clang). %bcond_with clang_lto %if %{with clang_lto} && %{without toolchain_clang} {error:clang_lto requires --with toolchain_clang} %endif # RPM macros strip everything in BUILDROOT, either with __strip # or find-debuginfo.sh. Make use of __spec_install_post override # and save/restore binaries we want to package as unstripped. %define buildroot_unstripped %{_builddir}/root_unstripped %define buildroot_save_unstripped() \ (cd %{buildroot}; cp -rav --parents -t %{buildroot_unstripped}/ %1 || true) \ %{nil} %define __restore_unstripped_root_post \ echo "Restoring unstripped artefacts %{buildroot_unstripped} -> %{buildroot}" \ cp -rav %{buildroot_unstripped}/. %{buildroot}/ \ %{nil} # The kernel'\''s %%install section is special # Normally the %%install section starts by cleaning up the BUILD_ROOT # like so: # # %%__spec_install_pre %%{___build_pre}\ # [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}"\ # mkdir -p `dirname "$RPM_BUILD_ROOT"`\ # mkdir "$RPM_BUILD_ROOT"\ # %%{nil} # # But because of kernel variants, the %%build section, specifically # BuildKernel(), moves each variant to its final destination as the # variant is built. This violates the expectation of the %%install # section. As a result we snapshot the current env variables and # purposely leave out the removal section. All global wide changes # should be added above this line otherwise the %%install section # will not see them. %global __spec_install_pre %{___build_pre} # Replace '\''-'\'' with '\''_'\'' where needed so that variants can use '\''-'\'' in # their name. %define uname_suffix() %{lua: local flavour = rpm.expand('\''%{?1:+%{1}}'\'') flavour = flavour:gsub('\''-'\'', '\''_'\'') if flavour ~= '\'''\'' then print(flavour) end } # This returns the main kernel tied to a debug variant. For example, # kernel-debug is the debug version of kernel, so we return an empty # string. However, kernel-64k-debug is the debug version of kernel-64k, # in this case we need to return "64k", and so on. This is used in # macros below where we need this for some uname based requires. %define uname_variant() %{lua: local flavour = rpm.expand('\''%{?1:%{1}}'\'') _, _, main, sub = flavour:find("(%w+)-(.*)") if main then print("+" .. main) end } # At the time of this writing (2019-03), RHEL8 packages use w2.xzdio # compression for rpms (xz, level 2). # Kernel has several large (hundreds of mbytes) rpms, they take ~5 mins # to compress by single-threaded xz. Switch to threaded compression, # and from level 2 to 3 to keep compressed sizes close to "w2" results. # # NB: if default compression in /usr/lib/rpm/redhat/macros ever changes, # this one might need tweaking (e.g. if default changes to w3.xzdio, # change below to w4T.xzdio): # # This is disabled on i686 as it triggers oom errors %ifnarch i686 %define _binary_payload w3T.xzdio %endif Summary: The Linux kernel %if 0%{?fedora} %define secure_boot_arch x86_64 %else %define secure_boot_arch x86_64 aarch64 s390x ppc64le %endif # Signing for secure boot authentication %ifarch %{secure_boot_arch} %global signkernel 1 %else %global signkernel 0 %endif # Sign modules on all arches %global signmodules 1 # Compress modules only for architectures that build modules %ifarch noarch %global zipmodules 0 %else %global zipmodules 1 %endif # Default compression algorithm %global compression xz %global compression_flags --compress --check=crc32 --lzma2=dict=1MiB %global compext xz %if 0%{?fedora} %define primary_target fedora %else %define primary_target rhel %endif # # genspec.sh variables # # kernel package name %global package_name kernel %global gemini 0 # Include Fedora files %global include_fedora 1 # Include RHEL files %global include_rhel 1 # Include RT files %global include_rt 1 # Include Automotive files %global include_automotive 1 # Provide Patchlist.changelog file %global patchlist_changelog 1 # Set released_kernel to 1 when the upstream source tarball contains a # kernel release. (This includes prepatch or "rc" releases.) # Set released_kernel to 0 when the upstream source tarball contains an # unreleased kernel development snapshot. %global released_kernel 1 # Set debugbuildsenabled to 1 to build separate base and debug kernels # (on supported architectures). The kernel-debug-* subpackages will # contain the debug kernel. # Set debugbuildsenabled to 0 to not build a separate debug kernel, but # to build the base kernel using the debug configuration. (Specifying # the --with-release option overrides this setting.) %define debugbuildsenabled 1 # define buildid .local %define specrpmversion 6.15.4 %define specversion 6.15.4 %define patchversion 6.15 %define pkgrelease 200 %define kversion 6 %define tarfile_release 6.15.4 # This is needed to do merge window version magic %define patchlevel 15 # This allows pkg_release to have configurable %%{?dist} tag %define specrelease 200%{?buildid}%{?dist} # This defines the kabi tarball version %define kabiversion 6.15.4 # If this variable is set to 1, a bpf selftests build failure will cause a # fatal kernel package build error %define selftests_must_build 0 # # End of genspec.sh variables # %define pkg_release %{specrelease} # libexec dir is not used by the linker, so the shared object there # should not be exported to RPM provides %global __provides_exclude_from ^%{_libexecdir}/kselftests # The following build options are (mostly) enabled by default, but may become # enabled/disabled by later architecture-specific checks. # Where disabled by default, they can be enabled by using --with in the # rpmbuild command, or by forcing these values to 1. # Where enabled by default, they can be disabled by using --without in # the rpmbuild command, or by forcing these values to 0. # # standard kernel %define with_up %{?_without_up: 0} %{?!_without_up: 1} # build the base variants %define with_base %{?_without_base: 0} %{?!_without_base: 1} # build also debug variants %define with_debug %{?_without_debug: 0} %{?!_without_debug: 1} # kernel-zfcpdump (s390 specific kernel for zfcpdump) %define with_zfcpdump %{?_without_zfcpdump: 0} %{?!_without_zfcpdump: 1} # kernel-16k (aarch64 kernel with 16K page_size) %define with_arm64_16k %{?_with_arm64_16k: 1} %{?!_with_arm64_16k: 0} # kernel-64k (aarch64 kernel with 64K page_size) %define with_arm64_64k %{?_without_arm64_64k: 0} %{?!_without_arm64_64k: 1} # kernel-rt (x86_64 and aarch64 only PREEMPT_RT enabled kernel) %define with_realtime %{?_without_realtime: 0} %{?!_without_realtime: 1} # kernel-rt-64k (aarch64 RT kernel with 64K page_size) %define with_realtime_arm64_64k %{?_without_realtime_arm64_64k: 0} %{?!_without_realtime_arm64_64k: 1} # kernel-automotive (x86_64 and aarch64 with PREEMPT_RT enabled - currently off by default) %define with_automotive %{?_with_automotive: 1} %{?!_with_automotive: 0} # Supported variants # with_base with_debug with_gcov # up X X X # zfcpdump X X # arm64_16k X X X # arm64_64k X X X # realtime X X X # automotive X X X # kernel-doc %define with_doc %{?_without_doc: 0} %{?!_without_doc: 1} # kernel-headers %define with_headers %{?_without_headers: 0} %{?!_without_headers: 1} %define with_cross_headers %{?_without_cross_headers: 0} %{?!_without_cross_headers: 1} # perf %define with_perf %{?_without_perf: 0} %{?!_without_perf: 1} # libperf %define with_libperf %{?_without_libperf: 0} %{?!_without_libperf: 1} # tools %define with_tools %{?_without_tools: 0} %{?!_without_tools: 1} # ynl %define with_ynl %{?_without_ynl: 0} %{?!_without_ynl: 1} # kernel-debuginfo %define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1} # kernel-abi-stablelists %define with_kernel_abi_stablelists %{?_without_kernel_abi_stablelists: 0} %{?!_without_kernel_abi_stablelists: 1} # internal samples and selftests %define with_selftests %{?_without_selftests: 0} %{?!_without_selftests: 1} # # Additional options for user-friendly one-off kernel building: # # Only build the base kernel (--with baseonly): %define with_baseonly %{?_with_baseonly: 1} %{?!_with_baseonly: 0} # Only build the debug variants (--with dbgonly): %define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0} # Only build the realtime kernel (--with rtonly): %define with_rtonly %{?_with_rtonly: 1} %{?!_with_rtonly: 0} # Only build the automotive kernel (--with automotiveonly):% %define with_automotiveonly %{?_with_automotiveonly: 1} %{?!_with_automotiveonly: 0} # Only build the tools package %define with_toolsonly %{?_with_toolsonly: 1} %{?!_with_toolsonly: 0} # Control whether we perform a compat. check against published ABI. %define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1} # Temporarily disable kabi checks until RC. %define with_kabichk 0 # Control whether we perform a compat. check against DUP ABI. %define with_kabidupchk %{?_with_kabidupchk: 1} %{?!_with_kabidupchk: 0} # # Control whether to run an extensive DWARF based kABI check. # Note that this option needs to have baseline setup in SOURCE300. %define with_kabidwchk %{?_without_kabidwchk: 0} %{?!_without_kabidwchk: 1} %define with_kabidw_base %{?_with_kabidw_base: 1} %{?!_with_kabidw_base: 0} # # Control whether to install the vdso directories. %define with_vdso_install %{?_without_vdso_install: 0} %{?!_without_vdso_install: 1} # # should we do C=1 builds with sparse %define with_sparse %{?_with_sparse: 1} %{?!_with_sparse: 0} # # Cross compile requested? %define with_cross %{?_with_cross: 1} %{?!_with_cross: 0} # # build a release kernel on rawhide %define with_release %{?_with_release: 1} %{?!_with_release: 0} # verbose build, i.e. no silent rules and V=1 %define with_verbose %{?_with_verbose: 1} %{?!_with_verbose: 0} # # check for mismatched config options %define with_configchecks %{?_without_configchecks: 0} %{?!_without_configchecks: 1} # # gcov support %define with_gcov %{?_with_gcov:1}%{?!_with_gcov:0} # Want to build a vanilla kernel build without any non-upstream patches? %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} %ifarch x86_64 aarch64 riscv64 %define with_efiuki %{?_without_efiuki: 0} %{?!_without_efiuki: 1} %else %define with_efiuki 0 %endif %if 0%{?fedora} # Kernel headers are being split out into a separate package %define with_headers 0 %define with_cross_headers 0 # no stablelist %define with_kernel_abi_stablelists 0 %define with_arm64_64k 0 %define with_realtime 0 %define with_realtime_arm64_64k 0 %define with_automotive 0 %endif %if %{with_verbose} %define make_opts V=1 %endif %if %{with toolchain_clang} %ifarch s390x ppc64le %global llvm_ias 0 %else %global llvm_ias 1 %endif %global clang_make_opts HOSTCC=clang CC=clang LLVM_IAS=%{llvm_ias} %if %{with clang_lto} # LLVM=1 enables use of all LLVM tools. %global clang_make_opts %{clang_make_opts} LLVM=1 %endif %global make_opts %{make_opts} %{clang_make_opts} %endif # turn off debug kernel and kabichk for gcov builds %if %{with_gcov} %define with_debug 0 %define with_kabichk 0 %define with_kabidupchk 0 %define with_kabidwchk 0 %define with_kabidw_base 0 %define with_kernel_abi_stablelists 0 %endif # turn off kABI DWARF-based check if we'\''re generating the base dataset %if %{with_kabidw_base} %define with_kabidwchk 0 %endif %define make_target bzImage %define image_install_path boot %define KVERREL %{specversion}-%{release}.%{_target_cpu} %define KVERREL_RE %(echo %KVERREL | sed '\''s/+/[+]/g'\'') %define hdrarch %_target_cpu %define asmarch %_target_cpu %if 0%{!?nopatches:1} %define nopatches 0 %endif %if %{with_vanilla} %define nopatches 1 %endif %if %{with_release} %define debugbuildsenabled 1 %endif %if !%{with_debuginfo} %define _enable_debug_packages 0 %endif %define debuginfodir /usr/lib/debug # Needed because we override almost everything involving build-ids # and debuginfo generation. Currently we rely on the old alldebug setting. %global _build_id_links alldebug # if requested, only build base kernel %if %{with_baseonly} %define with_debug 0 %define with_realtime 0 %define with_vdso_install 0 %define with_perf 0 %define with_libperf 0 %define with_tools 0 %define with_kernel_abi_stablelists 0 %define with_selftests 0 %endif # if requested, only build debug kernel %if %{with_dbgonly} %define with_base 0 %define with_vdso_install 0 %define with_perf 0 %define with_libperf 0 %define with_tools 0 %define with_kernel_abi_stablelists 0 %define with_selftests 0 %endif # if requested, only build realtime kernel %if %{with_rtonly} %define with_realtime 1 %define with_realtime_arm64_64k 1 %define with_automotive 0 %define with_up 0 %define with_debug 0 %define with_debuginfo 0 %define with_vdso_install 0 %define with_perf 0 %define with_libperf 0 %define with_tools 0 %define with_kernel_abi_stablelists 0 %define with_selftests 0 %define with_headers 0 %define with_efiuki 0 %define with_zfcpdump 0 %define with_arm64_16k 0 %define with_arm64_64k 0 %endif # if requested, only build automotive kernel %if %{with_automotiveonly} %define with_automotive 1 %define with_realtime 0 %define with_up 0 %define with_debug 0 %define with_debuginfo 0 %define with_vdso_install 0 %define with_selftests 1 %endif # if requested, only build tools %if %{with_toolsonly} %define with_tools 1 %define with_up 0 %define with_base 0 %define with_debug 0 %define with_realtime 0 %define with_realtime_arm64_64k 0 %define with_arm64_16k 0 %define with_arm64_64k 0 %define with_automotive 0 %define with_cross_headers 0 %define with_doc 0 %define with_selftests 0 %define with_headers 0 %define with_efiuki 0 %define with_zfcpdump 0 %define with_vdso_install 0 %define with_kabichk 0 %define with_kabidwchk 0 %define with_kabidw_base 0 %define with_kernel_abi_stablelists 0 %define with_selftests 0 %define with_vdso_install 0 %define with_configchecks 0 %endif # RT and Automotive kernels are only built on x86_64 and aarch64 %ifnarch x86_64 aarch64 %define with_realtime 0 %define with_automotive 0 %endif %if %{with_automotive} # overrides compression algorithms for automotive %global compression zstd %global compression_flags --rm %global compext zst # automotive does not support the following variants %define with_realtime 0 %define with_realtime_arm64_64k 0 %define with_arm64_16k 0 %define with_arm64_64k 0 %define with_efiuki 0 %define with_doc 0 %define with_headers 0 %define with_cross_headers 0 %define with_perf 0 %define with_libperf 0 %define with_tools 0 %define with_kabichk 0 %define with_kernel_abi_stablelists 0 %define with_kabidw_base 0 %endif %if %{zipmodules} %global zipsed -e '\''s/\.ko$/\.ko.%compext/'\'' # for parallel xz processes, replace with 1 to go back to single process %endif # turn off kABI DUP check and DWARF-based check if kABI check is disabled %if !%{with_kabichk} %define with_kabidupchk 0 %define with_kabidwchk 0 %endif %if %{with_vdso_install} %define use_vdso 1 %endif %ifnarch noarch %define with_kernel_abi_stablelists 0 %endif # Overrides for generic default options # only package docs noarch %ifnarch noarch %define with_doc 0 %define doc_build_fail true %endif %if 0%{?fedora} # don'\''t do debug builds on anything but aarch64 and x86_64 %ifnarch aarch64 x86_64 %define with_debug 0 %endif %endif %define all_configs %{name}-%{specrpmversion}-*.config # don'\''t build noarch kernels or headers (duh) %ifarch noarch %define with_up 0 %define with_realtime 0 %define with_automotive 0 %define with_headers 0 %define with_cross_headers 0 %define with_tools 0 %define with_perf 0 %define with_libperf 0 %define with_selftests 0 %define with_debug 0 %endif # sparse blows up on ppc %ifnarch ppc64le %define with_sparse 0 %endif # zfcpdump mechanism is s390 only %ifnarch s390x %define with_zfcpdump 0 %endif # 16k and 64k variants only for aarch64 %ifnarch aarch64 %define with_arm64_16k 0 %define with_arm64_64k 0 %define with_realtime_arm64_64k 0 %endif %if 0%{?fedora} # This is not for Fedora %define with_zfcpdump 0 %endif # Per-arch tweaks %ifarch i686 %define asmarch x86 %define hdrarch i386 %define kernel_image arch/x86/boot/bzImage %endif %ifarch x86_64 %define asmarch x86 %define kernel_image arch/x86/boot/bzImage %endif %ifarch ppc64le %define asmarch powerpc %define hdrarch powerpc %define make_target vmlinux %define kernel_image vmlinux %define kernel_image_elf 1 %define use_vdso 0 %endif %ifarch s390x %define asmarch s390 %define hdrarch s390 %define kernel_image arch/s390/boot/bzImage %define vmlinux_decompressor arch/s390/boot/vmlinux %endif %ifarch aarch64 %define asmarch arm64 %define hdrarch arm64 %define make_target vmlinuz.efi %define kernel_image arch/arm64/boot/vmlinuz.efi %endif %ifarch riscv64 %define asmarch riscv %define hdrarch riscv %define make_target vmlinuz.efi %define kernel_image arch/riscv/boot/vmlinuz.efi %endif # Should make listnewconfig fail if there'\''s config options # printed out? %if %{nopatches} %define with_configchecks 0 %endif # To temporarily exclude an architecture from being built, add it to # %%nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we # don'\''t build kernel-headers then the new build system will no longer let # us use the previous build of that package -- it'\''ll just be completely AWOL. # Which is a BadThing(tm). # We only build kernel-headers on the following... %if 0%{?fedora} %define nobuildarches i386 %else %define nobuildarches i386 i686 %endif %ifarch %nobuildarches # disable BuildKernel commands %define with_up 0 %define with_debug 0 %define with_zfcpdump 0 %define with_arm64_16k 0 %define with_arm64_64k 0 %define with_realtime 0 %define with_realtime_arm64_64k 0 %define with_automotive 0 %define with_debuginfo 0 %define with_perf 0 %define with_libperf 0 %define with_tools 0 %define with_selftests 0 %define _enable_debug_packages 0 %endif # Architectures we build tools/cpupower on %if 0%{?fedora} %define cpupowerarchs %{ix86} x86_64 ppc64le aarch64 riscv64 %else %define cpupowerarchs i686 x86_64 ppc64le aarch64 riscv64 %endif # Architectures we build kernel livepatching selftests on %define klptestarches x86_64 ppc64le s390x %if 0%{?use_vdso} %define _use_vdso 1 %else %define _use_vdso 0 %endif # If build of debug packages is disabled, we need to know if we want to create # meta debug packages or not, after we define with_debug for all specific cases # above. So this must be at the end here, after all cases of with_debug or not. %define with_debug_meta 0 %if !%{debugbuildsenabled} %if %{with_debug} %define with_debug_meta 1 %endif %define with_debug 0 %endif # short-hand for "are we building base/non-debug variants of ...?" %if %{with_up} && %{with_base} %define with_up_base 1 %else %define with_up_base 0 %endif %if %{with_realtime} && %{with_base} %define with_realtime_base 1 %else %define with_realtime_base 0 %endif %if %{with_automotive} && %{with_base} %define with_automotive_base 1 %else %define with_automotive_base 0 %endif %if %{with_arm64_16k} && %{with_base} %define with_arm64_16k_base 1 %else %define with_arm64_16k_base 0 %endif %if %{with_arm64_64k} && %{with_base} %define with_arm64_64k_base 1 %else %define with_arm64_64k_base 0 %endif %if %{with_realtime_arm64_64k} && %{with_base} %define with_realtime_arm64_64k_base 1 %else %define with_realtime_arm64_64k_base 0 %endif # # Packages that need to be installed before the kernel is, because the %%post # scripts use them. # %define kernel_prereq coreutils, systemd >= 203-2, /usr/bin/kernel-install %define initrd_prereq dracut >= 027 Name: %{package_name} License: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND 0BSD AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0) AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later OR BSD-3-Clause) AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-only OR BSD-3-Clause) AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.1-no-invariants-or-later) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-or-later) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-3-Clause) AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later OR BSD-2-Clause) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only OR BSD-2-Clause) AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MIT OR Apache-2.0) AND (MIT OR GPL-2.0-only) AND (MIT OR GPL-2.0-or-later) AND (MIT OR LGPL-2.1-only) AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later) URL: https://www.kernel.org/ Version: %{specrpmversion} Release: %{pkg_release} # DO NOT CHANGE THE '\''ExclusiveArch'\'' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. # SET %%nobuildarches (ABOVE) INSTEAD %if 0%{?fedora} ExclusiveArch: noarch x86_64 s390x aarch64 ppc64le riscv64 %else ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le %endif ExclusiveOS: Linux %ifnarch %{nobuildarches} Requires: kernel-core-uname-r = %{KVERREL} Requires: kernel-modules-uname-r = %{KVERREL} Requires: kernel-modules-core-uname-r = %{KVERREL} Requires: ((kernel-modules-extra-uname-r = %{KVERREL}) if kernel-modules-extra-matched) Provides: installonlypkg(kernel) %endif # # List the packages used during the kernel build # BuildRequires: kmod, bash, coreutils, tar, git-core, which BuildRequires: bzip2, xz, findutils, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk, %compression # Kernel EFI/Compression set by CONFIG_KERNEL_ZSTD %ifarch x86_64 aarch64 riscv64 BuildRequires: zstd %endif BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++ BuildRequires: rust, rust-src, bindgen, rustfmt, clippy BuildRequires: net-tools, hostname, bc, elfutils-devel BuildRequires: dwarves BuildRequires: python3 BuildRequires: python3-devel BuildRequires: python3-pyyaml BuildRequires: kernel-rpm-macros # glibc-static is required for a consistent build environment (specifically # CONFIG_CC_CAN_LINK_STATIC=y). BuildRequires: glibc-static %if %{with_headers} || %{with_cross_headers} BuildRequires: rsync %endif %if %{with_doc} BuildRequires: xmlto, asciidoc, python3-sphinx, python3-sphinx_rtd_theme %endif %if %{with_sparse} BuildRequires: sparse %endif %if %{with_perf} BuildRequires: zlib-devel binutils-devel newt-devel perl(ExtUtils::Embed) bison flex xz-devel BuildRequires: audit-libs-devel python3-setuptools BuildRequires: java-devel BuildRequires: libbpf-devel >= 0.6.0-1 BuildRequires: libbabeltrace-devel BuildRequires: libtraceevent-devel %ifnarch s390x BuildRequires: numactl-devel %endif %ifarch aarch64 BuildRequires: opencsd-devel >= 1.0.0 %endif %endif %if %{with_tools} BuildRequires: python3-docutils BuildRequires: gettext ncurses-devel BuildRequires: libcap-devel libcap-ng-devel # The following are rtla requirements BuildRequires: python3-docutils BuildRequires: libtraceevent-devel BuildRequires: libtracefs-devel BuildRequires: libbpf-devel BuildRequires: bpftool BuildRequires: clang %ifnarch s390x BuildRequires: pciutils-devel %endif %ifarch i686 x86_64 BuildRequires: libnl3-devel %endif %endif %if %{with_tools} && %{with_ynl} BuildRequires: python3-pyyaml python3-jsonschema python3-pip python3-setuptools >= 61 BuildRequires: (python3-wheel if python3-setuptools < 70) %endif %if %{with_tools} || %{signmodules} || %{signkernel} BuildRequires: openssl-devel %endif %if %{with_selftests} BuildRequires: clang llvm-devel fuse-devel zlib-devel binutils-devel python3-docutils python3-jsonschema %ifarch x86_64 riscv64 BuildRequires: lld %endif BuildRequires: libcap-devel libcap-ng-devel rsync libmnl-devel BuildRequires: numactl-devel %endif BuildConflicts: rhbuildsys(DiskFree) < 500Mb %if %{with_debuginfo} BuildRequires: rpm-build, elfutils BuildConflicts: rpm < 4.13.0.1-19 BuildConflicts: dwarves < 1.13 # Most of these should be enabled after more investigation %undefine _include_minidebuginfo %undefine _find_debuginfo_dwz_opts %undefine _unique_build_ids %undefine _unique_debug_names %undefine _unique_debug_srcs %undefine _debugsource_packages %undefine _debuginfo_subpackages # Remove -q option below to provide '\''extracting debug info'\'' messages %global _find_debuginfo_opts -r -q %global _missing_build_ids_terminate_build 1 %global _no_recompute_build_ids 1 %endif %if %{with_kabidwchk} || %{with_kabidw_base} BuildRequires: kabi-dw %endif %if %{signkernel}%{signmodules} BuildRequires: openssl %if %{signkernel} # ELN uses Fedora signing process, so exclude %if 0%{?rhel}%{?centos} && !0%{?eln} BuildRequires: system-sb-certs %endif %ifarch x86_64 aarch64 riscv64 BuildRequires: nss-tools BuildRequires: pesign >= 0.10-4 %endif %endif %endif %if %{with_cross} BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu %define cross_opts CROSS_COMPILE=%{_build_arch}-linux-gnu- %define __strip %{_build_arch}-linux-gnu-strip %if 0%{?fedora} && 0%{?fedora} <= 41 # Work around find-debuginfo for cross builds. # find-debuginfo doesn'\''t support any of CROSS options (RHEL-21797), # and since debugedit > 5.0-16.el10, or since commit # dfe1f7ff30f4 ("find-debuginfo.sh: Exit with real exit status in parallel jobs") # it now aborts on failure and build fails. # debugedit-5.1-5 in F42 added support to override tools with target versions. %undefine _include_gdb_index %endif %endif # These below are required to build man pages %if %{with_perf} BuildRequires: xmlto %endif %if %{with_perf} || %{with_tools} BuildRequires: asciidoc %endif %if %{with toolchain_clang} BuildRequires: clang %endif %if %{with clang_lto} BuildRequires: llvm BuildRequires: lld %endif %if %{with_efiuki} BuildRequires: dracut # For dracut UEFI uki binaries BuildRequires: binutils # For the initrd BuildRequires: lvm2 BuildRequires: systemd-boot-unsigned # For systemd-stub and systemd-pcrphase BuildRequires: systemd-udev >= 252-1 # For UKI kernel cmdline addons BuildRequires: systemd-ukify # For TPM operations in UKI initramfs BuildRequires: tpm2-tools # For UKI sb cert %if 0%{?rhel}%{?centos} && !0%{?eln} %if 0%{?centos} BuildRequires: centos-sb-certs >= 9.0-23 %else BuildRequires: redhat-sb-certs >= 9.4-0.1 %endif %endif %endif # Because this is the kernel, it'\''s hard to get a single upstream URL # to represent the base without needing to do a bunch of patching. This # tarball is generated from a src-git tree. If you want to see the # exact git commit you can run # # xzcat -qq ${TARBALL} | git get-tar-commit-id Source0: linux-%{tarfile_release}.tar.xz Source1: Makefile.rhelver Source2: kernel.changelog Source10: redhatsecurebootca5.cer Source13: redhatsecureboot501.cer %if %{signkernel} # Name of the packaged file containing signing key %ifarch ppc64le %define signing_key_filename kernel-signing-ppc.cer %endif %ifarch s390x %define signing_key_filename kernel-signing-s390.cer %endif # Fedora/ELN pesign macro expects to see these cert file names, see: # https://github.com/rhboot/pesign/blob/main/src/pesign-rpmbuild-helper.in#L216 %if 0%{?fedora}%{?eln} %define pesign_name_0 redhatsecureboot501 %define secureboot_ca_0 %{SOURCE10} %define secureboot_key_0 %{SOURCE13} %endif # RHEL/centos certs come from system-sb-certs %if 0%{?rhel} && !0%{?eln} %define secureboot_ca_0 %{_datadir}/pki/sb-certs/secureboot-ca-%{_arch}.cer %define secureboot_key_0 %{_datadir}/pki/sb-certs/secureboot-kernel-%{_arch}.cer %if 0%{?centos} %define pesign_name_0 centossecureboot201 %else %ifarch x86_64 aarch64 %define pesign_name_0 redhatsecureboot501 %endif %ifarch s390x %define pesign_name_0 redhatsecureboot302 %endif %ifarch ppc64le %define pesign_name_0 redhatsecureboot701 %endif %endif # rhel && !eln %endif # signkernel %endif Source20: mod-denylist.sh Source21: mod-sign.sh Source22: filtermods.py %define modsign_cmd %{SOURCE21} %if 0%{?include_rhel} Source23: x509.genkey.rhel Source24: %{name}-aarch64-rhel.config Source25: %{name}-aarch64-debug-rhel.config Source27: %{name}-ppc64le-rhel.config Source28: %{name}-ppc64le-debug-rhel.config Source29: %{name}-s390x-rhel.config Source30: %{name}-s390x-debug-rhel.config Source31: %{name}-s390x-zfcpdump-rhel.config Source32: %{name}-x86_64-rhel.config Source33: %{name}-x86_64-debug-rhel.config Source34: def_variants.yaml.rhel Source41: x509.genkey.centos # ARM64 64K page-size kernel config Source42: %{name}-aarch64-64k-rhel.config Source43: %{name}-aarch64-64k-debug-rhel.config %endif %if 0%{?include_fedora} Source50: x509.genkey.fedora Source52: %{name}-aarch64-fedora.config Source53: %{name}-aarch64-debug-fedora.config Source54: %{name}-aarch64-16k-fedora.config Source55: %{name}-aarch64-16k-debug-fedora.config Source56: %{name}-ppc64le-fedora.config Source57: %{name}-ppc64le-debug-fedora.config Source58: %{name}-s390x-fedora.config Source59: %{name}-s390x-debug-fedora.config Source60: %{name}-x86_64-fedora.config Source61: %{name}-x86_64-debug-fedora.config Source700: %{name}-riscv64-fedora.config Source701: %{name}-riscv64-debug-fedora.config Source62: def_variants.yaml.fedora %endif Source70: partial-kgcov-snip.config Source71: partial-kgcov-debug-snip.config Source72: partial-clang-snip.config Source73: partial-clang-debug-snip.config Source74: partial-clang_lto-x86_64-snip.config Source75: partial-clang_lto-x86_64-debug-snip.config Source76: partial-clang_lto-aarch64-snip.config Source77: partial-clang_lto-aarch64-debug-snip.config Source80: generate_all_configs.sh Source81: process_configs.sh Source86: dracut-virt.conf Source87: flavors Source151: uki_create_addons.py Source152: uki_addons.json Source100: rheldup3.x509 Source101: rhelkpatch1.x509 Source102: nvidiagpuoot001.x509 Source103: rhelimaca1.x509 Source104: rhelima.x509 Source105: rhelima_centos.x509 Source106: fedoraimaca.x509 %if 0%{?fedora}%{?eln} %define ima_ca_cert %{SOURCE106} %endif %if 0%{?rhel} && !0%{?eln} %define ima_ca_cert %{SOURCE103} # rhel && !eln %endif %if 0%{?centos} %define ima_signing_cert %{SOURCE105} %else %define ima_signing_cert %{SOURCE104} %endif %define ima_cert_name ima.cer Source200: check-kabi Source201: Module.kabi_aarch64 Source202: Module.kabi_ppc64le Source203: Module.kabi_s390x Source204: Module.kabi_x86_64 Source205: Module.kabi_riscv64 Source210: Module.kabi_dup_aarch64 Source211: Module.kabi_dup_ppc64le Source212: Module.kabi_dup_s390x Source213: Module.kabi_dup_x86_64 Source214: Module.kabi_dup_riscv64 Source300: kernel-abi-stablelists-%{kabiversion}.tar.xz Source301: kernel-kabi-dw-%{kabiversion}.tar.xz %if 0%{include_rt} %if 0%{include_rhel} Source474: %{name}-aarch64-rt-rhel.config Source475: %{name}-aarch64-rt-debug-rhel.config Source476: %{name}-aarch64-rt-64k-rhel.config Source477: %{name}-aarch64-rt-64k-debug-rhel.config Source478: %{name}-x86_64-rt-rhel.config Source479: %{name}-x86_64-rt-debug-rhel.config %endif %if 0%{include_fedora} Source480: %{name}-aarch64-rt-fedora.config Source481: %{name}-aarch64-rt-debug-fedora.config Source482: %{name}-aarch64-rt-64k-fedora.config Source483: %{name}-aarch64-rt-64k-debug-fedora.config Source484: %{name}-x86_64-rt-fedora.config Source485: %{name}-x86_64-rt-debug-fedora.config Source486: %{name}-riscv64-rt-fedora.config Source487: %{name}-riscv64-rt-debug-fedora.config %endif %endif %if %{include_automotive} # automotive config files Source488: %{name}-aarch64-automotive-rhel.config Source489: %{name}-aarch64-automotive-debug-rhel.config Source490: %{name}-x86_64-automotive-rhel.config Source491: %{name}-x86_64-automotive-debug-rhel.config %endif # Sources for kernel-tools Source2002: kvm_stat.logrotate # Some people enjoy building customized kernels from the dist-git in Fedora and # use this to override configuration options. One day they may all use the # source tree, but in the mean time we carry this to support the legacy workflow Source3000: merge.py Source3001: kernel-local %if %{patchlist_changelog} Source3002: Patchlist.changelog %endif Source4000: README.rst Source4001: rpminspect.yaml Source4002: gating.yaml ## Patches needed for building this package %if !%{nopatches} Patch1: patch-%{patchversion}-redhat.patch %endif Patch10000: acpi-call.patch Patch10001: bbr3.patch Patch10002: bore.patch # empty final patch to facilitate testing of kernel patches Patch999999: linux-kernel-test.patch # END OF PATCH DEFINITIONS %description The kernel meta package # # This macro does requires, provides, conflicts, obsoletes for a kernel package. # %%kernel_reqprovconf [-o] # It uses any kernel__conflicts and kernel__obsoletes # macros defined above. # %define kernel_reqprovconf(o) \ %if %{-o:0}%{!-o:1}\ Provides: kernel = %{specversion}-%{pkg_release}\ %endif\ Provides: kernel-%{_target_cpu} = %{specrpmversion}-%{pkg_release}%{uname_suffix %{?1:+%{1}}}\ Provides: kernel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires(pre): %{kernel_prereq}\ Requires(pre): %{initrd_prereq}\ Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)\ Recommends: linux-firmware\ Requires(preun): systemd >= 200\ Conflicts: xfsprogs < 4.3.0-1\ Conflicts: xorg-x11-drv-vmmouse < 13.0.99\ %{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}\ %{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}\ %{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}\ # We can'\''t let RPM do the dependencies automatic because it'\''ll then pick up\ # a correct but undesirable perl dependency from the module headers which\ # isn'\''t required for the kernel proper to function\ AutoReq: no\ AutoProv: yes\ %{nil} %package doc Summary: Various documentation bits found in the kernel source Group: Documentation %description doc This package contains documentation files from the kernel source. Various bits of information about the Linux kernel and the device drivers shipped with it are documented in these files. You'\''ll want to install this package if you need a reference to the options that can be passed to Linux kernel modules at load time. %package headers Summary: Header files for the Linux kernel for use by glibc Obsoletes: glibc-kernheaders < 3.0-46 Provides: glibc-kernheaders = 3.0-46 %if 0%{?gemini} Provides: kernel-headers = %{specversion}-%{release} Obsoletes: kernel-headers < %{specversion} %endif %description headers Kernel-headers includes the C header files that specify the interface between the Linux kernel and userspace libraries and programs. The header files define structures and constants that are needed for building most standard programs and are also needed for rebuilding the glibc package. %package cross-headers Summary: Header files for the Linux kernel for use by cross-glibc %if 0%{?gemini} Provides: kernel-cross-headers = %{specversion}-%{release} Obsoletes: kernel-cross-headers < %{specversion} %endif %description cross-headers Kernel-cross-headers includes the C header files that specify the interface between the Linux kernel and userspace libraries and programs. The header files define structures and constants that are needed for building most standard programs and are also needed for rebuilding the cross-glibc package. %package debuginfo-common-%{_target_cpu} Summary: Kernel source files used by %{name}-debuginfo packages Provides: installonlypkg(kernel) %description debuginfo-common-%{_target_cpu} This package is required by %{name}-debuginfo subpackages. It provides the kernel source files common to all builds. %if %{with_perf} %package -n perf %if 0%{gemini} Epoch: %{gemini} %endif Summary: Performance monitoring for the Linux kernel Requires: bzip2 %description -n perf This package contains the perf tool, which enables performance monitoring of the Linux kernel. %package -n perf-debuginfo %if 0%{gemini} Epoch: %{gemini} %endif Summary: Debug information for package perf Requires: %{name}-debuginfo-common-%{_target_cpu} = %{specrpmversion}-%{release} AutoReqProv: no %description -n perf-debuginfo This package provides debug information for the perf package. # Note that this pattern only works right to match the .build-id # symlinks because of the trailing nonmatching alternation and # the leading .*, because of find-debuginfo.sh'\''s buggy handling # of matching the pattern against the symlinks file. %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '\''.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|.*%%{_libdir}/libperf-jvmti.so(\.debug)?|XXX'\'' -o perf-debuginfo.list} %package -n python3-perf %if 0%{gemini} Epoch: %{gemini} %endif Summary: Python bindings for apps which will manipulate perf events %description -n python3-perf The python3-perf package contains a module that permits applications written in the Python programming language to use the interface to manipulate perf events. %package -n python3-perf-debuginfo %if 0%{gemini} Epoch: %{gemini} %endif Summary: Debug information for package perf python bindings Requires: %{name}-debuginfo-common-%{_target_cpu} = %{specrpmversion}-%{release} AutoReqProv: no %description -n python3-perf-debuginfo This package provides debug information for the perf python bindings. # the python_sitearch macro should already be defined from above %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '\''.*%%{python3_sitearch}/perf.*so(\.debug)?|XXX'\'' -o python3-perf-debuginfo.list} # with_perf %endif %if %{with_libperf} %package -n libperf Summary: The perf library from kernel source %description -n libperf This package contains the kernel source perf library. %package -n libperf-devel Summary: Developement files for the perf library from kernel source Requires: libperf = %{version}-%{release} %description -n libperf-devel This package includes libraries and header files needed for development of applications which use perf library from kernel source. %package -n libperf-debuginfo Summary: Debug information for package libperf Group: Development/Debug Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release} AutoReqProv: no %description -n libperf-debuginfo This package provides debug information for the libperf package. # Note that this pattern only works right to match the .build-id # symlinks because of the trailing nonmatching alternation and # the leading .*, because of find-debuginfo.sh'\''s buggy handling # of matching the pattern against the symlinks file. %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '\''.*%%{_libdir}/libperf.so.*(\.debug)?|XXX'\'' -o libperf-debuginfo.list} # with_libperf %endif %if %{with_tools} %package -n %{package_name}-tools Summary: Assortment of tools for the Linux kernel %ifarch %{cpupowerarchs} Provides: cpupowerutils = 1:009-0.6.p1 Obsoletes: cpupowerutils < 1:009-0.6.p1 Provides: cpufreq-utils = 1:009-0.6.p1 Provides: cpufrequtils = 1:009-0.6.p1 Obsoletes: cpufreq-utils < 1:009-0.6.p1 Obsoletes: cpufrequtils < 1:009-0.6.p1 Obsoletes: cpuspeed < 1:1.5-16 Requires: %{package_name}-tools-libs = %{specrpmversion}-%{release} %endif %define __requires_exclude ^%{_bindir}/python %description -n %{package_name}-tools This package contains the tools/ directory from the kernel source and the supporting documentation. %package -n %{package_name}-tools-libs Summary: Libraries for the kernels-tools %description -n %{package_name}-tools-libs This package contains the libraries built from the tools/ directory from the kernel source. %package -n %{package_name}-tools-libs-devel Summary: Assortment of tools for the Linux kernel Requires: %{package_name}-tools = %{version}-%{release} %ifarch %{cpupowerarchs} Provides: cpupowerutils-devel = 1:009-0.6.p1 Obsoletes: cpupowerutils-devel < 1:009-0.6.p1 %endif Requires: %{package_name}-tools-libs = %{version}-%{release} Provides: %{package_name}-tools-devel %description -n %{package_name}-tools-libs-devel This package contains the development files for the tools/ directory from the kernel source. %package -n %{package_name}-tools-debuginfo Summary: Debug information for package %{package_name}-tools Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release} AutoReqProv: no %description -n %{package_name}-tools-debuginfo This package provides debug information for package %{package_name}-tools. # Note that this pattern only works right to match the .build-id # symlinks because of the trailing nonmatching alternation and # the leading .*, because of find-debuginfo.sh'\''s buggy handling # of matching the pattern against the symlinks file. %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '\''.*%%{_bindir}/bootconfig(\.debug)?|.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{_bindir}/turbostat(\.debug)?|.*%%{_bindir}/x86_energy_perf_policy(\.debug)?|.*%%{_bindir}/tmon(\.debug)?|.*%%{_bindir}/lsgpio(\.debug)?|.*%%{_bindir}/gpio-hammer(\.debug)?|.*%%{_bindir}/gpio-event-mon(\.debug)?|.*%%{_bindir}/gpio-watch(\.debug)?|.*%%{_bindir}/iio_event_monitor(\.debug)?|.*%%{_bindir}/iio_generic_buffer(\.debug)?|.*%%{_bindir}/lsiio(\.debug)?|.*%%{_bindir}/intel-speed-select(\.debug)?|.*%%{_bindir}/page_owner_sort(\.debug)?|.*%%{_bindir}/slabinfo(\.debug)?|.*%%{_sbindir}/intel_sdsi(\.debug)?|XXX'\'' -o %{package_name}-tools-debuginfo.list} %package -n rtla %if 0%{gemini} Epoch: %{gemini} %endif Summary: Real-Time Linux Analysis tools Requires: libtraceevent Requires: libtracefs Requires: libbpf %ifarch %{cpupowerarchs} Requires: %{package_name}-tools-libs = %{version}-%{release} %endif %description -n rtla The rtla meta-tool includes a set of commands that aims to analyze the real-time properties of Linux. Instead of testing Linux as a black box, rtla leverages kernel tracing capabilities to provide precise information about the properties and root causes of unexpected results. %package -n rv Summary: RV: Runtime Verification %description -n rv Runtime Verification (RV) is a lightweight (yet rigorous) method that complements classical exhaustive verification techniques (such as model checking and theorem proving) with a more practical approach for complex systems. The rv tool is the interface for a collection of monitors that aim analysing the logical and timing behavior of Linux. # with_tools %endif %if %{with_selftests} %package selftests-internal Summary: Kernel samples and selftests Requires: binutils, bpftool, fuse-libs, iproute-tc, iputils, keyutils, nmap-ncat, python3 %description selftests-internal Kernel sample programs and selftests. # Note that this pattern only works right to match the .build-id # symlinks because of the trailing nonmatching alternation and # the leading .*, because of find-debuginfo.sh'\''s buggy handling # of matching the pattern against the symlinks file. %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '\''.*%%{_libexecdir}/(ksamples|kselftests)/.*|XXX'\'' -o selftests-debuginfo.list} %define __requires_exclude ^liburandom_read.so.*$ # with_selftests %endif %define kernel_gcov_package() \ %package %{?1:%{1}-}gcov\ Summary: gcov graph and source files for coverage data collection.\ %description %{?1:%{1}-}gcov\ %{?1:%{1}-}gcov includes the gcov graph and source files for gcov coverage collection.\ %{nil} %package -n %{package_name}-abi-stablelists Summary: The Red Hat Enterprise Linux kernel ABI symbol stablelists AutoReqProv: no %description -n %{package_name}-abi-stablelists The kABI package contains information pertaining to the Red Hat Enterprise Linux kernel ABI, including lists of kernel symbols that are needed by external Linux kernel modules, and a yum plugin to aid enforcement. %if %{with_kabidw_base} %package kernel-kabidw-base-internal Summary: The baseline dataset for kABI verification using DWARF data Group: System Environment/Kernel AutoReqProv: no %description kernel-kabidw-base-internal The package contains data describing the current ABI of the Red Hat Enterprise Linux kernel, suitable for the kabi-dw tool. %endif # # This macro creates a kernel--debuginfo package. # %%kernel_debuginfo_package # # Explanation of the find_debuginfo_opts: We build multiple kernels (debug, # rt, 64k etc.) so the regex filters those kernels appropriately. We also # have to package several binaries as part of kernel-devel but getting # unique build-ids is tricky for these userspace binaries. We don'\''t really # care about debugging those so we just filter those out and remove it. %define kernel_debuginfo_package() \ %package %{?1:%{1}-}debuginfo\ Summary: Debug information for package %{name}%{?1:-%{1}}\ Requires: %{name}-debuginfo-common-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: installonlypkg(kernel)\ AutoReqProv: no\ %description %{?1:%{1}-}debuginfo\ This package provides debug information for package %{name}%{?1:-%{1}}.\ This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\ %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} --keep-section '\''.BTF'\'' -p '\''.*\/usr\/src\/kernels/.*|XXX'\'' -o ignored-debuginfo.list -p '\''/.*/%%{KVERREL_RE}%{?1:[+]%{1}}/.*|/.*%%{KVERREL_RE}%{?1:\+%{1}}(\.debug)?'\'' -o debuginfo%{?1}.list}\ %{nil} # # This macro creates a kernel--devel package. # %%kernel_devel_package [-m] # %define kernel_devel_package(m) \ %package %{?1:%{1}-}devel\ Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\ Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: kernel-devel-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: kernel-devel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Provides: installonlypkg(kernel)\ AutoReqProv: no\ Requires(pre): findutils\ Requires: findutils\ Requires: perl-interpreter\ Requires: openssl-devel\ Requires: elfutils-libelf-devel\ Requires: bison\ Requires: flex\ Requires: make\ Requires: gcc\ %if %{-m:1}%{!-m:0}\ Requires: kernel-devel-uname-r = %{KVERREL}%{uname_variant %{?1:%{1}}}\ %endif\ %description %{?1:%{1}-}devel\ This package provides kernel headers and makefiles sufficient to build modules\ against the %{?2:%{2} }kernel package.\ %{nil} # # This macro creates an empty kernel--devel-matched package that # requires both the core and devel packages locked on the same version. # %%kernel_devel_matched_package [-m] # %define kernel_devel_matched_package(m) \ %package %{?1:%{1}-}devel-matched\ Summary: Meta package to install matching core and devel packages for a given %{?2:%{2} }kernel\ Requires: %{package_name}%{?1:-%{1}}-devel = %{specrpmversion}-%{release}\ Requires: %{package_name}%{?1:-%{1}}-core = %{specrpmversion}-%{release}\ %description %{?1:%{1}-}devel-matched\ This meta package is used to install matching core and devel packages for a given %{?2:%{2} }kernel.\ %{nil} %define kernel_modules_extra_matched_package(m) \ %package modules-extra-matched\ Summary: Meta package which requires modules-extra to be installed for all kernels.\ %description modules-extra-matched\ This meta package provides a single reference that other packages can Require to have modules-extra installed for all kernels.\ %{nil} # # This macro creates a kernel--modules-internal package. # %%kernel_modules_internal_package # %define kernel_modules_internal_package() \ %package %{?1:%{1}-}modules-internal\ Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ Group: System Environment/Kernel\ Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: kernel%{?1:-%{1}}-modules-internal = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: installonlypkg(kernel-module)\ Provides: kernel%{?1:-%{1}}-modules-internal-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ AutoReq: no\ AutoProv: yes\ %description %{?1:%{1}-}modules-internal\ This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat internal usage.\ %{nil} # # This macro creates a kernel--modules-extra package. # %%kernel_modules_extra_package [-m] # %define kernel_modules_extra_package(m) \ %package %{?1:%{1}-}modules-extra\ Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: kernel%{?1:-%{1}}-modules-extra = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: installonlypkg(kernel-module)\ Provides: kernel%{?1:-%{1}}-modules-extra-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ %if %{-m:1}%{!-m:0}\ Requires: kernel-modules-extra-uname-r = %{KVERREL}%{uname_variant %{?1:+%{1}}}\ %endif\ AutoReq: no\ AutoProv: yes\ %description %{?1:%{1}-}modules-extra\ This package provides less commonly used kernel modules for the %{?2:%{2} }kernel package.\ %{nil} # # This macro creates a kernel--modules package. # %%kernel_modules_package [-m] # %define kernel_modules_package(m) \ %package %{?1:%{1}-}modules\ Summary: kernel modules to match the %{?2:%{2}-}core kernel\ Provides: kernel%{?1:-%{1}}-modules-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: kernel-modules-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: kernel-modules = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: installonlypkg(kernel-module)\ Provides: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ %if %{-m:1}%{!-m:0}\ Requires: kernel-modules-uname-r = %{KVERREL}%{uname_variant %{?1:+%{1}}}\ %endif\ AutoReq: no\ AutoProv: yes\ %description %{?1:%{1}-}modules\ This package provides commonly used kernel modules for the %{?2:%{2}-}core kernel package.\ %{nil} # # This macro creates a kernel--modules-core package. # %%kernel_modules_core_package [-m] # %define kernel_modules_core_package(m) \ %package %{?1:%{1}-}modules-core\ Summary: Core kernel modules to match the %{?2:%{2}-}core kernel\ Provides: kernel%{?1:-%{1}}-modules-core-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: kernel-modules-core-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: kernel-modules-core = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: installonlypkg(kernel-module)\ Provides: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ %if %{-m:1}%{!-m:0}\ Requires: kernel-modules-core-uname-r = %{KVERREL}%{uname_variant %{?1:+%{1}}}\ %endif\ AutoReq: no\ AutoProv: yes\ %description %{?1:%{1}-}modules-core\ This package provides essential kernel modules for the %{?2:%{2}-}core kernel package.\ %{nil} # # this macro creates a kernel- meta package. # %%kernel_meta_package # %define kernel_meta_package() \ %package %{1}\ summary: kernel meta-package for the %{1} kernel\ Requires: kernel-%{1}-core-uname-r = %{KVERREL}%{uname_suffix %{1}}\ Requires: kernel-%{1}-modules-uname-r = %{KVERREL}%{uname_suffix %{1}}\ Requires: kernel-%{1}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{1}}\ Requires: ((kernel-%{1}-modules-extra-uname-r = %{KVERREL}%{uname_suffix %{1}}) if kernel-modules-extra-matched)\ %if "%{1}" == "rt" || "%{1}" == "rt-debug" || "%{1}" == "rt-64k" || "%{1}" == "rt-64k-debug"\ Requires: realtime-setup\ %endif\ Provides: installonlypkg(kernel)\ %description %{1}\ The meta-package for the %{1} kernel\ %{nil} # # This macro creates a kernel- and its -devel and -debuginfo too. # %%define variant_summary The Linux kernel compiled for # %%kernel_variant_package [-n ] [-m] [-o] # %define kernel_variant_package(n:mo) \ %package %{?1:%{1}-}core\ Summary: %{variant_summary}\ Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Provides: installonlypkg(kernel)\ %if %{-m:1}%{!-m:0}\ Requires: kernel-core-uname-r = %{KVERREL}%{uname_variant %{?1:+%{1}}}\ Requires: kernel-%{?1:%{1}-}-modules-core-uname-r = %{KVERREL}%{uname_variant %{?1:+%{1}}}\ %endif\ %{expand:%%kernel_reqprovconf %{?1:%{1}} %{-o:%{-o}}}\ %if %{?1:1} %{!?1:0} \ %{expand:%%kernel_meta_package %{?1:%{1}}}\ %endif\ %{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %{expand:%%kernel_devel_matched_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %{expand:%%kernel_modules_core_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %if %{-m:0}%{!-m:1}\ %{expand:%%kernel_modules_internal_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %if 0%{!?fedora:1}\ %{expand:%%kernel_modules_partner_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %endif\ %{expand:%%kernel_debuginfo_package %{?1:%{1}}}\ %endif\ %if %{with_efiuki} && ("%{1}" != "rt" && "%{1}" != "rt-debug" && "%{1}" != "rt-64k" && "%{1}" != "rt-64k-debug")\ %package %{?1:%{1}-}uki-virt\ Summary: %{variant_summary} unified kernel image for virtual machines\ Provides: installonlypkg(kernel)\ Provides: kernel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires(pre): %{kernel_prereq}\ Requires(pre): systemd >= 254-1\ Recommends: uki-direct\ %package %{?1:%{1}-}uki-virt-addons\ Summary: %{variant_summary} unified kernel image addons for virtual machines\ Provides: installonlypkg(kernel)\ Requires: kernel%{?1:-%{1}}-uki-virt = %{specrpmversion}-%{release}\ Requires(pre): systemd >= 254-1\ %endif\ %if %{with_gcov}\ %{expand:%%kernel_gcov_package %{?1:%{1}}}\ %endif\ %{nil} # # This macro creates a kernel--modules-partner package. # %%kernel_modules_partner_package # %define kernel_modules_partner_package() \ %package %{?1:%{1}-}modules-partner\ Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ Group: System Environment/Kernel\ Provides: kernel%{?1:-%{1}}-modules-partner-%{_target_cpu} = %{specrpmversion}-%{release}\ Provides: kernel%{?1:-%{1}}-modules-partner-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: kernel%{?1:-%{1}}-modules-partner = %{specrpmversion}-%{release}%{uname_suffix %{?1:+%{1}}}\ Provides: installonlypkg(kernel-module)\ Provides: kernel%{?1:-%{1}}-modules-partner-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ Requires: kernel%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1:+%{1}}}\ AutoReq: no\ AutoProv: yes\ %description %{?1:%{1}-}modules-partner\ This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat partners usage.\ %{nil} # Now, each variant package. %if %{with_zfcpdump} %define variant_summary The Linux kernel compiled for zfcpdump usage %kernel_variant_package -o zfcpdump %description zfcpdump-core The kernel package contains the Linux kernel (vmlinuz) for use by the zfcpdump infrastructure. # with_zfcpdump %endif %if %{with_arm64_16k_base} %define variant_summary The Linux kernel compiled for 16k pagesize usage %kernel_variant_package 16k %description 16k-core The kernel package contains a variant of the ARM64 Linux kernel using a 16K page size. %endif %if %{with_arm64_16k} && %{with_debug} %define variant_summary The Linux kernel compiled with extra debugging enabled %if !%{debugbuildsenabled} %kernel_variant_package -m 16k-debug %else %kernel_variant_package 16k-debug %endif %description 16k-debug-core The debug kernel package contains a variant of the ARM64 Linux kernel using a 16K page size. This variant of the kernel has numerous debugging options enabled. It should only be installed when trying to gather additional information on kernel bugs, as some of these options impact performance noticably. %endif %if %{with_arm64_64k_base} %define variant_summary The Linux kernel compiled for 64k pagesize usage %kernel_variant_package 64k %description 64k-core The kernel package contains a variant of the ARM64 Linux kernel using a 64K page size. %endif %if %{with_arm64_64k} && %{with_debug} %define variant_summary The Linux kernel compiled with extra debugging enabled %if !%{debugbuildsenabled} %kernel_variant_package -m 64k-debug %else %kernel_variant_package 64k-debug %endif %description 64k-debug-core The debug kernel package contains a variant of the ARM64 Linux kernel using a 64K page size. This variant of the kernel has numerous debugging options enabled. It should only be installed when trying to gather additional information on kernel bugs, as some of these options impact performance noticably. %endif %if %{with_debug} && %{with_realtime} %define variant_summary The Linux PREEMPT_RT kernel compiled with extra debugging enabled %kernel_variant_package rt-debug %description rt-debug-core The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. This variant of the kernel has numerous debugging options enabled. It should only be installed when trying to gather additional information on kernel bugs, as some of these options impact performance noticably. %endif %if %{with_realtime_base} %define variant_summary The Linux kernel compiled with PREEMPT_RT enabled %kernel_variant_package rt %description rt-core This package includes a version of the Linux kernel compiled with the PREEMPT_RT real-time preemption support %endif %if %{with_realtime_arm64_64k_base} %define variant_summary The Linux PREEMPT_RT kernel compiled for 64k pagesize usage %kernel_variant_package rt-64k %description rt-64k-core The kernel package contains a variant of the ARM64 Linux PREEMPT_RT kernel using a 64K page size. %endif %if %{with_realtime_arm64_64k} && %{with_debug} %define variant_summary The Linux PREEMPT_RT kernel compiled with extra debugging enabled %if !%{debugbuildsenabled} %kernel_variant_package -m rt-64k-debug %else %kernel_variant_package rt-64k-debug %endif %description rt-64k-debug-core The debug kernel package contains a variant of the ARM64 Linux PREEMPT_RT kernel using a 64K page size. This variant of the kernel has numerous debugging options enabled. It should only be installed when trying to gather additional information on kernel bugs, as some of these options impact performance noticably. %endif %if %{with_debug} && %{with_automotive} %define variant_summary The Linux Automotive kernel compiled with extra debugging enabled %kernel_variant_package automotive-debug %description automotive-debug-core The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. This variant of the kernel has numerous debugging options enabled. It should only be installed when trying to gather additional information on kernel bugs, as some of these options impact performance noticably. %endif %if %{with_automotive_base} %define variant_summary The Linux kernel compiled with PREEMPT_RT enabled %kernel_variant_package automotive %description automotive-core This package includes a version of the Linux kernel compiled with the PREEMPT_RT real-time preemption support, targeted for Automotive platforms %endif %if %{with_up} && %{with_debug} %if !%{debugbuildsenabled} %kernel_variant_package -m debug %else %kernel_variant_package debug %endif %description debug-core The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. This variant of the kernel has numerous debugging options enabled. It should only be installed when trying to gather additional information on kernel bugs, as some of these options impact performance noticably. %endif %if %{with_up_base} # And finally the main -core package %define variant_summary The Linux kernel %kernel_variant_package %description core The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. %endif %if %{with_up} && %{with_debug} && %{with_efiuki} %description debug-uki-virt Prebuilt debug unified kernel image for virtual machines. %description debug-uki-virt-addons Prebuilt debug unified kernel image addons for virtual machines. %endif %if %{with_up_base} && %{with_efiuki} %description uki-virt Prebuilt default unified kernel image for virtual machines. %description uki-virt-addons Prebuilt default unified kernel image addons for virtual machines. %endif %if %{with_arm64_16k} && %{with_debug} && %{with_efiuki} %description 16k-debug-uki-virt Prebuilt 16k debug unified kernel image for virtual machines. %description 16k-debug-uki-virt-addons Prebuilt 16k debug unified kernel image addons for virtual machines. %endif %if %{with_arm64_16k_base} && %{with_efiuki} %description 16k-uki-virt Prebuilt 16k unified kernel image for virtual machines. %description 16k-uki-virt-addons Prebuilt 16k unified kernel image addons for virtual machines. %endif %if %{with_arm64_64k} && %{with_debug} && %{with_efiuki} %description 64k-debug-uki-virt Prebuilt 64k debug unified kernel image for virtual machines. %description 64k-debug-uki-virt-addons Prebuilt 64k debug unified kernel image addons for virtual machines. %endif %if %{with_arm64_64k_base} && %{with_efiuki} %description 64k-uki-virt Prebuilt 64k unified kernel image for virtual machines. %description 64k-uki-virt-addons Prebuilt 64k unified kernel image addons for virtual machines. %endif %kernel_modules_extra_matched_package %define log_msg() \ { set +x; } 2>/dev/null \ _log_msglineno=$(grep -n %{*} %{_specdir}/${RPM_PACKAGE_NAME}.spec | grep log_msg | cut -d":" -f1) \ echo "kernel.spec:${_log_msglineno}: %{*}" \ set -x %prep %{log_msg "Start of prep stage"} %{log_msg "Sanity checks"} # do a few sanity-checks for --with *only builds %if %{with_baseonly} %if !%{with_up} %{log_msg "Cannot build --with baseonly, up build is disabled"} exit 1 %endif %endif # more sanity checking; do it quietly if [ "%{patches}" != "%%{patches}" ] ; then for patch in %{patches} ; do if [ ! -f $patch ] ; then %{log_msg "ERROR: Patch ${patch##/*/} listed in specfile but is missing"} exit 1 fi done fi 2>/dev/null patch_command='\''git --work-tree=. apply'\'' ApplyPatch() { local patch=$1 shift if [ ! -f $RPM_SOURCE_DIR/$patch ]; then exit 1 fi if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME}.spec ; then if [ "${patch:0:8}" != "patch-%{kversion}." ] ; then %{log_msg "ERROR: Patch $patch not listed as a source patch in specfile"} exit 1 fi fi 2>/dev/null case "$patch" in *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; *.xz) unxz < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;; esac } # don'\''t apply patch if it'\''s empty ApplyOptionalPatch() { local patch=$1 shift %{log_msg "ApplyOptionalPatch: $1"} if [ ! -f $RPM_SOURCE_DIR/$patch ]; then exit 1 fi local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '\''{print $1}'\'') if [ "$C" -gt 9 ]; then ApplyPatch $patch ${1+"$@"} fi } %{log_msg "Untar kernel tarball"} %setup -q -n kernel-%{tarfile_release} -c mv linux-%{tarfile_release} linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . %{log_msg "Start of patch applications"} %if !%{nopatches} ApplyOptionalPatch patch-%{patchversion}-redhat.patch %endif ApplyOptionalPatch acpi-call.patch ApplyOptionalPatch bbr3.patch ApplyOptionalPatch bore.patch ApplyOptionalPatch linux-kernel-test.patch %{log_msg "End of patch applications"} # END OF PATCH APPLICATIONS # Any further pre-build tree manipulations happen here. %{log_msg "Pre-build tree manipulations"} chmod +x scripts/checkpatch.pl mv COPYING COPYING-%{specrpmversion}-%{release} # on linux-next prevent scripts/setlocalversion from mucking with our version numbers rm -f localversion-next localversion-rt # Mangle /usr/bin/python shebangs to /usr/bin/python3 # Mangle all Python shebangs to be Python 3 explicitly # -p preserves timestamps # -n prevents creating ~backup files # -i specifies the interpreter for the shebang # This fixes errors such as # *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly. # We patch all sources below for which we got a report/error. %{log_msg "Fixing Python shebangs..."} %py3_shebang_fix \ tools/kvm/kvm_stat/kvm_stat \ scripts/show_delta \ scripts/diffconfig \ scripts/bloat-o-meter \ scripts/jobserver-exec \ tools \ Documentation \ scripts/clang-tools 2> /dev/null # only deal with configs if we are going to build for the arch %ifnarch %nobuildarches if [ -L configs ]; then rm -f configs fi mkdir configs cd configs %{log_msg "Copy additional source files into buildroot"} # Drop some necessary files from the source dir into the buildroot cp $RPM_SOURCE_DIR/%{name}-*.config . cp %{SOURCE80} . # merge.py cp %{SOURCE3000} . # kernel-local - rename and copy for partial snippet config process cp %{SOURCE3001} partial-kernel-local-snip.config cp %{SOURCE3001} partial-kernel-local-debug-snip.config FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} SPECVERSION=%{specversion} SPECRPMVERSION=%{specrpmversion} ./generate_all_configs.sh %{debugbuildsenabled} # Collect custom defined config options %{log_msg "Collect custom defined config options"} PARTIAL_CONFIGS="" %if %{with_gcov} PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE70} %{SOURCE71}" %endif %if %{with toolchain_clang} PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE72} %{SOURCE73}" %endif %if %{with clang_lto} PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE74} %{SOURCE75} %{SOURCE76} %{SOURCE77}" %endif PARTIAL_CONFIGS="$PARTIAL_CONFIGS partial-kernel-local-snip.config partial-kernel-local-debug-snip.config" GetArch() { case "$1" in *aarch64*) echo "aarch64" ;; *ppc64le*) echo "ppc64le" ;; *s390x*) echo "s390x" ;; *x86_64*) echo "x86_64" ;; *riscv64*) echo "riscv64" ;; # no arch, apply everywhere *) echo "" ;; esac } # Merge in any user-provided local config option changes %{log_msg "Merge in any user-provided local config option changes"} %ifnarch %nobuildarches for i in %{all_configs} do kern_arch="$(GetArch $i)" kern_debug="$(echo $i | grep -q debug && echo "debug" || echo "")" for j in $PARTIAL_CONFIGS do part_arch="$(GetArch $j)" part_debug="$(echo $j | grep -q debug && echo "debug" || echo "")" # empty arch means apply to all arches if [ "$part_arch" == "" -o "$part_arch" == "$kern_arch" ] && [ "$part_debug" == "$kern_debug" ] then mv $i $i.tmp ./merge.py $j $i.tmp > $i fi done rm -f $i.tmp done %endif %if %{signkernel}%{signmodules} # Add DUP and kpatch certificates to system trusted keys for RHEL %if 0%{?rhel} %{log_msg "Add DUP and kpatch certificates to system trusted keys for RHEL"} openssl x509 -inform der -in %{SOURCE100} -out rheldup3.pem openssl x509 -inform der -in %{SOURCE101} -out rhelkpatch1.pem openssl x509 -inform der -in %{SOURCE102} -out nvidiagpuoot001.pem cat rheldup3.pem rhelkpatch1.pem nvidiagpuoot001.pem > ../certs/rhel.pem %if %{signkernel} %ifarch s390x ppc64le openssl x509 -inform der -in %{secureboot_ca_0} -out secureboot.pem cat secureboot.pem >> ../certs/rhel.pem %endif %endif # rhel %endif openssl x509 -inform der -in %{ima_ca_cert} -out imaca.pem cat imaca.pem >> ../certs/rhel.pem for i in *.config; do sed -i '\''s@CONFIG_SYSTEM_TRUSTED_KEYS=""@CONFIG_SYSTEM_TRUSTED_KEYS="certs/rhel.pem"@'\'' $i done %endif %{log_msg "Set process_configs.sh $OPTS"} cp %{SOURCE81} . OPTS="" %if %{with_configchecks} OPTS="$OPTS -w -n -c" %endif %if %{with clang_lto} for opt in %{clang_make_opts}; do OPTS="$OPTS -m $opt" done %endif %{log_msg "Generate redhat configs"} RHJOBS=$RPM_BUILD_NCPUS SPECPACKAGE_NAME=%{name} ./process_configs.sh $OPTS %{specrpmversion} # We may want to override files from the primary target in case of building # against a flavour of it (eg. centos not rhel), thus override it here if # necessary update_scripts() { TARGET="$1" for i in "$RPM_SOURCE_DIR"/*."$TARGET"; do NEW=${i%."$TARGET"} cp "$i" "$(basename "$NEW")" done } %{log_msg "Set scripts/SOURCES targets"} update_target=%{primary_target} if [ "%{primary_target}" == "rhel" ]; then : # no-op to avoid empty if-fi error %if 0%{?centos} update_scripts $update_target %{log_msg "Updating scripts/sources to centos version"} update_target=centos %endif fi update_scripts $update_target %endif %{log_msg "End of kernel config"} cd .. # # End of Configs stuff # get rid of unwanted files resulting from patch fuzz find . \( -name "*.orig" -o -name "*~" \) -delete >/dev/null # remove unnecessary SCM files find . -name .gitignore -delete >/dev/null cd .. ### ### build ### %build %{log_msg "Start of build stage"} %{log_msg "General arch build configuration"} rm -rf %{buildroot_unstripped} || true mkdir -p %{buildroot_unstripped} %if %{with_sparse} %define sparse_mflags C=1 %endif cp_vmlinux() { eu-strip --remove-comment -o "$2" "$1" } # Note we need to disable these flags for cross builds because the flags # from redhat-rpm-config assume that host == target so target arch # flags cause issues with the host compiler. %if !%{with_cross} %define build_hostcflags %{?build_cflags} -march=skylake %define build_hostldflags %{?build_ldflags} %endif %define make %{__make} %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" InitBuildVars() { %{log_msg "InitBuildVars for $1"} %{log_msg "InitBuildVars: Initialize build variables"} # Initialize the kernel .config file and create some variables that are # needed for the actual build process. Variant=$1 # Pick the right kernel config file Config=%{name}-%{specrpmversion}-%{_target_cpu}${Variant:+-${Variant}}.config DevelDir=/usr/src/kernels/%{KVERREL}${Variant:++${Variant}} KernelVer=%{specversion}-%{release}.%{_target_cpu}${Variant:++${Variant}} %{log_msg "InitBuildVars: Update Makefile"} # make sure EXTRAVERSION says what we want it to say # Trim the release if this is a CI build, since KERNELVERSION is limited to 64 characters ShortRel=$(perl -e "print \"%{release}\" =~ s/\.pr\.[0-9A-Fa-f]{32}//r") perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${ShortRel}.%{_target_cpu}${Variant:++${Variant}}/" Makefile # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme # if we are post rc1 this should match anyway so this won'\''t matter perl -p -i -e '\''s/^PATCHLEVEL.*/PATCHLEVEL = %{patchlevel}/'\'' Makefile %{log_msg "InitBuildVars: Copy files"} %{make} %{?_smp_mflags} mrproper cp configs/$Config .config %if %{signkernel}%{signmodules} cp configs/x509.genkey certs/. %endif %if %{with_debuginfo} == 0 sed -i '\''s/^\(CONFIG_DEBUG_INFO.*\)=y/# \1 is not set/'\'' .config %endif Arch=`head -1 .config | cut -b 3-` %{log_msg "InitBuildVars: USING ARCH=$Arch"} KCFLAGS="%{?kcflags}" } #Build bootstrap bpftool BuildBpftool(){ export BPFBOOTSTRAP_CFLAGS=$(echo "%{__global_compiler_flags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//") export BPFBOOTSTRAP_LDFLAGS=$(echo "%{__global_ldflags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//") CFLAGS="" LDFLAGS="" make EXTRA_CFLAGS="${BPFBOOTSTRAP_CFLAGS}" EXTRA_CXXFLAGS="${BPFBOOTSTRAP_CFLAGS}" EXTRA_LDFLAGS="${BPFBOOTSTRAP_LDFLAGS}" %{?make_opts} %{?clang_make_opts} V=1 -C tools/bpf/bpftool bootstrap } BuildKernel() { %{log_msg "BuildKernel for $4"} MakeTarget=$1 KernelImage=$2 DoVDSO=$3 Variant=$4 InstallName=${5:-vmlinuz} %{log_msg "Setup variables"} DoModules=1 if [ "$Variant" = "zfcpdump" ]; then DoModules=0 fi # When the bootable image is just the ELF kernel, strip it. # We already copy the unstripped file into the debuginfo package. if [ "$KernelImage" = vmlinux ]; then CopyKernel=cp_vmlinux else CopyKernel=cp fi %if %{with_gcov} %{log_msg "Setup build directories"} # Make build directory unique for each variant, so that gcno symlinks # are also unique for each variant. if [ -n "$Variant" ]; then ln -s $(pwd) ../linux-%{KVERREL}-${Variant} fi %{log_msg "GCOV - continuing build in: $(pwd)"} pushd ../linux-%{KVERREL}${Variant:+-${Variant}} pwd > ../kernel${Variant:+-${Variant}}-gcov.list %endif %{log_msg "Calling InitBuildVars for $Variant"} InitBuildVars $Variant %{log_msg "BUILDING A KERNEL FOR ${Variant} %{_target_cpu}..."} %{make} ARCH=$Arch olddefconfig >/dev/null %{log_msg "Setup build-ids"} # This ensures build-ids are unique to allow parallel debuginfo perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags} if [ $DoModules -eq 1 ]; then %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} modules %{?sparse_mflags} || exit 1 fi %{log_msg "Setup RPM_BUILD_ROOT directories"} mkdir -p $RPM_BUILD_ROOT/%{image_install_path} mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/systemtap %if %{with_debuginfo} mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path} %endif %ifarch aarch64 riscv64 %{log_msg "Build dtb kernel"} %{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer %{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb find arch/$Arch/boot/dts -name '\''*.dtb'\'' -type f -delete %endif %{log_msg "Cleanup temp btf files"} # Remove large intermediate files we no longer need to save space # (-f required for zfcpdump builds that do not enable BTF) rm -f vmlinux.o .tmp_vmlinux.btf %{log_msg "Install files to RPM_BUILD_ROOT"} # Comment out specific config settings that may use resources not available # to the end user so that the packaged config file can be easily reused with # upstream make targets %if %{signkernel}%{signmodules} sed -i -e '\''/^CONFIG_SYSTEM_TRUSTED_KEYS/{ i\# The kernel was built with s/^/# / a\# We are resetting this value to facilitate local builds a\CONFIG_SYSTEM_TRUSTED_KEYS="" }'\'' .config %endif # Start installing the results install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer install -m 644 .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/config install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer install -m 644 System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/System.map %{log_msg "Reserving 40MB in boot for initramfs"} # We estimate the size of the initramfs because rpm needs to take this size # into consideration when performing disk space calculations. (See bz #530778) dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=40 if [ -f arch/$Arch/boot/zImage.stub ]; then %{log_msg "Copy zImage.stub to RPM_BUILD_ROOT"} cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || : cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || : fi %if %{signkernel} %{log_msg "Copy kernel for signing"} if [ "$KernelImage" = vmlinux ]; then # We can'\''t strip and sign $KernelImage in place, because # we need to preserve original vmlinux for debuginfo. # Use a copy for signing. $CopyKernel $KernelImage $KernelImage.tosign KernelImage=$KernelImage.tosign CopyKernel=cp fi SignImage=$KernelImage %ifarch x86_64 aarch64 %{log_msg "Sign kernel image"} %pesign -s -i $SignImage -o vmlinuz.signed -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0} %endif %ifarch s390x ppc64le if [ -x /usr/bin/rpm-sign ]; then rpm-sign --key "%{pesign_name_0}" --lkmsign $SignImage --output vmlinuz.signed elif [ "$DoModules" == "1" -a "%{signmodules}" == "1" ]; then chmod +x scripts/sign-file ./scripts/sign-file -p sha256 certs/signing_key.pem certs/signing_key.x509 $SignImage vmlinuz.signed else mv $SignImage vmlinuz.signed fi %endif if [ ! -s vmlinuz.signed ]; then %{log_msg "pesigning failed"} exit 1 fi mv vmlinuz.signed $SignImage # signkernel %endif %{log_msg "copy signed kernel"} $CopyKernel $KernelImage \ $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer cp $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/$InstallName # hmac sign the kernel for FIPS %{log_msg "hmac sign the kernel for FIPS"} %{log_msg "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"} ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer (cd $RPM_BUILD_ROOT/%{image_install_path} && sha512hmac $InstallName-$KernelVer) > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac; cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac if [ $DoModules -eq 1 ]; then %{log_msg "Install modules in RPM_BUILD_ROOT"} # Override $(mod-fw) because we don'\''t want it to install any firmware # we'\''ll get it from the linux-firmware package and we don'\''t want conflicts %{make} %{?_smp_mflags} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT %{?_smp_mflags} modules_install KERNELRELEASE=$KernelVer mod-fw= fi %if %{with_gcov} %{log_msg "install gcov-needed files to $BUILDROOT/$BUILD/"} # install gcov-needed files to $BUILDROOT/$BUILD/...: # gcov_info->filename is absolute path # gcno references to sources can use absolute paths (e.g. in out-of-tree builds) # sysfs symlink targets (set up at compile time) use absolute paths to BUILD dir find . \( -name '\''*.gcno'\'' -o -name '\''*.[chS]'\'' \) -exec install -D '\''{}'\'' "$RPM_BUILD_ROOT/$(pwd)/{}" \; %endif %{log_msg "Add VDSO files"} # add an a noop %%defattr statement '\''cause rpm doesn'\''t like empty file list files echo '\''%%defattr(-,-,-)'\'' > ../kernel${Variant:+-${Variant}}-ldsoconf.list if [ $DoVDSO -ne 0 ]; then %{make} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer if [ -s ldconfig-kernel.conf ]; then install -D -m 444 ldconfig-kernel.conf \ $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Variant:+-${Variant}}-ldsoconf.list fi rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id fi %{log_msg "Save headers/makefiles, etc. for kernel-headers"} # And save the headers/makefiles etc for building modules against # # This all looks scary, but the end result is supposed to be: # * all arch relevant include/ files # * all Makefile/Kconfig files # * all script/ files rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source) # dirs for additional modules per module-init-tools, kbuild/modules.txt mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-updates # CONFIG_KERNEL_HEADER_TEST generates some extra files in the process of # testing so just delete find . -name *.h.s -delete # first copy everything cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build if [ ! -e Module.symvers ]; then touch Module.symvers fi cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build if [ -s Module.markers ]; then cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build fi # create the kABI metadata for use in packaging # NOTENOTE: the name symvers is used by the rpm backend # NOTENOTE: to discover and run the /usr/lib/rpm/fileattrs/kabi.attr # NOTENOTE: script which dynamically adds exported kernel symbol # NOTENOTE: checksums to the rpm metadata provides list. # NOTENOTE: if you change the symvers name, update the backend too %{log_msg "GENERATING kernel ABI metadata"} %compression --stdout %compression_flags < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.%compext %if %{with_kabichk} %{log_msg "kABI checking is enabled in kernel SPEC file."} chmod 0755 $RPM_SOURCE_DIR/check-kabi if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant ]; then cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1 # for now, don'\''t keep it around. rm $RPM_BUILD_ROOT/Module.kabi else %{log_msg "NOTE: Cannot find reference Module.kabi file."} fi %endif %if %{with_kabidupchk} %{log_msg "kABI DUP checking is enabled in kernel SPEC file."} if [ -e $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant ]; then cp $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1 # for now, don'\''t keep it around. rm $RPM_BUILD_ROOT/Module.kabi else %{log_msg "NOTE: Cannot find DUP reference Module.kabi file."} fi %endif %if %{with_kabidw_base} # Don'\''t build kabi base for debug kernels if [ "$Variant" != "zfcpdump" -a "$Variant" != "debug" ]; then mkdir -p $RPM_BUILD_ROOT/kabi-dwarf tar -xvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists tar -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists %{log_msg "GENERATING DWARF-based kABI baseline dataset"} chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ "$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \ "$(pwd)" \ "$RPM_BUILD_ROOT/kabidw-base/%{_target_cpu}${Variant:+.${Variant}}" || : rm -rf $RPM_BUILD_ROOT/kabi-dwarf fi %endif %if %{with_kabidwchk} if [ "$Variant" != "zfcpdump" ]; then mkdir -p $RPM_BUILD_ROOT/kabi-dwarf tar -xvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf if [ -d "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}" ]; then mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists tar -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists %{log_msg "GENERATING DWARF-based kABI dataset"} chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ "$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \ "$(pwd)" \ "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || : %{log_msg "kABI DWARF-based comparison report"} $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh compare \ "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}" \ "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || : %{log_msg "End of kABI DWARF-based comparison report"} else %{log_msg "Baseline dataset for kABI DWARF-BASED comparison report not found"} fi rm -rf $RPM_BUILD_ROOT/kabi-dwarf fi %endif %{log_msg "Cleanup Makefiles/Kconfig files"} # then drop all but the needed Makefiles/Kconfig files rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/tracing rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/spdxcheck.py %ifarch s390x # CONFIG_EXPOLINE_EXTERN=y produces arch/s390/lib/expoline/expoline.o # which is needed during external module build. %{log_msg "Copy expoline.o"} if [ -f arch/s390/lib/expoline/expoline.o ]; then cp -a --parents arch/s390/lib/expoline/expoline.o $RPM_BUILD_ROOT/lib/modules/$KernelVer/build fi %endif %{log_msg "Copy additional files for make targets"} # Files for '\''make scripts'\'' to succeed with kernel-devel. mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/security/selinux/include cp -a --parents security/selinux/include/classmap.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents security/selinux/include/initial_sid_to_string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/include/tools cp -a --parents tools/include/tools/be_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/tools/le_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build # Files for '\''make prepare'\'' to succeed with kernel-devel. cp -a --parents tools/include/linux/compiler* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/linux/types.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/build/Build.include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/build/fixdep.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/objtool/sync-check.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/bpf/resolve_btfids $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents security/selinux/include/policycap_names.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents security/selinux/include/policycap.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/linux $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/uapi/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/uapi/asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/uapi/linux $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/include/vdso $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/scripts/utilities.mak $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/lib/subcmd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/lib/*.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/objtool/*.[ch] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/objtool/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/objtool/include/objtool/*.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/lib/bpf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp --parents tools/lib/bpf/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build if [ -f tools/objtool/objtool ]; then cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || : fi if [ -f tools/objtool/fixdep ]; then cp -a tools/objtool/fixdep $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || : fi if [ -d arch/$Arch/scripts ]; then cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || : fi if [ -f arch/$Arch/*lds ]; then cp -a arch/$Arch/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || : fi if [ -f arch/%{asmarch}/kernel/module.lds ]; then cp -a --parents arch/%{asmarch}/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ fi find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} + %ifarch ppc64le cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ %endif if [ -d arch/%{asmarch}/include ]; then cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ fi if [ -d tools/arch/%{asmarch}/include ]; then cp -a --parents tools/arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build fi %ifarch aarch64 # arch/arm64/include/asm/xen references arch/arm cp -a --parents arch/arm/include/asm/xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ # arch/arm64/include/asm/opcodes.h references arch/arm cp -a --parents arch/arm/include/asm/opcodes.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ %endif cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include # Cross-reference from include/perf/events/sof.h cp -a sound/soc/sof/sof-audio.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/sound/soc/sof %ifarch i686 x86_64 # files for '\''make prepare'\'' to succeed with kernel-devel cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs_32.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs_64.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs_common.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/purgatory/purgatory.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/purgatory/stack.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/purgatory/setup-x86_64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/purgatory/entry64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/boot/string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/boot/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/boot/ctype.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents scripts/syscalltbl.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents scripts/syscallhdr.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents tools/arch/x86/include/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/arch/x86/include/uapi/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/objtool/arch/x86/lib $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/arch/x86/lib/ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/arch/x86/tools/gen-insn-attr-x86.awk $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/objtool/arch/x86/ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build %endif %{log_msg "Clean up intermediate tools files"} # Clean up intermediate tools files find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} + # Make sure the Makefile, version.h, and auto.conf have a matching # timestamp so that external modules can be built touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile \ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h \ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf %if %{with_debuginfo} eu-readelf -n vmlinux | grep "Build ID" | awk '\''{print $NF}'\'' > vmlinux.id cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id %{log_msg "Copy additional files for kernel-debuginfo rpm"} # # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm # (use mv + symlink instead of cp to reduce disk space requirements) # mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer mv vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer ln -s $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/vmlinux vmlinux if [ -n "%{?vmlinux_decompressor}" ]; then eu-readelf -n %{vmlinux_decompressor} | grep "Build ID" | awk '\''{print $NF}'\'' > vmlinux.decompressor.id # Without build-id the build will fail. But for s390 the build-id # wasn'\''t added before 5.11. In case it is missing prefer not # packaging the debuginfo over a build failure. if [ -s vmlinux.decompressor.id ]; then cp vmlinux.decompressor.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.decompressor.id cp %{vmlinux_decompressor} $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/vmlinux.decompressor fi fi # build and copy the vmlinux-gdb plugin files into kernel-debuginfo %{make} ARCH=$Arch %{?_smp_mflags} scripts_gdb cp -a --parents scripts/gdb/{,linux/}*.py $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer # this should be a relative symlink (Kbuild creates an absolute one) ln -s scripts/gdb/vmlinux-gdb.py $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/vmlinux-gdb.py %py_byte_compile %{python3} $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/scripts/gdb %endif %{log_msg "Create modnames"} find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames # mark modules executable so that strip-to-file can strip them xargs --no-run-if-empty chmod u+x < modnames # Generate a list of modules for block and networking. %{log_msg "Generate a list of modules for block and networking"} grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA | sed -n '\''s,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p'\'' > drivers.undef collect_modules_list() { sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef | LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1 if [ ! -z "$3" ]; then sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1 fi } collect_modules_list networking \ '\''register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt(l_|2x00)(pci|usb)_probe|register_netdevice'\'' collect_modules_list block \ '\''ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size'\'' '\''pktcdvd.ko|dm-mod.ko'\'' collect_modules_list drm \ '\''drm_open|drm_init'\'' collect_modules_list modesetting \ '\''drm_crtc_init'\'' %{log_msg "detect missing or incorrect license tags"} # detect missing or incorrect license tags ( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '\''*.ko'\'' | xargs /sbin/modinfo -l | \ grep -E -v '\''GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$'\'' ) && exit 1 if [ $DoModules -eq 0 ]; then %{log_msg "Create empty files for RPM packaging"} # Ensure important files/directories exist to let the packaging succeed echo '\''%%defattr(-,-,-)'\'' > ../kernel${Variant:+-${Variant}}-modules-core.list echo '\''%%defattr(-,-,-)'\'' > ../kernel${Variant:+-${Variant}}-modules.list echo '\''%%defattr(-,-,-)'\'' > ../kernel${Variant:+-${Variant}}-modules-extra.list echo '\''%%defattr(-,-,-)'\'' > ../kernel${Variant:+-${Variant}}-modules-internal.list echo '\''%%defattr(-,-,-)'\'' > ../kernel${Variant:+-${Variant}}-modules-partner.list mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel # Add files usually created by make modules, needed to prevent errors # thrown by depmod during package installation touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.order touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.builtin fi # Copy the System.map file for depmod to use cp System.map $RPM_BUILD_ROOT/. if [[ "$Variant" == "rt" || "$Variant" == "rt-debug" || "$Variant" == "rt-64k" || "$Variant" == "rt-64k-debug" || "$Variant" == "automotive" || "$Variant" == "automotive-debug" ]]; then %{log_msg "Skipping efiuki build"} else %if %{with_efiuki} %{log_msg "Setup the EFI UKI kernel"} # RHEL/CentOS specific .SBAT entries %if 0%{?centos} SBATsuffix="centos" %else %if 0%{?fedora} SBATsuffix="fedora" %else SBATsuffix="rhel" %endif %endif SBAT=$(cat <<- EOF linux,1,Red Hat,linux,$KernelVer,mailto:secalert@redhat.com linux.$SBATsuffix,1,Red Hat,linux,$KernelVer,mailto:secalert@redhat.com kernel-uki-virt.$SBATsuffix,1,Red Hat,kernel-uki-virt,$KernelVer,mailto:secalert@redhat.com EOF ) ADDONS_SBAT=$(cat <<- EOF sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md kernel-uki-virt-addons.$SBATsuffix,1,Red Hat,kernel-uki-virt-addons,$KernelVer,mailto:secalert@redhat.com EOF ) KernelUnifiedImageDir="$RPM_BUILD_ROOT/lib/modules/$KernelVer" KernelUnifiedImage="$KernelUnifiedImageDir/$InstallName-virt.efi" mkdir -p $KernelUnifiedImageDir dracut --conf=%{SOURCE86} \ --confdir=$(mktemp -d) \ --verbose \ --kver "$KernelVer" \ --kmoddir "$RPM_BUILD_ROOT/lib/modules/$KernelVer/" \ --logfile=$(mktemp) \ --uefi \ %if 0%{?rhel} && !0%{?eln} --sbat "$SBAT" \ %endif --kernel-image $(realpath $KernelImage) \ --kernel-cmdline '\''console=tty0 console=ttyS0'\'' \ $KernelUnifiedImage KernelAddonsDirOut="$KernelUnifiedImage.extra.d" mkdir -p $KernelAddonsDirOut python3 %{SOURCE151} %{SOURCE152} $KernelAddonsDirOut virt %{primary_target} %{_target_cpu} "$ADDONS_SBAT" %if %{signkernel} %{log_msg "Sign the EFI UKI kernel"} %if 0%{?fedora}%{?eln} %pesign -s -i $KernelUnifiedImage -o $KernelUnifiedImage.signed -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0} %else %if 0%{?centos} UKI_secureboot_name=centossecureboot204 %else UKI_secureboot_name=redhatsecureboot504 %endif UKI_secureboot_cert=%{_datadir}/pki/sb-certs/secureboot-uki-virt-%{_arch}.cer %pesign -s -i $KernelUnifiedImage -o $KernelUnifiedImage.signed -a %{secureboot_ca_0} -c $UKI_secureboot_cert -n $UKI_secureboot_name # 0%{?fedora}%{?eln} %endif if [ ! -s $KernelUnifiedImage.signed ]; then echo "pesigning failed" exit 1 fi mv $KernelUnifiedImage.signed $KernelUnifiedImage for addon in "$KernelAddonsDirOut"/*; do %pesign -s -i $addon -o $addon.signed -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0} rm -f $addon mv $addon.signed $addon done # signkernel %endif # hmac sign the UKI for FIPS KernelUnifiedImageHMAC="$KernelUnifiedImageDir/.$InstallName-virt.efi.hmac" %{log_msg "hmac sign the UKI for FIPS"} %{log_msg "Creating hmac file: $KernelUnifiedImageHMAC"} (cd $KernelUnifiedImageDir && sha512hmac $InstallName-virt.efi) > $KernelUnifiedImageHMAC; # with_efiuki %endif : # in case of empty block fi # "$Variant" == "rt" || "$Variant" == "rt-debug" || "$Variant" == "automotive" || "$Variant" == "automotive-debug" # # Generate the modules files lists # move_kmod_list() { local module_list="$1" local subdir_name="$2" mkdir -p "$RPM_BUILD_ROOT/lib/modules/$KernelVer/$subdir_name" set +x while read -r kmod; do local target_file="$RPM_BUILD_ROOT/lib/modules/$KernelVer/$subdir_name/$kmod" local target_dir="${target_file%/*}" mkdir -p "$target_dir" mv "$RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel/$kmod" "$target_dir" done < <(sed -e '\''s|^kernel/||'\'' "$module_list") set -x } create_module_file_list() { # subdirectory within /lib/modules/$KernelVer where kmods should go local module_subdir="$1" # kmod list with relative paths produced by filtermods.py local relative_kmod_list="$2" # list with absolute paths to kmods and other files to be included local absolute_file_list="$3" # if 1, this adds also all kmod directories to absolute_file_list local add_all_dirs="$4" local run_mod_deny="$5" if [ "$module_subdir" != "kernel" ]; then # move kmods into subdirs if needed (internal, partner, extra,..) move_kmod_list $relative_kmod_list $module_subdir fi # make kmod paths absolute sed -e '\''s|^kernel/|/lib/modules/'\''$KernelVer'\''/'\''$module_subdir'\''/|'\'' $relative_kmod_list > $absolute_file_list if [ "$run_mod_deny" -eq 1 ]; then # run deny-mod script, this adds blacklist-* files to absolute_file_list %{SOURCE20} "$RPM_BUILD_ROOT" lib/modules/$KernelVer $absolute_file_list fi %if %{zipmodules} # deny-mod script works with kmods as they are now (not compressed), # but if they will be we need to add compext to all sed -i %{?zipsed} $absolute_file_list %endif # add also dir for the case when there are no kmods # "kernel" subdir is covered in %files section, skip it here if [ "$module_subdir" != "kernel" ]; then echo "%dir /lib/modules/$KernelVer/$module_subdir" >> $absolute_file_list fi if [ "$add_all_dirs" -eq 1 ]; then (cd $RPM_BUILD_ROOT; find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n) > ../module-dirs.list sed -e '\''s|^lib|%dir /lib|'\'' ../module-dirs.list >> $absolute_file_list fi } if [ $DoModules -eq 1 ]; then # save modules.dep for debugging cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.dep ../ %{log_msg "Create module list files for all kernel variants"} variants_param="" if [[ "$Variant" == "rt" || "$Variant" == "rt-debug" ]]; then variants_param="-r rt" fi if [[ "$Variant" == "rt-64k" || "$Variant" == "rt-64k-debug" ]]; then variants_param="-r rt-64k" fi if [[ "$Variant" == "automotive" || "$Variant" == "automotive-debug" ]]; then variants_param="-r automotive" fi # this creates ../modules-*.list output, where each kmod path is as it # appears in modules.dep (relative to lib/modules/$KernelVer) ret=0 %{SOURCE22} -l "../filtermods-$KernelVer.log" sort -d $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.dep -c configs/def_variants.yaml $variants_param -o .. || ret=$? if [ $ret -ne 0 ]; then echo "8< --- filtermods-$KernelVer.log ---" cat "../filtermods-$KernelVer.log" echo "--- filtermods-$KernelVer.log --- >8" echo "8< --- modules.dep ---" cat $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.dep echo "--- modules.dep --- >8" exit 1 fi create_module_file_list "kernel" ../modules-core.list ../kernel${Variant:+-${Variant}}-modules-core.list 1 0 create_module_file_list "kernel" ../modules.list ../kernel${Variant:+-${Variant}}-modules.list 0 0 create_module_file_list "internal" ../modules-internal.list ../kernel${Variant:+-${Variant}}-modules-internal.list 0 1 create_module_file_list "kernel" ../modules-extra.list ../kernel${Variant:+-${Variant}}-modules-extra.list 0 1 %if 0%{!?fedora:1} create_module_file_list "partner" ../modules-partner.list ../kernel${Variant:+-${Variant}}-modules-partner.list 1 1 %endif fi # $DoModules -eq 1 remove_depmod_files() { # remove files that will be auto generated by depmod at rpm -i time pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/ # in case below list needs to be extended, remember to add a # matching ghost entry in the files section as well rm -f modules.{alias,alias.bin,builtin.alias.bin,builtin.bin} \ modules.{dep,dep.bin,devname,softdep,symbols,symbols.bin,weakdep} popd } # Cleanup %{log_msg "Cleanup build files"} rm -f $RPM_BUILD_ROOT/System.map %{log_msg "Remove depmod files"} remove_depmod_files %if %{with_cross} make -C $RPM_BUILD_ROOT/lib/modules/$KernelVer/build M=scripts clean make -C $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/bpf/resolve_btfids clean sed -i '\''s/REBUILD_SCRIPTS_FOR_CROSS:=0/REBUILD_SCRIPTS_FOR_CROSS:=1/'\'' $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile %endif # Move the devel headers out of the root file system %{log_msg "Move the devel headers to RPM_BUILD_ROOT"} mkdir -p $RPM_BUILD_ROOT/usr/src/kernels mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir # This is going to create a broken link during the build, but we don'\''t use # it after this point. We need the link to actually point to something # when kernel-devel is installed, and a relative link doesn'\''t work across # the F17 UsrMove feature. ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build %if %{with_debuginfo} # Generate vmlinux.h and put it to kernel-devel path # zfcpdump build does not have btf anymore if [ "$Variant" != "zfcpdump" ]; then %{log_msg "Build the bootstrap bpftool to generate vmlinux.h"} # Build the bootstrap bpftool to generate vmlinux.h BuildBpftool tools/bpf/bpftool/bootstrap/bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h fi %endif %{log_msg "Cleanup kernel-devel and kernel-debuginfo files"} # prune junk from kernel-devel find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete # prune junk from kernel-debuginfo find $RPM_BUILD_ROOT/usr/src/kernels -name "*.mod.c" -delete # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel %{log_msg "Install certs"} mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer %if %{signkernel} install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer %ifarch s390x ppc64le if [ -x /usr/bin/rpm-sign ]; then install -m 0644 %{secureboot_key_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} fi %endif %endif %if 0%{?rhel} # Red Hat IMA code-signing cert, which is used to authenticate package files install -m 0644 %{ima_signing_cert} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{ima_cert_name} %endif %if %{signmodules} if [ $DoModules -eq 1 ]; then # Save the signing keys so we can sign the modules in __modsign_install_post cp certs/signing_key.pem certs/signing_key.pem.sign${Variant:++${Variant}} cp certs/signing_key.x509 certs/signing_key.x509.sign${Variant:++${Variant}} %ifarch s390x ppc64le if [ ! -x /usr/bin/rpm-sign ]; then install -m 0644 certs/signing_key.x509.sign${Variant:++${Variant}} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer openssl x509 -in certs/signing_key.pem.sign${Variant:++${Variant}} -outform der -out $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} chmod 0644 $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} fi %endif fi %endif %if %{with_gcov} popd %endif } ### # DO it... ### # prepare directories rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/boot mkdir -p $RPM_BUILD_ROOT%{_libexecdir} cd linux-%{KVERREL} %if %{with_debug} %if %{with_realtime} BuildKernel %make_target %kernel_image %{_use_vdso} rt-debug %endif %if %{with_realtime_arm64_64k} BuildKernel %make_target %kernel_image %{_use_vdso} rt-64k-debug %endif %if %{with_automotive} BuildKernel %make_target %kernel_image %{_use_vdso} automotive-debug %endif %if %{with_arm64_16k} BuildKernel %make_target %kernel_image %{_use_vdso} 16k-debug %endif %if %{with_arm64_64k} BuildKernel %make_target %kernel_image %{_use_vdso} 64k-debug %endif %if %{with_up} BuildKernel %make_target %kernel_image %{_use_vdso} debug %endif %endif %if %{with_zfcpdump} BuildKernel %make_target %kernel_image %{_use_vdso} zfcpdump %endif %if %{with_arm64_16k_base} BuildKernel %make_target %kernel_image %{_use_vdso} 16k %endif %if %{with_arm64_64k_base} BuildKernel %make_target %kernel_image %{_use_vdso} 64k %endif %if %{with_realtime_base} BuildKernel %make_target %kernel_image %{_use_vdso} rt %endif %if %{with_realtime_arm64_64k_base} BuildKernel %make_target %kernel_image %{_use_vdso} rt-64k %endif %if %{with_automotive_base} BuildKernel %make_target %kernel_image %{_use_vdso} automotive %endif %if %{with_up_base} BuildKernel %make_target %kernel_image %{_use_vdso} %endif %ifnarch noarch i686 %{nobuildarches} %if !%{with_debug} && !%{with_zfcpdump} && !%{with_up} && !%{with_arm64_16k} && !%{with_arm64_64k} && !%{with_realtime} && !%{with_realtime_arm64_64k} && !%{with_automotive} # If only building the user space tools, then initialize the build environment # and some variables so that the various userspace tools can be built. %{log_msg "Initialize userspace tools build environment"} InitBuildVars # Some tests build also modules, and need Module.symvers if ! [[ -e Module.symvers ]] && [[ -f $DevelDir/Module.symvers ]]; then %{log_msg "Found Module.symvers in DevelDir, copying to ."} cp "$DevelDir/Module.symvers" . fi %endif %endif %ifarch aarch64 %global perf_build_extra_opts CORESIGHT=1 %endif %global perf_make \ %{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_CXXFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags} -Wl,-E" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 LIBBPF_DYNAMIC=1 LIBTRACEEVENT_DYNAMIC=1 %{?perf_build_extra_opts} prefix=%{_prefix} PYTHON=%{__python3} %if %{with_perf} %{log_msg "Build perf"} # perf # make sure check-headers.sh is executable chmod +x tools/perf/check-headers.sh %{perf_make} DESTDIR=$RPM_BUILD_ROOT all %endif %if %{with_libperf} %global libperf_make \ %{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/lib/perf V=1 %{log_msg "build libperf"} %{libperf_make} DESTDIR=$RPM_BUILD_ROOT %endif %global tools_make \ CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" EXTRA_CFLAGS="${RPM_OPT_FLAGS}" %{make} %{?make_opts} %ifarch %{cpupowerarchs} # link against in-tree libcpupower for idle state support %global rtla_make %{tools_make} LDFLAGS="%{__global_ldflags} -L../../power/cpupower" INCLUDES="-I../../power/cpupower/lib" %else %global rtla_make %{tools_make} %endif %if %{with_tools} %if %{with_ynl} pushd tools/net/ynl export PIP_CONFIG_FILE=/tmp/pip.config cat < $PIP_CONFIG_FILE [install] no-index = true no-build-isolation = false EOF %{tools_make} %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT install popd %endif %ifarch %{cpupowerarchs} # cpupower # make sure version-gen.sh is executable. chmod +x tools/power/cpupower/utils/version-gen.sh %{log_msg "build cpupower"} %{tools_make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false DEBUG=false %ifarch x86_64 pushd tools/power/cpupower/debug/x86_64 %{log_msg "build centrino-decode powernow-k8-decode"} %{tools_make} %{?_smp_mflags} centrino-decode powernow-k8-decode popd %endif %ifarch x86_64 pushd tools/power/x86/x86_energy_perf_policy/ %{log_msg "build x86_energy_perf_policy"} %{tools_make} popd pushd tools/power/x86/turbostat %{log_msg "build turbostat"} %{tools_make} popd pushd tools/power/x86/intel-speed-select %{log_msg "build intel-speed-select"} %{tools_make} popd pushd tools/arch/x86/intel_sdsi %{log_msg "build intel_sdsi"} %{tools_make} CFLAGS="${RPM_OPT_FLAGS}" popd %endif %endif pushd tools/thermal/tmon/ %{log_msg "build tmon"} %{tools_make} popd pushd tools/bootconfig/ %{log_msg "build bootconfig"} %{tools_make} popd pushd tools/iio/ %{log_msg "build iio"} %{tools_make} popd pushd tools/gpio/ %{log_msg "build gpio"} %{tools_make} popd # build VM tools pushd tools/mm/ %{log_msg "build slabinfo page_owner_sort"} %{tools_make} slabinfo page_owner_sort popd pushd tools/verification/rv/ %{log_msg "build rv"} %{tools_make} popd pushd tools/tracing/rtla %{log_msg "build rtla"} %{rtla_make} popd %endif #set RPM_VMLINUX_H if [ -f $RPM_BUILD_ROOT/$DevelDir/vmlinux.h ]; then RPM_VMLINUX_H=$RPM_BUILD_ROOT/$DevelDir/vmlinux.h elif [ -f $DevelDir/vmlinux.h ]; then RPM_VMLINUX_H=$DevelDir/vmlinux.h fi echo "${RPM_VMLINUX_H}" > ../vmlinux_h_path %if %{with_selftests} %{log_msg "start build selftests"} # Unfortunately, samples/bpf/Makefile expects that the headers are installed # in the source tree. We installed them previously to $RPM_BUILD_ROOT/usr # but there'\''s no way to tell the Makefile to take them from there. %{log_msg "install headers for selftests"} %{make} %{?_smp_mflags} headers_install # If we re building only tools without kernel, we need to generate config # headers and prepare tree for modules building. The modules_prepare target # will cover both. if [ ! -f include/generated/autoconf.h ]; then %{log_msg "modules_prepare for selftests"} %{make} %{?_smp_mflags} modules_prepare fi # Build BPFtool for samples/bpf if [ ! -f tools/bpf/bpftool/bootstrap/bpftool ]; then BuildBpftool fi %{log_msg "build samples/bpf"} %{make} %{?_smp_mflags} ARCH=$Arch BPFTOOL=$(pwd)/tools/bpf/bpftool/bootstrap/bpftool V=1 M=samples/bpf/ VMLINUX_H="${RPM_VMLINUX_H}" || true pushd tools/testing/selftests # We need to install here because we need to call make with ARCH set which # doesn'\''t seem possible to do in the install section. %if %{selftests_must_build} force_targets="FORCE_TARGETS=1" %else force_targets="" %endif %{log_msg "main selftests compile"} %{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf cgroup mm net net/forwarding net/mptcp net/netfilter net/packetdrill tc-testing memfd drivers/net/bonding iommu cachestat pid_namespace rlimits" SKIP_TARGETS="" $force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install %ifarch %{klptestarches} # kernel livepatching selftest test_modules will build against # /lib/modules/$(shell uname -r)/build tree unless KDIR is set export KDIR=$(realpath $(pwd)/../../..) %{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="livepatch" SKIP_TARGETS="" $force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install || true %endif # '\''make install'\'' for bpf is broken and upstream refuses to fix it. # Install the needed files manually. %{log_msg "install selftests"} for dir in bpf bpf/no_alu32 bpf/progs; do # In ARK, the rpm build continues even if some of the selftests # cannot be built. It'\''s not always possible to build selftests, # as upstream sometimes dependens on too new llvm version or has # other issues. If something did not get built, just skip it. test -d $dir || continue mkdir -p %{buildroot}%{_libexecdir}/kselftests/$dir find $dir -maxdepth 1 -type f \( -executable -o -name '\''*.py'\'' -o -name settings -o \ -name '\''btf_dump_test_case_*.c'\'' -o -name '\''*.ko'\'' -o \ -name '\''*.o'\'' -exec sh -c '\''readelf -h "{}" | grep -q "^ Machine:.*BPF"'\'' \; \) -print0 | \ xargs -0 cp -t %{buildroot}%{_libexecdir}/kselftests/$dir || true done %buildroot_save_unstripped "usr/libexec/kselftests/bpf/test_progs" %buildroot_save_unstripped "usr/libexec/kselftests/bpf/test_progs-no_alu32" popd %{log_msg "end build selftests"} %endif %if %{with_doc} %{log_msg "start install docs"} # Make the HTML pages. %{log_msg "build html docs"} %{__make} PYTHON=/usr/bin/python3 htmldocs || %{doc_build_fail} # sometimes non-world-readable files sneak into the kernel source tree chmod -R a=rX Documentation find Documentation -type d | xargs chmod u+w %{log_msg "end install docs"} %endif # Module signing (modsign) # # This must be run _after_ find-debuginfo.sh runs, otherwise that will strip # the signature off of the modules. # # Don'\''t sign modules for the zfcpdump variant as it is monolithic. %define __modsign_install_post \ if [ "%{signmodules}" -eq "1" ]; then \ %{log_msg "Signing kernel modules ..."} \ modules_dirs="$(shopt -s nullglob; echo $RPM_BUILD_ROOT/lib/modules/%{KVERREL}*)" \ for modules_dir in $modules_dirs; do \ variant_suffix="${modules_dir#$RPM_BUILD_ROOT/lib/modules/%{KVERREL}}" \ [ "$variant_suffix" == "+zfcpdump" ] && continue \ %{log_msg "Signing modules for %{KVERREL}${variant_suffix}"} \ %{modsign_cmd} certs/signing_key.pem.sign${variant_suffix} certs/signing_key.x509.sign${variant_suffix} $modules_dir/ \ done \ fi \ if [ "%{zipmodules}" -eq "1" ]; then \ %{log_msg "Compressing kernel modules ..."} \ find $RPM_BUILD_ROOT/lib/modules/ -type f -name '\''*.ko'\'' | xargs -n 16 -P${RPM_BUILD_NCPUS} -r %compression %compression_flags; \ fi \ %{nil} ### ### Special hacks for debuginfo subpackages. ### # This macro is used by %%install, so we must redefine it before that. %define debug_package %{nil} %if %{with_debuginfo} %ifnarch noarch %{nobuildarches} %global __debug_package 1 %files -f debugfiles.list debuginfo-common-%{_target_cpu} %endif %endif # We don'\''t want to package debuginfo for self-tests and samples but # we have to delete them to avoid an error messages about unpackaged # files. # Delete the debuginfo for kernel-devel files %define __remove_unwanted_dbginfo_install_post \ if [ "%{with_selftests}" -ne "0" ]; then \ rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/ksamples; \ rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/kselftests; \ fi \ rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/src; \ %{nil} # Make debugedit and gdb-add-index use target versions of tools # when cross-compiling. This is supported since debugedit-5.1-5.fc42 # https://inbox.sourceware.org/debugedit/20250220153858.963312-1-mark@klomp.org/ %if %{with_cross} %define __override_target_tools_for_debugedit \ export OBJCOPY=%{_build_arch}-linux-gnu-objcopy \ export NM=%{_build_arch}-linux-gnu-nm \ export READELF=%{_build_arch}-linux-gnu-readelf \ %{nil} %endif # # Disgusting hack alert! We need to ensure we sign modules *after* all # invocations of strip occur, which is in __debug_install_post if # find-debuginfo.sh runs, and __os_install_post if not. # %define __spec_install_post \ %{?__override_target_tools_for_debugedit:%{__override_target_tools_for_debugedit}}\ %{?__debug_package:%{__debug_install_post}}\ %{__arch_install_post}\ %{__os_install_post}\ %{__remove_unwanted_dbginfo_install_post}\ %{__restore_unstripped_root_post}\ %{__modsign_install_post} ### ### install ### %install cd linux-%{KVERREL} # re-define RPM_VMLINUX_H, because it doesn'\''t carry over from %build RPM_VMLINUX_H="$(cat ../vmlinux_h_path)" %if %{with_doc} docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease} # copy the source over mkdir -p $docdir tar -h -f - --exclude=man --exclude='\''.*'\'' -c Documentation | tar xf - -C $docdir cat %{SOURCE2} | xz > $docdir/kernel.changelog.xz chmod 0644 $docdir/kernel.changelog.xz # with_doc %endif # We have to do the headers install before the tools install because the # kernel headers_install will remove any header files in /usr/include that # it doesn'\''t install itself. %if %{with_headers} # Install kernel headers %{__make} ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install find $RPM_BUILD_ROOT/usr/include \ \( -name .install -o -name .check -o \ -name ..install.cmd -o -name ..check.cmd \) -delete %endif %if %{with_cross_headers} HDR_ARCH_LIST='\''arm64 powerpc s390 x86 riscv'\'' mkdir -p $RPM_BUILD_ROOT/usr/tmp-headers for arch in $HDR_ARCH_LIST; do mkdir $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} %{__make} ARCH=${arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} headers_install done find $RPM_BUILD_ROOT/usr/tmp-headers \ \( -name .install -o -name .check -o \ -name ..install.cmd -o -name ..check.cmd \) -delete # Copy all the architectures we care about to their respective asm directories for arch in $HDR_ARCH_LIST ; do mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include mv $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch}/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/ done rm -rf $RPM_BUILD_ROOT/usr/tmp-headers %endif %if %{with_kernel_abi_stablelists} # kabi directory INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/ mkdir -p $INSTALL_KABI_PATH # install kabi releases directories tar -xvf %{SOURCE300} -C $INSTALL_KABI_PATH # with_kernel_abi_stablelists %endif %if %{with_perf} # perf tool binary and supporting scripts/binaries %{perf_make} DESTDIR=$RPM_BUILD_ROOT lib=%{_lib} install-bin # remove the '\''trace'\'' symlink. rm -f %{buildroot}%{_bindir}/trace # For both of the below, yes, this should be using a macro but right now # it'\''s hard coded and we don'\''t actually want it anyway right now. # Whoever wants examples can fix it up! # remove examples rm -rf %{buildroot}/usr/lib/perf/examples rm -rf %{buildroot}/usr/lib/perf/include # python-perf extension %{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext # perf man pages (note: implicit rpm magic compresses them later) mkdir -p %{buildroot}/%{_mandir}/man1 %{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man # remove any tracevent files, eg. its plugins still gets built and installed, # even if we build against system'\''s libtracevent during perf build (by setting # LIBTRACEEVENT_DYNAMIC=1 above in perf_make macro). Those files should already # ship with libtraceevent package. rm -rf %{buildroot}%{_libdir}/traceevent %endif %if %{with_libperf} %{libperf_make} DESTDIR=%{buildroot} prefix=%{_prefix} libdir=%{_libdir} install install_headers # This is installed on some arches and we don'\''t want to ship it rm -rf %{buildroot}%{_libdir}/libperf.a %endif %if %{with_tools} %ifarch %{cpupowerarchs} %{make} -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install %find_lang cpupower mv cpupower.lang ../ %ifarch x86_64 pushd tools/power/cpupower/debug/x86_64 install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode popd %endif chmod 0755 %{buildroot}%{_libdir}/libcpupower.so* %endif %ifarch x86_64 mkdir -p %{buildroot}%{_mandir}/man8 pushd tools/power/x86/x86_energy_perf_policy %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/power/x86/turbostat %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/power/x86/intel-speed-select %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/arch/x86/intel_sdsi %{tools_make} CFLAGS="${RPM_OPT_FLAGS}" DESTDIR=%{buildroot} BINDIR=%{_sbindir} install popd %endif pushd tools/thermal/tmon %{tools_make} INSTALL_ROOT=%{buildroot} install popd pushd tools/bootconfig %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/iio %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/gpio %{tools_make} DESTDIR=%{buildroot} install popd install -m644 -D %{SOURCE2002} %{buildroot}%{_sysconfdir}/logrotate.d/kvm_stat pushd tools/kvm/kvm_stat %{__make} INSTALL_ROOT=%{buildroot} install-tools %{__make} INSTALL_ROOT=%{buildroot} install-man install -m644 -D kvm_stat.service %{buildroot}%{_unitdir}/kvm_stat.service popd # install VM tools pushd tools/mm/ install -m755 slabinfo %{buildroot}%{_bindir}/slabinfo install -m755 page_owner_sort %{buildroot}%{_bindir}/page_owner_sort popd pushd tools/verification/rv/ %{tools_make} DESTDIR=%{buildroot} install popd pushd tools/tracing/rtla/ %{tools_make} DESTDIR=%{buildroot} install rm -f %{buildroot}%{_bindir}/hwnoise rm -f %{buildroot}%{_bindir}/osnoise rm -f %{buildroot}%{_bindir}/timerlat (cd %{buildroot} ln -sf rtla ./%{_bindir}/hwnoise ln -sf rtla ./%{_bindir}/osnoise ln -sf rtla ./%{_bindir}/timerlat ) popd %endif %if %{with_selftests} pushd samples install -d %{buildroot}%{_libexecdir}/ksamples # install bpf samples pushd bpf install -d %{buildroot}%{_libexecdir}/ksamples/bpf find -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/bpf \; install -m755 *.sh %{buildroot}%{_libexecdir}/ksamples/bpf # test_lwt_bpf.sh compiles test_lwt_bpf.c when run; this works only from the # kernel tree. Just remove it. rm %{buildroot}%{_libexecdir}/ksamples/bpf/test_lwt_bpf.sh install -m644 *_kern.o %{buildroot}%{_libexecdir}/ksamples/bpf || true install -m644 tcp_bpf.readme %{buildroot}%{_libexecdir}/ksamples/bpf popd # install pktgen samples pushd pktgen install -d %{buildroot}%{_libexecdir}/ksamples/pktgen find . -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \; find . -type f ! -executable -exec install -m644 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \; popd popd # install mm selftests pushd tools/testing/selftests/mm find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/mm/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/mm/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/mm/{} \; popd # install cgroup selftests pushd tools/testing/selftests/cgroup find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/cgroup/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/cgroup/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/cgroup/{} \; popd # install drivers/net/mlxsw selftests pushd tools/testing/selftests/drivers/net/mlxsw find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; popd # install drivers/net/netdevsim selftests pushd tools/testing/selftests/drivers/net/netdevsim find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/netdevsim/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/netdevsim/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/netdevsim/{} \; popd # install drivers/net/bonding selftests pushd tools/testing/selftests/drivers/net/bonding find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/bonding/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/bonding/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/bonding/{} \; popd # install net/forwarding selftests pushd tools/testing/selftests/net/forwarding find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; popd # install net/mptcp selftests pushd tools/testing/selftests/net/mptcp find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; popd # install tc-testing selftests pushd tools/testing/selftests/tc-testing find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; popd # install livepatch selftests pushd tools/testing/selftests/livepatch find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; popd # install net/netfilter selftests pushd tools/testing/selftests/net/netfilter find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/netfilter/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/netfilter/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/netfilter/{} \; popd # install net/packetdrill selftests pushd tools/testing/selftests/net/packetdrill find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/packetdrill/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/packetdrill/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/packetdrill/{} \; popd # install memfd selftests pushd tools/testing/selftests/memfd find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/memfd/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/memfd/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/memfd/{} \; popd # install iommu selftests pushd tools/testing/selftests/iommu find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/iommu/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/iommu/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/iommu/{} \; popd # install rlimits selftests pushd tools/testing/selftests/rlimits find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/rlimits/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/rlimits/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/rlimits/{} \; popd # install pid_namespace selftests pushd tools/testing/selftests/pid_namespace find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/pid_namespace/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/pid_namespace/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/pid_namespace/{} \; popd %endif ### ### clean ### ### ### scripts ### %if %{with_tools} %post -n %{package_name}-tools-libs /sbin/ldconfig %postun -n %{package_name}-tools-libs /sbin/ldconfig %endif # # This macro defines a %%post script for a kernel*-devel package. # %%kernel_devel_post [] # Note we don'\''t run hardlink if ostree is in use, as ostree is # a far more sophisticated hardlink implementation. # https://github.com/projectatomic/rpm-ostree/commit/58a79056a889be8814aa51f507b2c7a4dccee526 # # The deletion of *.hardlink-temporary files is a temporary workaround # for this bug in the hardlink binary (fixed in util-linux 2.38): # https://github.com/util-linux/util-linux/issues/1602 # %define kernel_devel_post() \ %{expand:%%post %{?1:%{1}-}devel}\ if [ -f /etc/sysconfig/kernel ]\ then\ . /etc/sysconfig/kernel || exit $?\ fi\ if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ] \ then\ (cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\ /usr/bin/find . -type f | while read f; do\ hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null\ done;\ /usr/bin/find /usr/src/kernels -type f -name '\''*.hardlink-temporary'\'' -delete\ )\ fi\ %if %{with_cross}\ echo "Building scripts and resolve_btfids"\ env --unset=ARCH make -C /usr/src/kernels/%{KVERREL}%{?1:+%{1}} prepare_after_cross\ %endif\ %{nil} # # This macro defines a %%post script for a kernel*-modules-extra package. # It also defines a %%postun script that does the same thing. # %%kernel_modules_extra_post [] # %define kernel_modules_extra_post() \ %{expand:%%post %{?1:%{1}-}modules-extra}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil}\ %{expand:%%postun %{?1:%{1}-}modules-extra}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil} # # This macro defines a %%post script for a kernel*-modules-internal package. # It also defines a %%postun script that does the same thing. # %%kernel_modules_internal_post [] # %define kernel_modules_internal_post() \ %{expand:%%post %{?1:%{1}-}modules-internal}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil}\ %{expand:%%postun %{?1:%{1}-}modules-internal}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil} # # This macro defines a %%post script for a kernel*-modules-partner package. # It also defines a %%postun script that does the same thing. # %%kernel_modules_partner_post [] # %define kernel_modules_partner_post() \ %{expand:%%post %{?1:%{1}-}modules-partner}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil}\ %{expand:%%postun %{?1:%{1}-}modules-partner}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil} # # This macro defines a %%post script for a kernel*-modules package. # It also defines a %%postun script that does the same thing. # %%kernel_modules_post [] # %define kernel_modules_post() \ %{expand:%%post %{?1:%{1}-}modules}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ if [ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?1:+%{1}} ]; then\ mkdir -p %{_localstatedir}/lib/rpm-state/%{name}\ touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}}\ fi\ %{nil}\ %{expand:%%postun %{?1:%{1}-}modules}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil}\ %{expand:%%posttrans %{?1:%{1}-}modules}\ if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}} ]; then\ rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}}\ echo "Running: dracut -f --kver %{KVERREL}%{?1:+%{1}}"\ dracut -f --kver "%{KVERREL}%{?1:+%{1}}" || exit $?\ fi\ %{nil} # # This macro defines a %%post script for a kernel*-modules-core package. # %%kernel_modules_core_post [] # %define kernel_modules_core_post() \ %{expand:%%posttrans %{?1:%{1}-}modules-core}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil} # This macro defines a %%posttrans script for a kernel package. # %%kernel_variant_posttrans [-v ] [-u uki-suffix] # More text can follow to go at the end of this variant'\''s %%post. # %define kernel_variant_posttrans(v:u:) \ %{expand:%%posttrans %{?-v:%{-v*}-}%{!?-u*:core}%{?-u*:uki-%{-u*}}}\ %if 0%{!?fedora:1}\ %if !%{with_automotive}\ if [ -x %{_sbindir}/weak-modules ]\ then\ %{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?-v:+%{-v*}} || exit $?\ fi\ %endif\ %endif\ rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?-v:+%{-v*}}\ /bin/kernel-install add %{KVERREL}%{?-v:+%{-v*}} /lib/modules/%{KVERREL}%{?-v:+%{-v*}}/vmlinuz%{?-u:-%{-u*}.efi} || exit $?\ if [[ ! -e "/boot/symvers-%{KVERREL}%{?-v:+%{-v*}}.%compext" ]]; then\ cp "/lib/modules/%{KVERREL}%{?-v:+%{-v*}}/symvers.%compext" "/boot/symvers-%{KVERREL}%{?-v:+%{-v*}}.%compext"\ if command -v restorecon &>/dev/null; then\ restorecon "/boot/symvers-%{KVERREL}%{?-v:+%{-v*}}.%compext"\ fi\ fi\ %{nil} # # This macro defines a %%post script for a kernel package and its devel package. # %%kernel_variant_post [-v ] [-r ] # More text can follow to go at the end of this variant'\''s %%post. # %define kernel_variant_post(v:r:) \ %{expand:%%kernel_devel_post %{?-v*}}\ %{expand:%%kernel_modules_post %{?-v*}}\ %{expand:%%kernel_modules_core_post %{?-v*}}\ %{expand:%%kernel_modules_extra_post %{?-v*}}\ %{expand:%%kernel_modules_internal_post %{?-v*}}\ %if 0%{!?fedora:1}\ %{expand:%%kernel_modules_partner_post %{?-v*}}\ %endif\ %{expand:%%kernel_variant_posttrans %{?-v*:-v %{-v*}}}\ %{expand:%%post %{?-v*:%{-v*}-}core}\ %{-r:\ if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\ [ -f /etc/sysconfig/kernel ]; then\ /bin/sed -r -i -e '\''s/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/'\'' /etc/sysconfig/kernel || exit $?\ fi}\ mkdir -p %{_localstatedir}/lib/rpm-state/%{name}\ touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?-v:+%{-v*}}\ %{nil} # # This macro defines a %%preun script for a kernel package. # %%kernel_variant_preun [-v ] -u [uki-suffix] # %define kernel_variant_preun(v:u:) \ %{expand:%%preun %{?-v:%{-v*}-}%{!?-u*:core}%{?-u*:uki-%{-u*}}}\ /bin/kernel-install remove %{KVERREL}%{?-v:+%{-v*}} || exit $?\ %if !%{with_automotive}\ if [ -x %{_sbindir}/weak-modules ]\ then\ %{_sbindir}/weak-modules --remove-kernel %{KVERREL}%{?-v:+%{-v*}} || exit $?\ fi\ %endif\ %{nil} %if %{with_up_base} && %{with_efiuki} %kernel_variant_posttrans -u virt %kernel_variant_preun -u virt %endif %if %{with_up_base} %kernel_variant_preun %kernel_variant_post %endif %if %{with_zfcpdump} %kernel_variant_preun -v zfcpdump %kernel_variant_post -v zfcpdump %endif %if %{with_up} && %{with_debug} && %{with_efiuki} %kernel_variant_posttrans -v debug -u virt %kernel_variant_preun -v debug -u virt %endif %if %{with_up} && %{with_debug} %kernel_variant_preun -v debug %kernel_variant_post -v debug %endif %if %{with_arm64_16k_base} %kernel_variant_preun -v 16k %kernel_variant_post -v 16k %endif %if %{with_debug} && %{with_arm64_16k} %kernel_variant_preun -v 16k-debug %kernel_variant_post -v 16k-debug %endif %if %{with_arm64_16k} && %{with_debug} && %{with_efiuki} %kernel_variant_posttrans -v 16k-debug -u virt %kernel_variant_preun -v 16k-debug -u virt %endif %if %{with_arm64_16k_base} && %{with_efiuki} %kernel_variant_posttrans -v 16k -u virt %kernel_variant_preun -v 16k -u virt %endif %if %{with_arm64_64k_base} %kernel_variant_preun -v 64k %kernel_variant_post -v 64k %endif %if %{with_debug} && %{with_arm64_64k} %kernel_variant_preun -v 64k-debug %kernel_variant_post -v 64k-debug %endif %if %{with_arm64_64k} && %{with_debug} && %{with_efiuki} %kernel_variant_posttrans -v 64k-debug -u virt %kernel_variant_preun -v 64k-debug -u virt %endif %if %{with_arm64_64k_base} && %{with_efiuki} %kernel_variant_posttrans -v 64k -u virt %kernel_variant_preun -v 64k -u virt %endif %if %{with_realtime_base} %kernel_variant_preun -v rt %kernel_variant_post -v rt -r kernel %endif %if %{with_automotive_base} %kernel_variant_preun -v automotive %kernel_variant_post -v automotive -r kernel %endif %if %{with_realtime} && %{with_debug} %kernel_variant_preun -v rt-debug %kernel_variant_post -v rt-debug %endif %if %{with_realtime_arm64_64k_base} %kernel_variant_preun -v rt-64k %kernel_variant_post -v rt-64k %kernel_kvm_post rt-64k %endif %if %{with_debug} && %{with_realtime_arm64_64k} %kernel_variant_preun -v rt-64k-debug %kernel_variant_post -v rt-64k-debug %kernel_kvm_post rt-64k-debug %endif %if %{with_automotive} && %{with_debug} %kernel_variant_preun -v automotive-debug %kernel_variant_post -v automotive-debug %endif ### ### file lists ### %if %{with_headers} %files headers /usr/include/* %exclude %{_includedir}/cpufreq.h %exclude %{_includedir}/ynl %endif %if %{with_cross_headers} %files cross-headers /usr/*-linux-gnu/include/* %endif %if %{with_kernel_abi_stablelists} %files -n %{package_name}-abi-stablelists /lib/modules/kabi-* %endif %if %{with_kabidw_base} %ifarch x86_64 s390x ppc64 ppc64le aarch64 riscv64 %files kernel-kabidw-base-internal %defattr(-,root,root) /kabidw-base/%{_target_cpu}/* %endif %endif # only some architecture builds need kernel-doc %if %{with_doc} %files doc %defattr(-,root,root) %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}/Documentation/* %dir %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}/Documentation %dir %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease} %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}/kernel.changelog.xz %endif %if %{with_perf} %files -n perf %{_bindir}/perf %{_libdir}/libperf-jvmti.so %dir %{_libexecdir}/perf-core %{_libexecdir}/perf-core/* %{_mandir}/man[1-8]/perf* %{_sysconfdir}/bash_completion.d/perf %doc linux-%{KVERREL}/tools/perf/Documentation/examples.txt %{_docdir}/perf-tip/tips.txt %{_includedir}/perf/perf_dlfilter.h %files -n python3-perf %{python3_sitearch}/* %if %{with_debuginfo} %files -f perf-debuginfo.list -n perf-debuginfo %files -f python3-perf-debuginfo.list -n python3-perf-debuginfo %endif # with_perf %endif %if %{with_libperf} %files -n libperf %{_libdir}/libperf.so.0 %{_libdir}/libperf.so.0.0.1 %files -n libperf-devel %{_libdir}/libperf.so %{_libdir}/pkgconfig/libperf.pc %{_includedir}/internal/*.h %{_includedir}/perf/bpf_perf.h %{_includedir}/perf/core.h %{_includedir}/perf/cpumap.h %{_includedir}/perf/event.h %{_includedir}/perf/evlist.h %{_includedir}/perf/evsel.h %{_includedir}/perf/mmap.h %{_includedir}/perf/threadmap.h %{_mandir}/man3/libperf.3.gz %{_mandir}/man7/libperf-counting.7.gz %{_mandir}/man7/libperf-sampling.7.gz %{_docdir}/libperf/examples/sampling.c %{_docdir}/libperf/examples/counting.c %{_docdir}/libperf/html/libperf.html %{_docdir}/libperf/html/libperf-counting.html %{_docdir}/libperf/html/libperf-sampling.html %if %{with_debuginfo} %files -f libperf-debuginfo.list -n libperf-debuginfo %endif # with_libperf %endif %if %{with_tools} %ifnarch %{cpupowerarchs} %files -n %{package_name}-tools %else %files -n %{package_name}-tools -f cpupower.lang %{_bindir}/cpupower %{_datadir}/bash-completion/completions/cpupower %ifarch x86_64 %{_bindir}/centrino-decode %{_bindir}/powernow-k8-decode %endif %{_mandir}/man[1-8]/cpupower* %ifarch x86_64 %{_bindir}/x86_energy_perf_policy %{_mandir}/man8/x86_energy_perf_policy* %{_bindir}/turbostat %{_mandir}/man8/turbostat* %{_bindir}/intel-speed-select %{_sbindir}/intel_sdsi %endif # cpupowerarchs %endif %{_bindir}/tmon %{_bindir}/bootconfig %{_bindir}/iio_event_monitor %{_bindir}/iio_generic_buffer %{_bindir}/lsiio %{_bindir}/lsgpio %{_bindir}/gpio-hammer %{_bindir}/gpio-event-mon %{_bindir}/gpio-watch %{_mandir}/man1/kvm_stat* %{_bindir}/kvm_stat %{_unitdir}/kvm_stat.service %config(noreplace) %{_sysconfdir}/logrotate.d/kvm_stat %{_bindir}/page_owner_sort %{_bindir}/slabinfo %if %{with_ynl} %{_bindir}/ynl* %{_docdir}/ynl %{_datadir}/ynl %{python3_sitelib}/pyynl* %endif %if %{with_debuginfo} %files -f %{package_name}-tools-debuginfo.list -n %{package_name}-tools-debuginfo %endif %files -n %{package_name}-tools-libs %ifarch %{cpupowerarchs} %{_libdir}/libcpupower.so.1 %{_libdir}/libcpupower.so.1.0.1 %endif %files -n %{package_name}-tools-libs-devel %ifarch %{cpupowerarchs} %{_libdir}/libcpupower.so %{_includedir}/cpufreq.h %{_includedir}/cpuidle.h %{_includedir}/powercap.h %endif %if %{with_ynl} %{_libdir}/libynl* %{_includedir}/ynl %endif %files -n rtla %{_bindir}/rtla %{_bindir}/hwnoise %{_bindir}/osnoise %{_bindir}/timerlat %{_mandir}/man1/rtla-hwnoise.1.gz %{_mandir}/man1/rtla-osnoise-hist.1.gz %{_mandir}/man1/rtla-osnoise-top.1.gz %{_mandir}/man1/rtla-osnoise.1.gz %{_mandir}/man1/rtla-timerlat-hist.1.gz %{_mandir}/man1/rtla-timerlat-top.1.gz %{_mandir}/man1/rtla-timerlat.1.gz %{_mandir}/man1/rtla.1.gz %files -n rv %{_bindir}/rv %{_mandir}/man1/rv-list.1.gz %{_mandir}/man1/rv-mon-wip.1.gz %{_mandir}/man1/rv-mon-wwnr.1.gz %{_mandir}/man1/rv-mon.1.gz %{_mandir}/man1/rv-mon-sched.1.gz %{_mandir}/man1/rv.1.gz # with_tools %endif %if %{with_selftests} %files selftests-internal %{_libexecdir}/ksamples %{_libexecdir}/kselftests %endif # empty meta-package %if %{with_up_base} %ifnarch %nobuildarches noarch %files %endif %endif # This is %%{image_install_path} on an arch where that includes ELF files, # or empty otherwise. %define elf_image_install_path %{?kernel_image_elf:%{image_install_path}} # # This macro defines the %%files sections for a kernel package # and its devel and debuginfo packages. # %%kernel_variant_files [-k vmlinux] # %define kernel_variant_files(k:) \ %if %{2}\ %{expand:%%files %{?1:-f kernel-%{?3:%{3}-}ldsoconf.list} %{?3:%{3}-}core}\ %{!?_licensedir:%global license %%doc}\ %%license linux-%{KVERREL}/COPYING-%{version}-%{release}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\ %ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \ %ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \ %ifarch aarch64 riscv64\ /lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \ %ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \ %endif\ /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\ %ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\ %dir /lib/modules\ %dir /lib/modules/%{KVERREL}%{?3:+%{3}}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.%compext\ /lib/modules/%{KVERREL}%{?3:+%{3}}/config\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin*\ %ghost %attr(0644, root, root) /boot/symvers-%{KVERREL}%{?3:+%{3}}.%compext\ %ghost %attr(0600, root, root) /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\ %ghost %attr(0644, root, root) /boot/config-%{KVERREL}%{?3:+%{3}}\ %{expand:%%files -f kernel-%{?3:%{3}-}modules-core.list %{?3:%{3}-}modules-core}\ %dir /lib/modules\ %dir /lib/modules/%{KVERREL}%{?3:+%{3}}\ %dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\ /lib/modules/%{KVERREL}%{?3:+%{3}}/build\ /lib/modules/%{KVERREL}%{?3:+%{3}}/source\ /lib/modules/%{KVERREL}%{?3:+%{3}}/updates\ /lib/modules/%{KVERREL}%{?3:+%{3}}/weak-updates\ /lib/modules/%{KVERREL}%{?3:+%{3}}/systemtap\ %{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}\ %if %{1}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\ %endif\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.block\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.drm\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.modesetting\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.networking\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.order\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.alias\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.alias.bin\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin.alias.bin\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin.bin\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.dep\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.dep.bin\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.devname\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.softdep\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.symbols\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.symbols.bin\ %ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.weakdep\ %{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\ %{expand:%%files %{?3:%{3}-}devel}\ %defverify(not mtime)\ /usr/src/kernels/%{KVERREL}%{?3:+%{3}}\ %{expand:%%files %{?3:%{3}-}devel-matched}\ %{expand:%%files -f kernel-%{?3:%{3}-}modules-extra.list %{?3:%{3}-}modules-extra}\ %{expand:%%files -f kernel-%{?3:%{3}-}modules-internal.list %{?3:%{3}-}modules-internal}\ %if 0%{!?fedora:1}\ %{expand:%%files -f kernel-%{?3:%{3}-}modules-partner.list %{?3:%{3}-}modules-partner}\ %endif\ %if %{with_debuginfo}\ %ifnarch noarch\ %{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\ %endif\ %endif\ %if %{with_efiuki} && "%{3}" != "rt" && "%{3}" != "rt-debug" && "%{3}" != "rt-64k" && "%{3}" != "rt-64k-debug"\ %{expand:%%files %{?3:%{3}-}uki-virt}\ %dir /lib/modules\ %dir /lib/modules/%{KVERREL}%{?3:+%{3}}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\ /lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.%compext\ /lib/modules/%{KVERREL}%{?3:+%{3}}/config\ /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin*\ %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi\ %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/.%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi.hmac\ %ghost /%{image_install_path}/efi/EFI/Linux/%{?-k:%{-k*}}%{!?-k:*}-%{KVERREL}%{?3:+%{3}}.efi\ %{expand:%%files %{?3:%{3}-}uki-virt-addons}\ %dir /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi.extra.d/ \ /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi.extra.d/*.addon.efi\ %endif\ %if %{?3:1} %{!?3:0}\ %{expand:%%files %{3}}\ %endif\ %if %{with_gcov}\ %ifnarch %nobuildarches noarch\ %{expand:%%files -f kernel-%{?3:%{3}-}gcov.list %{?3:%{3}-}gcov}\ %endif\ %endif\ %endif\ %{nil} %kernel_variant_files %{_use_vdso} %{with_up_base} %if %{with_up} %kernel_variant_files %{_use_vdso} %{with_debug} debug %endif %if %{with_arm64_16k} %kernel_variant_files %{_use_vdso} %{with_debug} 16k-debug %endif %if %{with_arm64_64k} %kernel_variant_files %{_use_vdso} %{with_debug} 64k-debug %endif %kernel_variant_files %{_use_vdso} %{with_realtime_base} rt %if %{with_realtime} %kernel_variant_files %{_use_vdso} %{with_debug} rt-debug %endif %kernel_variant_files %{_use_vdso} %{with_automotive_base} automotive %if %{with_automotive} %kernel_variant_files %{_use_vdso} %{with_debug} automotive-debug %endif %if %{with_debug_meta} %files debug %files debug-core %files debug-devel %files debug-devel-matched %files debug-modules %files debug-modules-core %files debug-modules-extra %if %{with_arm64_16k} %files 16k-debug %files 16k-debug-core %files 16k-debug-devel %files 16k-debug-devel-matched %files 16k-debug-modules %files 16k-debug-modules-extra %endif %if %{with_arm64_64k} %files 64k-debug %files 64k-debug-core %files 64k-debug-devel %files 64k-debug-devel-matched %files 64k-debug-modules %files 64k-debug-modules-extra %endif %endif %kernel_variant_files %{_use_vdso} %{with_zfcpdump} zfcpdump %kernel_variant_files %{_use_vdso} %{with_arm64_16k_base} 16k %kernel_variant_files %{_use_vdso} %{with_arm64_64k_base} 64k %kernel_variant_files %{_use_vdso} %{with_realtime_arm64_64k_base} rt-64k %if %{with_realtime_arm64_64k} %kernel_variant_files %{_use_vdso} %{with_debug} rt-64k-debug %endif %files modules-extra-matched # plz don'\''t put in a version string unless you'\''re going to tag # and build. # # %changelog * Fri Jun 27 2025 Justin M. Forbes [6.15.4-0] - redhat: Restore the status quo wrt memory onlining (Vitaly Kuznetsov) [2375049] - Linux v6.15.4 * Thu Jun 19 2025 Justin M. Forbes [6.15.3-0] - ACPICA: Refuse to evaluate a method if arguments are missing (Rafael J. Wysocki) - Linux v6.15.3 * Fri Jun 13 2025 Justin M. Forbes [6.15.2-0] - wifi: ath12k: support MLO as well if single_chip_mlo_support flag is set (Baochen Qiang) - wifi: ath12k: use fw_features only when it is valid (Baochen Qiang) - wifi: ath12k: introduce ath12k_fw_feature_supported() (Baochen Qiang) - aarch64: Switch TI_SCI_CLK and TI_SCI_PM_DOMAINS symbols to built-in (Peter Robinson) - redhat/configs: fedora: set some qcom clk, icc, and pinctrl drivers to built in (Brian Masney) * Tue Jun 10 2025 Justin M. Forbes [6.15.2-0] - Revert "drm/amd/display: more liberal vmin/vmax update for freesync" (Justin M. Forbes) - Linux v6.15.2 * Wed Jun 04 2025 Justin M. Forbes [6.15.1-0] - arm64: dts: rockchip: Drop assigned-clock* from cpu nodes on rk3588 (Diederik de Haas) - arm64: dts: rockchip: Improve LED config for NanoPi R5S (Diederik de Haas) - arm64: dts: rockchip: Move rk3568 PCIe3 MSI to use GIC ITS (Chukun Pan) - arm64: dts: rockchip: Update eMMC for NanoPi R5 series (Peter Robinson) - arm64: dts: rockchip: Add vcc-supply to SPI flash on rk3566-rock3c (Peter Robinson) - arm64: dts: rockchip: Add vcc-supply to SPI flash on rk3566-quartz64-b (Diederik de Haas) - arm64: dts: rockchip: Add phy-supply to gmac0 on NanoPi R5S (Diederik de Haas) - arm64: dts: rockchip: Add vcc-supply to SPI flash on rk3588-rock-5b (Diederik de Haas) - arm64: dts: rockchip: Add vcc-supply to SPI flash on rk3399-rockpro64 (Diederik de Haas) - arm64: dts: rockchip: Add vcc-supply to SPI flash on rk3328-rock64 (Diederik de Haas) - arm64: dts: rockchip: Move SHMEM memory to reserved memory on rk3588 (Chukun Pan) - arm64: dts: rockchip: Add gmac phy reset GPIO to QNAP TS433 (Uwe Kleine-König) - arm64: dts: rockchip: Correct gmac phy address on QNAP TS433 (Uwe Kleine-König) - Reset build id for fedora-srpm script (Justin M. Forbes) - redhat/configs: Add configs for new ov02c10 and ov02e10 drivers (Hans de Goede) - media: i2c: Add Omnivision OV02C10 sensor driver (Heimir Thor Sverrisson) - media: i2c: ov02e10: add OV02E10 image sensor driver (Jingjing Xiong) - platform/x86: int3472: Debug log when remapping pins (Hans de Goede) - platform/x86: int3472: Add handshake pin support (Hans de Goede) - platform/x86: int3472: Prepare for registering more than 1 GPIO regulator (Hans de Goede) - platform/x86: int3472: Avoid GPIO regulator spikes (Hans de Goede) - platform/x86: int3472: Make regulator supply name configurable (Hans de Goede) - platform/x86: int3472: Rework AVDD second sensor quirk handling (Hans de Goede) - platform/x86: int3472: Drop unused gpio field from struct int3472_gpio_regulator (Hans de Goede) - platform/x86: int3472: Stop setting a supply-name for GPIO regulators (Hans de Goede) - platform/x86: int3472: Add skl_int3472_register_clock() helper (Hans de Goede) - powerpc: Fix struct termio related ioctl macros (Madhavan Srinivasan) - Initial setup for stable Fedora releases (Justin M. Forbes) - Reset RHEL_RELEASE for the 6.16 cycle (Justin M. Forbes) - fedora: add '\''fedora'\'' SBAT suffix for UKI addons (Li Tian) - redhat: add downstream SBAT for UKI addons (Emanuele Giuseppe Esposito) - uki_addons: provide custom SBAT as input parameter (Emanuele Giuseppe Esposito) - uki_addons: remove completely sbat/sbat.conf (Emanuele Giuseppe Esposito) - Linux v6.15.1 * Mon May 26 2025 Fedora Kernel Team [6.15.0-60] - Consolidate configs to common for 6.15 (Justin M. Forbes) - Linux v6.15.0 * Thu May 22 2025 Fedora Kernel Team [6.15.0-0.rc7.d608703fcdd9.59] - Linux v6.15.0-0.rc7.d608703fcdd9 * Wed May 21 2025 Fedora Kernel Team [6.15.0-0.rc7.4a95bc121ccd.58] - redhat/configs: automotive: enable MHI_BUS_EP (Eric Chanudet) - Fix PHYSICAL_ALIGN for x86 Fedora (Justin M. Forbes) - Switch ZSWAP_ZPOOL_DEFAULT to ZSMALLOC as ZBUD has been removed (Justin M. Forbes) - redhat: configs: rhel: Enable CX231XX drivers (Kate Hsuan) - configs: add redhat/configs/common/generic/CONFIG_OBJTOOL_WERROR (Ryan Sullivan) [RHEL-85301] - redhat: make ENABLE_WERROR also enable OBJTOOL_WERROR (Ryan Sullivan) [RHEL-85301] - redhat/configs: Enable CONFIG_X86_POSTED_MSI (Jerry Snitselaar) - Linux v6.15.0-0.rc7.4a95bc121ccd * Mon May 19 2025 Fedora Kernel Team [6.15.0-0.rc7.57] - redhat/configs: remove CRC16 config files (Scott Weaver) - Linux v6.15.0-0.rc7 * Sun May 18 2025 Fedora Kernel Team [6.15.0-0.rc6.5723cc3450bc.56] - Revert CONFIG_GENKSYMS in pending for x86 (Justin M. Forbes) - Linux v6.15.0-0.rc6.5723cc3450bc * Sat May 17 2025 Fedora Kernel Team [6.15.0-0.rc6.172a9d94339c.55] - Linux v6.15.0-0.rc6.172a9d94339c * Fri May 16 2025 Fedora Kernel Team [6.15.0-0.rc6.fee3e843b309.54] - Linux v6.15.0-0.rc6.fee3e843b309 * Thu May 15 2025 Fedora Kernel Team [6.15.0-0.rc6.088d13246a46.53] - Flip GENKSYMS for RHEL (Justin M. Forbes) - Linux v6.15.0-0.rc6.088d13246a46 * Thu May 15 2025 Fedora Kernel Team [6.15.0-0.rc6.9f35e33144ae.52] - Move MITIGATION_ITS to the x86 directory (Justin M. Forbes) - Set MITIGATION_ITS for Fedora (Justin M. Forbes) - Fedora: arm: Updates for QCom devices (Souradeep Chowdhury) * Wed May 14 2025 Fedora Kernel Team [6.15.0-0.rc6.9f35e33144ae.51] - redhat/configs: Explicitly disable CONFIG_VIRTIO_MEM on powerpc in RHEL (Thomas Huth) - redhat/configs: Consolidate the CONFIG_AP_DEBUG config switch (Thomas Huth) - Linux v6.15.0-0.rc6.9f35e33144ae * Tue May 13 2025 Fedora Kernel Team [6.15.0-0.rc6.e9565e23cd89.50] - Set Fedora configs for 6.15 (Justin M. Forbes) - Linux v6.15.0-0.rc6.e9565e23cd89 * Mon May 12 2025 Fedora Kernel Team [6.15.0-0.rc6.49] - Shorten the uname for git snapshots (Justin M. Forbes) - Linux v6.15.0-0.rc6 * Sun May 11 2025 Fedora Kernel Team [6.15.0-0.rc5.3ce9925823c7.48] - Linux v6.15.0-0.rc5.3ce9925823c7 * Sat May 10 2025 Fedora Kernel Team [6.15.0-0.rc5.1a33418a69cc.47] - nvme: explicitly enable the nvme keyring (Maurizio Lombardi) - Linux v6.15.0-0.rc5.1a33418a69cc * Fri May 09 2025 Fedora Kernel Team [6.15.0-0.rc5.9c69f8884904.46] - Enable the gs_usb CAN bus driver in RHEL (Radu Rendec) - Stop disabling some modules needed to run on Azure (Pierre-Yves Chibon) - redhat/configs: enable ACPI_DEBUG on non-debug kernels (Mark Langsdorf) - specfile: add with_toolsonly variable to build only tools packages (Clark Williams) - redhat/configs: Enable CONFIG_TYPEC_TBT_ALTMODE in RHEL (Desnes Nunes) [RHEL-78931] - Linux v6.15.0-0.rc5.9c69f8884904 * Thu May 08 2025 Fedora Kernel Team [6.15.0-0.rc5.d76bb1ebb558.45] - Linux v6.15.0-0.rc5.d76bb1ebb558 * Wed May 07 2025 Fedora Kernel Team [6.15.0-0.rc5.0d8d44db295c.44] - Linux v6.15.0-0.rc5.0d8d44db295c * Tue May 06 2025 Fedora Kernel Team [6.15.0-0.rc5.01f95500a162.43] - Linux v6.15.0-0.rc5.01f95500a162 * Mon May 05 2025 Fedora Kernel Team [6.15.0-0.rc5.42] - Linux v6.15.0-0.rc5 * Sun May 04 2025 Fedora Kernel Team [6.15.0-0.rc4.e8ab83e34bdc.41] - Linux v6.15.0-0.rc4.e8ab83e34bdc * Sat May 03 2025 Fedora Kernel Team [6.15.0-0.rc4.95d3481af6dc.40] - Turn on ACPI_DEBUG for Fedora (Justin M. Forbes) - redhat: fix kernel-rt-kvm package removal for Fedora (Thorsten Leemhuis) - Linux v6.15.0-0.rc4.95d3481af6dc * Fri May 02 2025 Fedora Kernel Team [6.15.0-0.rc4.ebd297a2affa.39] - redhat/configs: aarch64: Enable Apple touchbar display driver for Fedora (Neal Gompa) - Linux v6.15.0-0.rc4.ebd297a2affa * Thu May 01 2025 Fedora Kernel Team [6.15.0-0.rc4.4f79eaa2ceac.38] - redhat: remove kernel-rt-kvm package (Clark Williams) - redhat: introduce modules-extra-matched meta package (Jan Stancek) - Fix up some Netfilter configs for Fedora (Justin M. Forbes) - Turn NF_CT_NETLINK_TIMEOUT for Fedora (Justin M. Forbes) - Turn on NF_CONNTRACK_TIMEOUT for Fedora (Justin M. Forbes) - Linux v6.15.0-0.rc4.4f79eaa2ceac * Wed Apr 30 2025 Fedora Kernel Team [6.15.0-0.rc4.b6ea1680d0ac.37] - redhat/configs: Adjust CONFIG_TUNE for s390x (Mete Durlu) - Linux v6.15.0-0.rc4.b6ea1680d0ac * Tue Apr 29 2025 Fedora Kernel Team [6.15.0-0.rc4.ca91b9500108.36] - redhat/spec: fix selftests dependencies (Gregory Bell) [RHEL-88228] - redhat: add namespace selftests to kernel-modules-internal package (Joel Savitz) [RHEL-88635] - Turn off CONFIG_PCI_REALLOC_ENABLE_AUTO for Fedora (Justin M. Forbes) - Linux v6.15.0-0.rc4.ca91b9500108 * Mon Apr 28 2025 Fedora Kernel Team [6.15.0-0.rc4.35] - Linux v6.15.0-0.rc4 * Sun Apr 27 2025 Fedora Kernel Team [6.15.0-0.rc3.5bc1018675ec.34] - Linux v6.15.0-0.rc3.5bc1018675ec * Sat Apr 26 2025 Fedora Kernel Team [6.15.0-0.rc3.f1a3944c860b.33] - Linux v6.15.0-0.rc3.f1a3944c860b * Fri Apr 25 2025 Fedora Kernel Team [6.15.0-0.rc3.02ddfb981de8.32] - gitlab-ci: enable pipelines for rt-64k (Clark Williams) - rt-64k: Enable building 64k page-size RT kernel (Clark Williams) - Linux v6.15.0-0.rc3.02ddfb981de8 * Thu Apr 24 2025 Fedora Kernel Team [6.15.0-0.rc3.a79be02bba5c.31] - redhat: drop Y issues from changelog (Jan Stancek) - redhat/configs: Update the CONFIG_KERNEL_IMAGE_BASE kernel config option (Thomas Huth) - redhat/configs: Remove the obsolete CONFIG_ZCRYPT_DEBUG switches (Thomas Huth) - redhat/configs: Consolidate the CONFIG_AP switch (Thomas Huth) - Linux v6.15.0-0.rc3.a79be02bba5c * Wed Apr 23 2025 Fedora Kernel Team [6.15.0-0.rc3.bc3372351d0c.30] - Linux v6.15.0-0.rc3.bc3372351d0c * Tue Apr 22 2025 Fedora Kernel Team [6.15.0-0.rc3.a33b5a08cbbd.29] - fedora: updates for 6.15 (Peter Robinson) - redhat/configs: Disable CONFIG_COMPAT option on s390 (Mete Durlu) [RHEL-24047] - Linux v6.15.0-0.rc3.a33b5a08cbbd * Mon Apr 21 2025 Fedora Kernel Team [6.15.0-0.rc3.9d7a0577c9db.28] - Linux v6.15.0-0.rc3.9d7a0577c9db * Sun Apr 20 2025 Fedora Kernel Team [6.15.0-0.rc2.6fea5fabd332.27] - Linux v6.15.0-0.rc2.6fea5fabd332 * Sat Apr 19 2025 Fedora Kernel Team [6.15.0-0.rc2.8560697b23dc.26] - uki: Add weak dependency on '\''uki-direct'\'' (Vitaly Kuznetsov) - redhat/kernel.spec: fix duplicate packaging of ynl headers (Jan Stancek) - Enable FunctionFS on aarch64 + x86 (Sam Day) - Linux v6.15.0-0.rc2.8560697b23dc * Fri Apr 18 2025 Fedora Kernel Team [6.15.0-0.rc2.fc96b232f8e7.25] - Turn on USB Gadget for Fedora x86 (Justin M. Forbes) - Linux v6.15.0-0.rc2.fc96b232f8e7 * Thu Apr 17 2025 Fedora Kernel Team [6.15.0-0.rc2.cfb2e2c57aef.24] - redhat: enable drm panic screen with a QR code (Scott Weaver) - redhat: enable Rust code in ELN (Scott Weaver) - redhat: strip leading '\''('\'' in dist-get-buildreqs (Jan Stancek) - Linux v6.15.0-0.rc2.cfb2e2c57aef * Wed Apr 16 2025 Fedora Kernel Team [6.15.0-0.rc2.1a1d569a75f3.23] - Linux v6.15.0-0.rc2.1a1d569a75f3 * Tue Apr 15 2025 Fedora Kernel Team [6.15.0-0.rc2.834a4a689699.22] - Linux v6.15.0-0.rc2.834a4a689699 * Mon Apr 14 2025 Fedora Kernel Team [6.15.0-0.rc2.21] - Linux v6.15.0-0.rc2 * Sun Apr 13 2025 Fedora Kernel Team [6.15.0-0.rc1.7cdabafc0012.20] - Linux v6.15.0-0.rc1.7cdabafc0012 * Sat Apr 12 2025 Fedora Kernel Team [6.15.0-0.rc1.3bde70a2c827.19] - Linux v6.15.0-0.rc1.3bde70a2c827 * Fri Apr 11 2025 Fedora Kernel Team [6.15.0-0.rc1.900241a5cc15.18] - Linux v6.15.0-0.rc1.900241a5cc15 * Thu Apr 10 2025 Fedora Kernel Team [6.15.0-0.rc1.3b07108ada81.17] - Linux v6.15.0-0.rc1.3b07108ada81 * Wed Apr 09 2025 Fedora Kernel Team [6.15.0-0.rc1.a24588245776.16] - Fix up CONFIG_CRC_ITU_T mismatch (Scott Weaver) - Fix up CONFIG_CRC16 mismatch (Scott Weaver) - Linux v6.15.0-0.rc1.a24588245776 * Wed Apr 09 2025 Fedora Kernel Team [6.15.0-0.rc1.15] - redhat: remove kernel-ipaclones-internal package (Joe Lawrence) - redhat/kernel.spec.template: add net packetdrill selftests (Hangbin Liu) - redhat/kernel.spec.template: Build rtla with BPF sample collection (Tomas Glozar) * Tue Apr 08 2025 Fedora Kernel Team [6.15.0-0.rc1.14] - redhat/configs: automotive: Enable CONFIG_BOOTPARAM_HUNG_TASK_PANIC config (Dorinda Bassey) - samples/bpf: fix build (Gregory Bell) - redhat: create '\''systemd-volatile-overlay'\'' addon for UKI (Emanuele Giuseppe Esposito) * Mon Apr 07 2025 Fedora Kernel Team [6.15.0-0.rc1.13] - fedora: arm64: move some TI drivers to modular (Peter Robinson) - fedora: minor cleanups for 6.14 (Peter Robinson) - redhat/configs: enable CONFIG_I2C_MUX_PCA954x on x86 (Michal Schmidt) - Linux v6.15.0-0.rc1 * Sun Apr 06 2025 Fedora Kernel Team [6.15.0-0.rc0.f4d2ef48250a.12] - Linux v6.15.0-0.rc0.f4d2ef48250a * Sat Apr 05 2025 Fedora Kernel Team [6.15.0-0.rc0.a8662bcd2ff1.11] - Linux v6.15.0-0.rc0.a8662bcd2ff1 * Fri Apr 04 2025 Fedora Kernel Team [6.15.0-0.rc0.e48e99b6edf4.10] - Linux v6.15.0-0.rc0.e48e99b6edf4 * Thu Apr 03 2025 Fedora Kernel Team [6.15.0-0.rc0.a2cc6ff5ec8f.9] - redhat: bump RHEL_MAJOR (Jan Stancek) - redhat/configs: enable CONFIG_AMD_3D_VCACHE for x86 on RHEL (David Arcari) - Linux v6.15.0-0.rc0.a2cc6ff5ec8f ### # The following Emacs magic makes C-c C-e use UTC dates. # Local Variables: # rpm-change-log-uses-utc: t # End: ###' + sed -i 's|\([^%]\)%{?dist}|\1.patched%{?dist}|' /mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec + sed -i 's|%autorelease|%autorelease -e patched|' /mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec + sed -i 's|-S git_am|-S git|' /mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec + fedpkg srpm Using kernel.spec Downloading linux-6.15.4.tar.xz from https://src.fedoraproject.org/repo/pkgs Downloading kernel-abi-stablelists-6.15.4.tar.xz from https://src.fedoraproject.org/repo/pkgs Downloading kernel-kabi-dw-6.15.4.tar.xz from https://src.fedoraproject.org/repo/pkgs setting SOURCE_DATE_EPOCH=1750982400 Wrote: /mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel-6.15.4-200.patched.fc42.src.rpm + cp ./kernel-6.15.4-200.patched.fc42.src.rpm /mnt/safe-resultdir-8sx4uicf stderr: INFO: mock.py version 6.3 starting (python version = 3.13.3, NVR = mock-6.3-1.fc42), args: /usr/libexec/mock/mock --uniqueext 1751073699.379511 -r /var/lib/copr-rpmbuild/workspace/safe-resultdir-8sx4uicf/mock-source-build.cfg '--plugin-option=bind_mount:dirs=(("/var/lib/copr-rpmbuild/workspace/workdir-414s33bv", "/mnt/workdir-414s33bv"), ("/var/lib/copr-rpmbuild/workspace/safe-resultdir-8sx4uicf", "/mnt/safe-resultdir-8sx4uicf"))' --chroot 'set -x && cd /mnt/workdir-414s33bv/rpm-packages/kernel/upstream && echo -e "[safe] directory = /mnt/workdir-414s33bv/rpm-packages directory = /mnt/workdir-414s33bv/rpm-packages/*" > ~/.gitconfig && make -f /mnt/workdir-414s33bv/rpm-packages/.copr/Makefile srpm outdir="/mnt/safe-resultdir-8sx4uicf" spec="/mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec"' Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run Mock Version: 6.3 INFO: Mock Version: 6.3 Start: chroot init INFO: mounting tmpfs at /var/lib/mock/make-srpm-method-1751073699.379511/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (fallback) Start: installing minimal buildroot with dnf5 Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.6.0-1.fc42.aarch64 alternatives-1.33-1.fc42.aarch64 ansible-srpm-macros-1-17.1.fc42.noarch audit-libs-4.0.5-1.fc42.aarch64 basesystem-11-22.fc42.noarch bash-5.2.37-1.fc42.aarch64 binutils-2.44-3.fc42.aarch64 build-reproducibility-srpm-macros-0.6.0-1.fc42.noarch bzip2-1.0.8-20.fc42.aarch64 bzip2-libs-1.0.8-20.fc42.aarch64 ca-certificates-2024.2.69_v8.0.401-6.fc42.noarch coreutils-9.6-4.fc42.aarch64 coreutils-common-9.6-4.fc42.aarch64 cpio-2.15-4.fc42.aarch64 crypto-policies-20250214-1.gitff7551b.fc42.noarch curl-8.11.1-5.fc42.aarch64 cyrus-sasl-lib-2.1.28-30.fc42.aarch64 debugedit-5.1-6.fc42.aarch64 diffutils-3.12-1.fc42.aarch64 dnf5-5.2.13.1-1.fc42.aarch64 dwz-0.16-1.fc42.aarch64 ed-1.21-2.fc42.aarch64 efi-srpm-macros-6-3.fc42.noarch elfutils-0.193-2.fc42.aarch64 elfutils-debuginfod-client-0.193-2.fc42.aarch64 elfutils-default-yama-scope-0.193-2.fc42.noarch elfutils-libelf-0.193-2.fc42.aarch64 elfutils-libs-0.193-2.fc42.aarch64 fedora-gpg-keys-42-1.noarch fedora-release-42-26.noarch fedora-release-common-42-26.noarch fedora-release-identity-basic-42-26.noarch fedora-repos-42-1.noarch file-5.46-3.fc42.aarch64 file-libs-5.46-3.fc42.aarch64 filesystem-3.18-42.fc42.aarch64 filesystem-srpm-macros-3.18-42.fc42.noarch findutils-4.10.0-5.fc42.aarch64 fmt-11.1.4-1.fc42.aarch64 fonts-srpm-macros-2.0.5-22.fc42.noarch forge-srpm-macros-0.4.0-2.fc42.noarch fpc-srpm-macros-1.3-14.fc42.noarch gawk-5.3.1-1.fc42.aarch64 gdb-minimal-16.3-1.fc42.aarch64 gdbm-libs-1.23-9.fc42.aarch64 ghc-srpm-macros-1.9.2-2.fc42.noarch glib2-2.84.2-1.fc42.aarch64 glibc-2.41-7.fc42.aarch64 glibc-common-2.41-7.fc42.aarch64 glibc-gconv-extra-2.41-7.fc42.aarch64 glibc-minimal-langpack-2.41-7.fc42.aarch64 gmp-6.3.0-4.fc42.aarch64 gnat-srpm-macros-6-7.fc42.noarch gnutls-3.8.9-3.fc42.aarch64 go-srpm-macros-3.6.0-6.fc42.noarch gpg-pubkey-105ef944-65ca83d1 grep-3.11-10.fc42.aarch64 gzip-1.13-3.fc42.aarch64 info-7.2-3.fc42.aarch64 jansson-2.14-2.fc42.aarch64 json-c-0.18-2.fc42.aarch64 kernel-srpm-macros-1.0-25.fc42.noarch keyutils-libs-1.6.3-5.fc42.aarch64 krb5-libs-1.21.3-6.fc42.aarch64 libacl-2.3.2-3.fc42.aarch64 libarchive-3.7.7-4.fc42.aarch64 libattr-2.5.2-5.fc42.aarch64 libblkid-2.40.4-7.fc42.aarch64 libbrotli-1.1.0-6.fc42.aarch64 libcap-2.73-2.fc42.aarch64 libcap-ng-0.8.5-4.fc42.aarch64 libcom_err-1.47.2-3.fc42.aarch64 libcurl-8.11.1-5.fc42.aarch64 libdnf5-5.2.13.1-1.fc42.aarch64 libdnf5-cli-5.2.13.1-1.fc42.aarch64 libeconf-0.7.6-2.fc42.aarch64 libevent-2.1.12-15.fc42.aarch64 libfdisk-2.40.4-7.fc42.aarch64 libffi-3.4.6-5.fc42.aarch64 libgcc-15.1.1-2.fc42.aarch64 libgomp-15.1.1-2.fc42.aarch64 libidn2-2.3.8-1.fc42.aarch64 libmodulemd-2.15.2-1.fc42.aarch64 libmount-2.40.4-7.fc42.aarch64 libnghttp2-1.64.0-3.fc42.aarch64 libpkgconf-2.3.0-2.fc42.aarch64 libpsl-0.21.5-5.fc42.aarch64 librepo-1.19.0-3.fc42.aarch64 libselinux-3.8-2.fc42.aarch64 libsemanage-3.8.1-2.fc42.aarch64 libsepol-3.8-1.fc42.aarch64 libsmartcols-2.40.4-7.fc42.aarch64 libsolv-0.7.33-1.fc42.aarch64 libssh-0.11.2-1.fc42.aarch64 libssh-config-0.11.2-1.fc42.noarch libstdc++-15.1.1-2.fc42.aarch64 libtasn1-4.20.0-1.fc42.aarch64 libtool-ltdl-2.5.4-4.fc42.aarch64 libunistring-1.1-9.fc42.aarch64 libuuid-2.40.4-7.fc42.aarch64 libverto-0.3.2-10.fc42.aarch64 libxcrypt-4.4.38-7.fc42.aarch64 libxml2-2.12.10-1.fc42.aarch64 libyaml-0.2.5-16.fc42.aarch64 libzstd-1.5.7-1.fc42.aarch64 lua-libs-5.4.8-1.fc42.aarch64 lua-srpm-macros-1-15.fc42.noarch lz4-libs-1.10.0-2.fc42.aarch64 make-4.4.1-10.fc42.aarch64 mpfr-4.2.2-1.fc42.aarch64 ncurses-base-6.5-5.20250125.fc42.noarch ncurses-libs-6.5-5.20250125.fc42.aarch64 nettle-3.10.1-1.fc42.aarch64 ocaml-srpm-macros-10-4.fc42.noarch openblas-srpm-macros-2-19.fc42.noarch openldap-2.6.9-3.fc42.aarch64 openssl-libs-3.2.4-3.fc42.aarch64 p11-kit-0.25.5-5.fc42.aarch64 p11-kit-trust-0.25.5-5.fc42.aarch64 package-notes-srpm-macros-0.5-13.fc42.noarch pam-libs-1.7.0-6.fc42.aarch64 patch-2.8-1.fc42.aarch64 pcre2-10.45-1.fc42.aarch64 pcre2-syntax-10.45-1.fc42.noarch perl-srpm-macros-1-57.fc42.noarch pkgconf-2.3.0-2.fc42.aarch64 pkgconf-m4-2.3.0-2.fc42.noarch pkgconf-pkg-config-2.3.0-2.fc42.aarch64 popt-1.19-8.fc42.aarch64 publicsuffix-list-dafsa-20250616-1.fc42.noarch pyproject-srpm-macros-1.18.1-1.fc42.noarch python-srpm-macros-3.13-4.fc42.noarch qt5-srpm-macros-5.15.17-1.fc42.noarch qt6-srpm-macros-6.9.1-1.fc42.noarch readline-8.2-13.fc42.aarch64 redhat-rpm-config-342-4.fc42.noarch rpm-4.20.1-1.fc42.aarch64 rpm-build-4.20.1-1.fc42.aarch64 rpm-build-libs-4.20.1-1.fc42.aarch64 rpm-libs-4.20.1-1.fc42.aarch64 rpm-sequoia-1.7.0-5.fc42.aarch64 rust-srpm-macros-26.3-4.fc42.noarch sdbus-cpp-1.5.0-4.fc42.aarch64 sed-4.9-4.fc42.aarch64 setup-2.15.0-13.fc42.noarch shadow-utils-4.17.4-1.fc42.aarch64 sqlite-libs-3.47.2-2.fc42.aarch64 systemd-libs-257.6-1.fc42.aarch64 systemd-standalone-sysusers-257.6-1.fc42.aarch64 tar-1.35-5.fc42.aarch64 tree-sitter-srpm-macros-0.1.0-8.fc42.noarch unzip-6.0-66.fc42.aarch64 util-linux-2.40.4-7.fc42.aarch64 util-linux-core-2.40.4-7.fc42.aarch64 which-2.23-2.fc42.aarch64 xxhash-libs-0.8.3-2.fc42.aarch64 xz-5.8.1-2.fc42.aarch64 xz-libs-5.8.1-2.fc42.aarch64 zchunk-libs-1.5.1-2.fc42.aarch64 zig-srpm-macros-1-4.fc42.noarch zip-3.0-43.fc42.aarch64 zlib-ng-compat-2.2.4-3.fc42.aarch64 zstd-1.5.7-1.fc42.aarch64 INFO: Running in chroot: ['set -x && cd /mnt/workdir-414s33bv/rpm-packages/kernel/upstream && echo -e "[safe]\ndirectory = /mnt/workdir-414s33bv/rpm-packages\ndirectory = /mnt/workdir-414s33bv/rpm-packages/*" > ~/.gitconfig && make -f /mnt/workdir-414s33bv/rpm-packages/.copr/Makefile srpm outdir="/mnt/safe-resultdir-8sx4uicf" spec="/mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec"'] Start: unpacking root cache Finish: unpacking root cache Start: chroot ['set -x && cd /mnt/workdir-414s33bv/rpm-packages/kernel/upstream && echo -e "[safe]\ndirectory = /mnt/workdir-414s33bv/rpm-packages\ndirectory = /mnt/workdir-414s33bv/rpm-packages/*" > ~/.gitconfig && make -f /mnt/workdir-414s33bv/rpm-packages/.copr/Makefile srpm outdir="/mnt/safe-resultdir-8sx4uicf" spec="/mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec"'] Finish: chroot ['set -x && cd /mnt/workdir-414s33bv/rpm-packages/kernel/upstream && echo -e "[safe]\ndirectory = /mnt/workdir-414s33bv/rpm-packages\ndirectory = /mnt/workdir-414s33bv/rpm-packages/*" > ~/.gitconfig && make -f /mnt/workdir-414s33bv/rpm-packages/.copr/Makefile srpm outdir="/mnt/safe-resultdir-8sx4uicf" spec="/mnt/workdir-414s33bv/rpm-packages/kernel/upstream/kernel.spec"'] Finish: run INFO: unmounting tmpfs. Output: ['kernel-6.15.4-200.patched.fc42.src.rpm', 'mock-source-build.cfg'] Running SRPMResults tool Package info: { "name": "kernel", "epoch": null, "version": "6.15.4", "release": "200.patched", "exclusivearch": [ "noarch", "x86_64", "s390x", "aarch64", "ppc64le", "riscv64" ], "excludearch": [] } SRPMResults finished