From: Don Zickus <dzickus(a)redhat.com>
Add wildcard macros -baseonly -gcov
There are multiple usecases for -baseonly and -gcov on various
targets in the Makefile. Instead of calling those targets out
repeatedly, lets generalize them a bit.
Allow adding -baseonly and -gcov to:
dist-rpm
dist-srpm
dist-brew
dist-koji
distg-brew
distg-koji
Gcov is useful for adding code coverage. Baseonly is useful to only
build the kernel for debugging purposes without userspace tools.
Signed-off-by: Don Zickus <dzickus(a)redhat.com>
diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -297,6 +297,12 @@ dist-sources: dist-kabi dist-kabi-dup sources-rh
dist-test-patch: generate-testpatch-tmp
@mv $(TESTPATCH).tmp $(TESTPATCH);
+%-baseonly: RPMBUILDOPTS=--target $(MACH) --without debug --without debuginfo --without vdso_install --without bpftool --without perf --without tools --without selftests -bb
+%-baseonly: BUILDOPTS+=-debug -debuginfo -vdso_install -bpftool -perf -tools -selftests
+
+%-gcov: BUILDID=".gcov"
+%-gcov: BUILDOPTS+="+gcov"
+
do-rpmbuild: dist-sources
$(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" $(RPMBUILDOPTS) $(RPM)/SOURCES/$(PACKAGE_NAME).spec
@@ -306,9 +312,9 @@ dist-all-rpms: dist-sources do-rpmbuild
dist-srpm: RPMBUILDOPTS=--nodeps -bs
dist-srpm: dist-sources do-rpmbuild
-dist-srpm-gcov: BUILDID=".gcov"
-dist-srpm-gcov: BUILDOPTS+="+gcov"
-dist-srpm-gcov: dist-srpm
+dist-srpm-%: dist-srpm
+ @# phony command to force this to be a target and not variable
+ @FOO=BAR
dist-rpms: RPMBUILDOPTS=--target $(MACH) -bb
dist-rpms: dist-sources do-rpmbuild
@@ -322,8 +328,7 @@ dist-prep: dist-sources do-rpmbuild
dist-perf: RPMBUILDOPTS=--without up --without smp --without zfcpdump --without debug --without doc --without headers --without --without doc --without debuginfo --target $(MACH) -bb
dist-perf: dist-sources do-rpmbuild
-dist-rpm-baseonly: RPMBUILDOPTS=--target $(MACH) --without debug --without debuginfo --without vdso_install --without bpftool --without perf --without tools -bb
-dist-rpm-baseonly: dist-sources do-rpmbuild
+dist-rpm-%: dist-sources do-rpmbuild
# unless you know what you're doing, you don't want to use the next four ones
dist-release-finish: setup-source
@@ -388,9 +393,25 @@ distg-koji: BUILD_FLAGS ?= $(KOJI_FLAGS) $(TEST_FLAGS)
dist-brew dist-koji: dist-%: dist-srpm
$* $(BUILD_PROFILE) build $(BUILD_FLAGS) $(BUILD_TARGET) $(SRPMS)/$(PACKAGE_NAME)-$(KVERSION)-$(PKGRELEASE)$(DIST).src.rpm $(OUTPUT_FILE)
+dist-brew-%: dist-brew
+ @# phony command to force this to be a target and not variable
+ @FOO=BAR
+
+dist-koji-%: dist-koji
+ @# phony command to force this to be a target and not variable
+ @FOO=BAR
+
distg-brew distg-koji: distg-%:
$* $(BUILD_PROFILE) build $(BUILD_FLAGS) $(BUILD_TARGET) "$(RHGITURL)?redhat/koji#$(RHGITCOMMIT)"
+distg-brew-%: dist-brew
+ @# phony command to force this to be a target and not variable
+ @FOO=BAR
+
+distg-koji-%: dist-koji
+ @# phony command to force this to be a target and not variable
+ @FOO=BAR
+
.PHONY: $(REDHAT)/rpm/SOURCES/$(PACKAGE_NAME).spec
$(REDHAT)/rpm/SOURCES/$(PACKAGE_NAME).spec:
@echo "dist-sources"
@@ -469,34 +490,30 @@ dist-full-help:
@echo 'Building targets:'
@echo ' All RPM/SRPM files will be put under the redhat/rpm/ directory.'
@echo ''
- @echo ' dist-srpm - Create a source RPM and put it into the redhat/rpm/SRPMS/'
+ @echo ' dist-srpm@ - Create a source RPM and put it into the redhat/rpm/SRPMS/'
@echo ' directory. See the dist-brew target for available options.'
- @echo ' dist-srpm-gcov - Create a source RPM with gcov enabled and put it into the'
- @echo ' redhat/rpm/SRPMS/ directory.'
- @echo ' dist-brew - Create a kernel SRPM and then call brew to build the'
+ @echo ' dist-brew@ - Create a kernel SRPM and then call brew to build the'
@echo ' created SRPM. Add BUILDOPTS="+<opt> -<opt> [...]" to'
@echo ' enable/disable build options.'
@echo ' Available <opt>s and their default values:' \
$$(sed -n -e 's/^%define with_\([^ \t]*\).*\?_without_.*/+\1/p' \
-e 's/^%define with_\([^ \t]*\).*\?_with_.*/-\1/p' kernel.spec.template | \
grep -v 'only$$') | fmt -80
- @echo ' dist-koji - Create a kernel SRPM and then call koji to build the'
+ @echo ' dist-koji@ - Create a kernel SRPM and then call koji to build the'
@echo ' created SRPM. See the dist-brew target for available'
@echo ' options.'
- @echo ' distg-brew - Pass HEAD of the current git branch to brew to build an'
+ @echo ' distg-brew@ - Pass HEAD of the current git branch to brew to build an'
@echo ' RPM set. Do not forget to push to the remote repository'
@echo ' first. Preceed make command by RHGITCOMMIT=<commitID>'
@echo ' specify commit ID to use.'
@echo ' To set the remote repo, invoke:'
@echo ' git config rhg.url git://<repo_path>'
- @echo ' distg-koji - Pass HEAD of the current git branch to koji to build an'
+ @echo ' distg-koji@ - Pass HEAD of the current git branch to koji to build an'
@echo ' RPM set. Do not forget to push to the remote repository'
@echo ' first. See the distg-brew target for options and'
@echo ' configuration.'
- @echo ' dist-rpms - Create the binary RPMS for the kernel.'
+ @echo ' dist-rpms@ - Create the binary RPMS for the kernel.'
@echo ' See the dist-brew target for available options.'
- @echo ' dist-rpm-baseonly - Create the binary RPMS for the kernel and modules'
- @echo ' (no userspace tools or debuginfo).'
@echo ' dist-kernel-<type> - Create binary RPMS for a particular kernel type.'
@echo ' Available <type>s:'\
$$(sed -n 's/^%define with_\([^ ]*only\).*/\1/p' kernel.spec.template)
@@ -524,6 +541,12 @@ dist-full-help:
@echo ' dist-rhel-configs - build ELN configs'
@echo ' dist-fedora-configs - build Fedora configs'
+ @echo ''
+ @echo 'Wildcard targets: [indicated by '@' above]'
+ @echo ' *-baseonly - builds only the kernel (disables userspace and debuginfo)'
+ @echo ' - Examples: dist-srpm-baseonly, dist-brew-baseonly'
+ @echo ' *-gcov - builds a kernel with gcov enabled'
+ @echo ' - Examples: dist-srpm-gcov, dist-brew-gcov'
@echo ''
@echo 'kABI targets:'
@echo ' dist-kabi - Create kABI stablelist files in redhat/kabi/kabi-rhel*/'
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1444
From: Sabrina Dubroca on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1619
This MR introduces a new kABI macro, RH_KABI_EXCLUDE_WITH_SIZE. The
implementation is identical to RH_KABI_EXTEND_WITH_SIZE, but the meaning is
more in line with RH_KABI_EXCLUDE. The size check and reserved space allows us
to exclude an element embedded inside a kABI-protected structure while
reserving space for it to grow in the future.
The size checks that are part of multiple kABI macros are currently not
enabled because the config option to turn them on is missing. Those size
checks only make sense on regular builds, so they're disabled on debug
kernels.
Signed-off-by: Sabrina Dubroca <sdubroca(a)redhat.com>
---
include/linux/rh_kabi.h | 26 ++++++++++
redhat/configs/ark/debug/CONFIG_RH_KABI_SIZE_ALIGN_CHECKS | 1 +
redhat/configs/ark/generic/CONFIG_RH_KABI_SIZE_ALIGN_CHECKS | 1 +
redhat/configs/ark/kgcov/CONFIG_RH_KABI_SIZE_ALIGN_CHECKS | 1 +
redhat/configs/common/generic/CONFIG_RH_KABI_SIZE_ALIGN_CHECKS | 1 +
Kconfig.redhat | 9 +++
6 files changed, 39 insertions(+), 0 deletions(-)
From: pbrobinson on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2405
NOTE: Truncated patchset due to missing public @redhat.com email
address on your GitLab profile at https://gitlab.com/-/profile.
Once that is fixed, close and reopen the merge request to
retrigger sending the emails.
We retired the userspace wireless extensions, and in theory the kernel
interfaces, in Fedora 36 but there was one driver that people actively used
(the r8188eu in staging) but the rtl8xxxu driver now has support for all those
devices and in 6.3 that staging driver was removed from upstream. We can now
properly remove WEXT in the Fedora kernel. This is some minor cleanups and in
reality we only lose the ancient 802.11b hermes drivers which are unlikely to
be used by Fedora users now PowerMac and 32 bit x86 is long gone.
Signed-off-by: Peter Robinson <pbrobinson(a)redhat.com>
---
redhat/configs/rhel/generic/CONFIG_LIBERTAS => redhat/configs/common/generic/CONFIG_LIBERTAS | 0
redhat/configs/rhel/generic/CONFIG_WLAN_VENDOR_ZYDAS => redhat/configs/common/generic/CONFIG_WLAN_VENDOR_ZYDAS | 0
redhat/configs/fedora/generic/arm/armv7/CONFIG_LIBERTAS_SPI | 1 -
redhat/configs/fedora/generic/arm/CONFIG_HERMES | 1 -
redhat/configs/fedora/generic/x86/CONFIG_PCMCIA_HERMES | 1 -
redhat/configs/fedora/generic/CONFIG_HERMES | 2 +-
redhat/configs/fedora/generic/CONFIG_HERMES_CACHE_FW_ON_INIT | 1 -
redhat/configs/fedora/generic/CONFIG_HERMES_PRISM | 1 -
redhat/configs/fedora/generic/CONFIG_LIBERTAS | 1 -
redhat/configs/fedora/generic/CONFIG_LIBERTAS_CS | 1 -
redhat/configs/fedora/generic/CONFIG_LIBERTAS_DEBUG | 1 -
redhat/configs/fedora/generic/CONFIG_LIBERTAS_MESH | 1 -
redhat/configs/fedora/generic/CONFIG_LIBERTAS_SDIO | 1 -
redhat/configs/fedora/generic/CONFIG_LIBERTAS_SPI | 1 -
redhat/configs/fedora/generic/CONFIG_LIBERTAS_THINFIRM | 1 +
redhat/configs/fedora/generic/CONFIG_LIBERTAS_THINFIRM_DEBUG | 1 +
redhat/configs/fedora/generic/CONFIG_LIBERTAS_THINFIRM_USB | 1 +
redhat/configs/fedora/generic/CONFIG_LIBERTAS_USB | 1 -
redhat/configs/fedora/generic/CONFIG_NORTEL_HERMES | 1 -
redhat/configs/fedora/generic/CONFIG_PCI_HERMES | 1 -
redhat/configs/fedora/generic/CONFIG_PLX_HERMES | 1 -
redhat/configs/fedora/generic/CONFIG_TMD_HERMES | 1 -
redhat/configs/fedora/generic/CONFIG_USB_ZD1201 | 1 -
redhat/configs/fedora/generic/CONFIG_WLAN_VENDOR_ZYDAS | 1 -
24 files changed, 4 insertions(+), 19 deletions(-)
From: Mark Langsdorf <mlangsdo(a)redhat.com>
redhat/configs: enable ChromeOS ACPI driver
Provide a device interface for exporting ACPI data on x86 Chromebooks.
Signed-off-by: Mark Langsdorf <mlangsdo(a)redhat.com>
diff --git a/redhat/configs/ark/generic/arm/aarch64/CONFIG_CHROMEOS_ACPI b/redhat/configs/ark/generic/arm/aarch64/CONFIG_CHROMEOS_ACPI
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/ark/generic/arm/aarch64/CONFIG_CHROMEOS_ACPI
@@ -0,0 +1 @@
+CONFIG_CHROMEOS_ACPI=y
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2153
From: Vitaly Kuznetsov <vkuznets(a)redhat.com>
Include the information about builtin symbols into kernel-uki-virt package too
The information about builtin symbols: symvers, modules.builtin, System.map,
config and the auto generated RPM "Provides" may be required by e.g.
proprietary kernel modules and there's no reason why these can't be used
with UKI. Include the information to kernel-uki-virt package in parallel
with kernel-core so both these packages can be used to resolve the
dependency if needed.
Signed-off-by: Vitaly Kuznetsov <vkuznets(a)redhat.com>
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -3360,6 +3360,10 @@ fi
%endif\
%if %{with_efiuki}\
%{expand:%%files %{?3:%{3}-}uki-virt}\
+%attr(0600, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin*\
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi\
%ghost /%{image_install_path}/efi/EFI/Linux/%{?-k:%{-k*}}%{!?-k:*}-%{KVERREL}%{?3:+%{3}}.efi\
%endif\
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2408
From: Felix Maurer on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2422
Improve the packaging process of the no_alu32 bpf selftests. They need a
link to the bpftool binary (this change is already in centos-stream-9
but now added to kernel-ark) and the test_progs-no_alu32 needs to have
symbols, i.e., must not be stripped.
Signed-off-by: Felix Maurer <fmaurer(a)redhat.com>
---
redhat/kernel.spec.template | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
From: Scott Mayhew <smayhew(a)redhat.com>
redhat/configs: update RPCSEC_GSS_KRB5 configs
We plan to support Camellia and AES-SHA2 in RHEL 9. Update the ARK
configs to match.
Signed-off-by: Scott Mayhew <smayhew(a)redhat.com>
diff --git a/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 b/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2
index blahblah..blahblah 100644
--- a/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2
+++ b/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2
@@ -1 +1 @@
-# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y
diff --git a/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA b/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA
index blahblah..blahblah 100644
--- a/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA
+++ b/redhat/configs/fedora/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA
@@ -1 +1 @@
-# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA=y
diff --git a/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 b/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2
index blahblah..blahblah 100644
--- a/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2
+++ b/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2
@@ -1 +1 @@
-# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y
diff --git a/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA b/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA
index blahblah..blahblah 100644
--- a/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA
+++ b/redhat/configs/rhel/generic/CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA
@@ -1 +1 @@
-# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA=y
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2420
From: Justin M. Forbes <jforbes(a)fedoraproject.org>
Remove EXPERT from ARCH_FORCE_MAX_ORDER for aarch64
Upstream commit 34affcd7577a232803f729d1870ba475f294e4ea has hidden this
behind EXPERT with a very different value (10) than we have been using
(13). While I am still making the case to revert this patch upstream,
let's at least drop the EXPERT requirement so our current configs will
continue to work.
Signed-off-by: Justin M. Forbes <jforbes(a)fedoraproject.org>
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index blahblah..blahblah 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1516,7 +1516,7 @@ config XEN
# 16K | 27 | 14 | 13 | 11 |
# 64K | 29 | 16 | 13 | 13 |
config ARCH_FORCE_MAX_ORDER
- int "Order of maximal physically contiguous allocations" if EXPERT && (ARM64_4K_PAGES || ARM64_16K_PAGES)
+ int "Order of maximal physically contiguous allocations" if ARM64_4K_PAGES || ARM64_16K_PAGES
default "13" if ARM64_64K_PAGES
default "11" if ARM64_16K_PAGES
default "10"
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2450
From: Justin M. Forbes <jforbes(a)fedoraproject.org>
Change FORCE_MAX_ORDER for ppc64 to be 8
Upstream commit 23baf831a32c0 redefined MAX_ORDER a bit. Now the max
range for PPC_64K_PAGES is 8. With allocations being up to MAX_ORDER
now instead of MAX_ORDER - 1, this is functionally equivelant to our old
definition.
Signed-off-by: Justin M. Forbes <jforbes(a)fedoraproject.org>
diff --git a/redhat/configs/common/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER b/redhat/configs/common/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER
new file mode 100644
index blahblah..blahblah 100644
--- /dev/null
+++ b/redhat/configs/common/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER
@@ -0,0 +1 @@
+CONFIG_ARCH_FORCE_MAX_ORDER=8
diff --git a/redhat/configs/fedora/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER b/redhat/configs/fedora/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER
deleted file mode 100644
index blahblah..blahblah 0
--- a/redhat/configs/fedora/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_ARCH_FORCE_MAX_ORDER=9
diff --git a/redhat/configs/rhel/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER b/redhat/configs/rhel/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER
deleted file mode 100644
index blahblah..blahblah 0
--- a/redhat/configs/rhel/generic/powerpc/CONFIG_ARCH_FORCE_MAX_ORDER
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_ARCH_FORCE_MAX_ORDER=9
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2451