forked from rpms/kernel
		
	import kernel-5.14.0-70.13.1.el9_0
This commit is contained in:
		
						commit
						3f37331a7b
					
				
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| SOURCES/kernel-abi-stablelists-5.14.0-70.13.1.el9_0.tar.bz2 | ||||
| SOURCES/kernel-kabi-dw-5.14.0-70.13.1.el9_0.tar.bz2 | ||||
| SOURCES/linux-5.14.0-70.13.1.el9_0.tar.xz | ||||
| SOURCES/rheldup3.x509 | ||||
| SOURCES/rhelkpatch1.x509 | ||||
							
								
								
									
										5
									
								
								.kernel.metadata
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.kernel.metadata
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| c1197ace1d0f19538e93b665dc04950908d34880 SOURCES/kernel-abi-stablelists-5.14.0-70.13.1.el9_0.tar.bz2 | ||||
| 206afe247796a98d6b1f57f4bdabb2d57836e928 SOURCES/kernel-kabi-dw-5.14.0-70.13.1.el9_0.tar.bz2 | ||||
| 7101b2671a4efc2fd6049b207a717c0c4cf54580 SOURCES/linux-5.14.0-70.13.1.el9_0.tar.xz | ||||
| 95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509 | ||||
| d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509 | ||||
							
								
								
									
										67
									
								
								SOURCES/Makefile.rhelver
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								SOURCES/Makefile.rhelver
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | ||||
| RHEL_MAJOR = 9 | ||||
| RHEL_MINOR = 0 | ||||
| 
 | ||||
| #
 | ||||
| # RHEL_RELEASE
 | ||||
| # -------------
 | ||||
| #
 | ||||
| # Represents build number in 'release' part of RPM's name-version-release.
 | ||||
| #   name is <package_name>, e.g. kernel
 | ||||
| #   version is upstream kernel version this kernel is based on, e.g. 4.18.0
 | ||||
| #   release is <RHEL_RELEASE>.<dist_tag>[<buildid>], e.g. 100.el8
 | ||||
| #
 | ||||
| # Use this spot to avoid future merge conflicts.
 | ||||
| # Do not trim this comment.
 | ||||
| RHEL_RELEASE = 70.13.1 | ||||
| 
 | ||||
| #
 | ||||
| # ZSTREAM
 | ||||
| # -------
 | ||||
| #
 | ||||
| #  This variable controls whether we use zstream numbering or not for the
 | ||||
| #  package release. The zstream release keeps the build number of the last
 | ||||
| #  build done for ystream for the Beta milestone, and increments a second
 | ||||
| #  number for each build. The third number is used for branched builds
 | ||||
| #  (eg.: for builds with security fixes or hot fixes done outside of the
 | ||||
| #  batch release process).
 | ||||
| #
 | ||||
| #  For example, with ZSTREAM unset or set to "no", all builds will contain
 | ||||
| #  a release with only the build number, eg.: kernel-<kernel version>-X.el*,
 | ||||
| #  where X is the build number. With ZSTREAM set to "yes", we will have
 | ||||
| #  builds with kernel-<kernel version>-X.Y.Z.el*, where X is the last
 | ||||
| #  RHEL_RELEASE number before ZSTREAM flag was set to yes, Y will now be the
 | ||||
| #  build number and Z will always be 1 except if you're doing a branched build
 | ||||
| #  (when you give RHDISTGIT_BRANCH on the command line, in which case the Z
 | ||||
| #  number will be incremented instead of the Y).
 | ||||
| #
 | ||||
| ZSTREAM = yes | ||||
| 
 | ||||
| #
 | ||||
| # Early y+1 numbering
 | ||||
| # --------------------
 | ||||
| #
 | ||||
| # In early y+1 process, RHEL_RELEASE consists of 2 numbers: x.y
 | ||||
| # First is RHEL_RELEASE inherited/merged from y as-is, second number
 | ||||
| # is incremented with each build starting from 1. After merge from y,
 | ||||
| # it resets back to 1. This way y+1 nvr reflects status of last merge.
 | ||||
| #
 | ||||
| # Example:
 | ||||
| #
 | ||||
| # rhel8.0                        rhel-8.1
 | ||||
| #   kernel-4.18.0-58.el8   -->     kernel-4.18.0-58.1.el8
 | ||||
| #                                  kernel-4.18.0-58.2.el8
 | ||||
| #   kernel-4.18.0-59.el8           kernel-4.18.0-59.1.el8
 | ||||
| #   kernel-4.18.0-60.el8
 | ||||
| #   kernel-4.18.0-61.el8   -->     kernel-4.18.0-61.1.el8
 | ||||
| #
 | ||||
| #
 | ||||
| # Use this spot to avoid future merge conflicts.
 | ||||
| # Do not trim this comment.
 | ||||
| EARLY_YSTREAM ?= no | ||||
| EARLY_YBUILD:= | ||||
| EARLY_YRELEASE:= | ||||
| ifneq ("$(ZSTREAM)", "yes") | ||||
|   ifeq ("$(EARLY_YSTREAM)","yes") | ||||
|     RHEL_RELEASE:=$(RHEL_RELEASE).$(EARLY_YRELEASE) | ||||
|   endif | ||||
| endif | ||||
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_aarch64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_aarch64
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_dup_aarch64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_dup_aarch64
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_dup_ppc64le
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_dup_ppc64le
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_dup_s390x
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_dup_s390x
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_dup_x86_64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_dup_x86_64
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_ppc64le
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_ppc64le
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_s390x
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_s390x
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/Module.kabi_x86_64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/Module.kabi_x86_64
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										25
									
								
								SOURCES/README.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								SOURCES/README.rst
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| =================== | ||||
| The Kernel dist-git | ||||
| =================== | ||||
| 
 | ||||
| The kernel is maintained in a `source tree`_ rather than directly in dist-git. | ||||
| The specfile is maintained as a `template`_ in the source tree along with a set | ||||
| of build scripts to generate configurations, (S)RPMs, and to populate the | ||||
| dist-git repository. | ||||
| 
 | ||||
| The `documentation`_ for the source tree covers how to contribute and maintain | ||||
| the tree. | ||||
| 
 | ||||
| If you're looking for the downstream patch set it's available in the source | ||||
| tree with "git log master..ark-patches" or | ||||
| `online`_. | ||||
| 
 | ||||
| Each release in dist-git is tagged in the source repository so you can easily | ||||
| check out the source tree for a build. The tags are in the format | ||||
| name-version-release, but note release doesn't contain the dist tag since the | ||||
| source can be built in different build roots (Fedora, CentOS, etc.) | ||||
| 
 | ||||
| .. _source tree: https://gitlab.com/cki-project/kernel-ark.git | ||||
| .. _template: https://gitlab.com/cki-project/kernel-ark/-/blob/os-build/redhat/kernel.spec.template | ||||
| .. _documentation: https://gitlab.com/cki-project/kernel-ark/-/wikis/home | ||||
| .. _online: https://gitlab.com/cki-project/kernel-ark/-/commits/ark-patches | ||||
							
								
								
									
										149
									
								
								SOURCES/check-kabi
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										149
									
								
								SOURCES/check-kabi
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,149 @@ | ||||
| #!/usr/bin/python3 | ||||
| # | ||||
| # check-kabi - Red Hat kABI reference checking tool | ||||
| # | ||||
| # We use this script to check against reference Module.kabi files. | ||||
| # | ||||
| # Author: Jon Masters <jcm@redhat.com> | ||||
| # Copyright (C) 2007-2009 Red Hat, Inc. | ||||
| # | ||||
| # This software may be freely redistributed under the terms of the GNU | ||||
| # General Public License (GPL). | ||||
| 
 | ||||
| # Changelog: | ||||
| # | ||||
| # 2018/06/01 - Update for python3 by Petr Oros. | ||||
| # 2009/08/15 - Updated for use in RHEL6. | ||||
| # 2007/06/13 - Initial rewrite in python by Jon Masters. | ||||
| 
 | ||||
| __author__ = "Jon Masters <jcm@redhat.com>" | ||||
| __version__ = "2.0" | ||||
| __date__ = "2009/08/15" | ||||
| __copyright__ = "Copyright (C) 2007-2009 Red Hat, Inc" | ||||
| __license__ = "GPL" | ||||
| 
 | ||||
| import getopt | ||||
| import string | ||||
| import sys | ||||
| 
 | ||||
| true = 1 | ||||
| false = 0 | ||||
| 
 | ||||
| 
 | ||||
| def load_symvers(symvers, filename): | ||||
|     """Load a Module.symvers file.""" | ||||
| 
 | ||||
|     symvers_file = open(filename, "r") | ||||
| 
 | ||||
|     while true: | ||||
|         in_line = symvers_file.readline() | ||||
|         if in_line == "": | ||||
|             break | ||||
|         if in_line == "\n": | ||||
|             continue | ||||
|         checksum, symbol, directory, type = in_line.split() | ||||
| 
 | ||||
|         symvers[symbol] = in_line[0:-1] | ||||
| 
 | ||||
| 
 | ||||
| def load_kabi(kabi, filename): | ||||
|     """Load a Module.kabi file.""" | ||||
| 
 | ||||
|     kabi_file = open(filename, "r") | ||||
| 
 | ||||
|     while true: | ||||
|         in_line = kabi_file.readline() | ||||
|         if in_line == "": | ||||
|             break | ||||
|         if in_line == "\n": | ||||
|             continue | ||||
|         checksum, symbol, directory, type = in_line.split() | ||||
| 
 | ||||
|         kabi[symbol] = in_line[0:-1] | ||||
| 
 | ||||
| 
 | ||||
| def check_kabi(symvers, kabi): | ||||
|     """Check Module.kabi and Module.symvers files.""" | ||||
| 
 | ||||
|     fail = 0 | ||||
|     warn = 0 | ||||
|     changed_symbols = [] | ||||
|     moved_symbols = [] | ||||
| 
 | ||||
|     for symbol in kabi: | ||||
|         abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split() | ||||
|         if symbol in symvers: | ||||
|             sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split() | ||||
|             if abi_hash != sym_hash: | ||||
|                 fail = 1 | ||||
|                 changed_symbols.append(symbol) | ||||
| 
 | ||||
|             if abi_dir != sym_dir: | ||||
|                 warn = 1 | ||||
|                 moved_symbols.append(symbol) | ||||
|         else: | ||||
|             fail = 1 | ||||
|             changed_symbols.append(symbol) | ||||
| 
 | ||||
|     if fail: | ||||
|         print("*** ERROR - ABI BREAKAGE WAS DETECTED ***") | ||||
|         print("") | ||||
|         print("The following symbols have been changed (this will cause an ABI breakage):") | ||||
|         print("") | ||||
|         for symbol in changed_symbols: | ||||
|             print(symbol) | ||||
|         print("") | ||||
| 
 | ||||
|     if warn: | ||||
|         print("*** WARNING - ABI SYMBOLS MOVED ***") | ||||
|         print("") | ||||
|         print("The following symbols moved (typically caused by moving a symbol from being") | ||||
|         print("provided by the kernel vmlinux out to a loadable module):") | ||||
|         print("") | ||||
|         for symbol in moved_symbols: | ||||
|             print(symbol) | ||||
|         print("") | ||||
| 
 | ||||
|     """Halt the build, if we got errors and/or warnings. In either case, | ||||
|        double-checkig is required to avoid introducing / concealing | ||||
|        KABI inconsistencies.""" | ||||
|     if fail or warn: | ||||
|         sys.exit(1) | ||||
|     sys.exit(0) | ||||
| 
 | ||||
| 
 | ||||
| def usage(): | ||||
|     print(""" | ||||
| check-kabi: check Module.kabi and Module.symvers files. | ||||
| 
 | ||||
|     check-kabi [ -k Module.kabi ] [ -s Module.symvers ] | ||||
| 
 | ||||
| """) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
| 
 | ||||
|     symvers_file = "" | ||||
|     kabi_file = "" | ||||
| 
 | ||||
|     opts, args = getopt.getopt(sys.argv[1:], 'hk:s:') | ||||
| 
 | ||||
|     for o, v in opts: | ||||
|         if o == "-s": | ||||
|             symvers_file = v | ||||
|         if o == "-h": | ||||
|             usage() | ||||
|             sys.exit(0) | ||||
|         if o == "-k": | ||||
|             kabi_file = v | ||||
| 
 | ||||
|     if (symvers_file == "") or (kabi_file == ""): | ||||
|         usage() | ||||
|         sys.exit(1) | ||||
| 
 | ||||
|     symvers = {} | ||||
|     kabi = {} | ||||
| 
 | ||||
|     load_symvers(symvers, symvers_file) | ||||
|     load_kabi(kabi, kabi_file) | ||||
|     check_kabi(symvers, kabi) | ||||
							
								
								
									
										3
									
								
								SOURCES/cpupower.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								SOURCES/cpupower.config
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| # See 'cpupower help' and cpupower(1) for more info | ||||
| CPUPOWER_START_OPTS="frequency-set -g performance" | ||||
| CPUPOWER_STOP_OPTS="frequency-set -g ondemand" | ||||
							
								
								
									
										13
									
								
								SOURCES/cpupower.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								SOURCES/cpupower.service
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| [Unit] | ||||
| Description=Configure CPU power related settings | ||||
| After=syslog.target | ||||
| 
 | ||||
| [Service] | ||||
| Type=oneshot | ||||
| RemainAfterExit=yes | ||||
| EnvironmentFile=/etc/sysconfig/cpupower | ||||
| ExecStart=/usr/bin/cpupower $CPUPOWER_START_OPTS | ||||
| ExecStop=/usr/bin/cpupower $CPUPOWER_STOP_OPTS | ||||
| 
 | ||||
| [Install] | ||||
| WantedBy=multi-user.target | ||||
							
								
								
									
										18
									
								
								SOURCES/filter-aarch64.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								SOURCES/filter-aarch64.sh.rhel
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| #! /bin/bash | ||||
| 
 | ||||
| # This is the aarch64 override file for the core/drivers package split.  The | ||||
| # module directories listed here and in the generic list in filter-modules.sh | ||||
| # will be moved to the resulting kernel-modules package for this arch. | ||||
| # Anything not listed in those files will be in the kernel-core package. | ||||
| # | ||||
| # Please review the default list in filter-modules.sh before making | ||||
| # modifications to the overrides below.  If something should be removed across | ||||
| # all arches, remove it in the default instead of per-arch. | ||||
| 
 | ||||
| driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1" | ||||
| 
 | ||||
| ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom" | ||||
| 
 | ||||
| drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4" | ||||
| 
 | ||||
| singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls" | ||||
							
								
								
									
										0
									
								
								SOURCES/filter-armv7hl.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/filter-armv7hl.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								SOURCES/filter-i686.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/filter-i686.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										169
									
								
								SOURCES/filter-modules.sh.rhel
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										169
									
								
								SOURCES/filter-modules.sh.rhel
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,169 @@ | ||||
| #! /bin/bash | ||||
| # | ||||
| # Called as filter-modules.sh list-of-modules Arch | ||||
| 
 | ||||
| # This script filters the modules into the kernel-core and kernel-modules | ||||
| # subpackages.  We list out subsystems/subdirs to prune from the installed | ||||
| # module directory.  What is left is put into the kernel-core package.  What is | ||||
| # pruned is contained in the kernel-modules package. | ||||
| # | ||||
| # This file contains the default subsys/subdirs to prune from all architectures. | ||||
| # If an architecture needs to differ, we source a per-arch filter-<arch>.sh file | ||||
| # that contains the set of override lists to be used instead.  If a module or | ||||
| # subsys should be in kernel-modules on all arches, please change the defaults | ||||
| # listed here. | ||||
| 
 | ||||
| # Overrides is individual modules which need to remain in kernel-core due to deps. | ||||
| overrides="cec" | ||||
| 
 | ||||
| # Set the default dirs/modules to filter out | ||||
| driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1" | ||||
| 
 | ||||
| chardrvs="mwave pcmcia" | ||||
| 
 | ||||
| netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless" | ||||
| 
 | ||||
| ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom" | ||||
| 
 | ||||
| inputdrvs="gameport tablet touchscreen" | ||||
| 
 | ||||
| scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic hisi_sas isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf" | ||||
| 
 | ||||
| usbdrvs="atm image misc serial wusbcore" | ||||
| 
 | ||||
| fsdrvs="affs befs cifs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs" | ||||
| 
 | ||||
| netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless" | ||||
| 
 | ||||
| drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via " | ||||
| 
 | ||||
| singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus" | ||||
| 
 | ||||
| # Grab the arch-specific filter list overrides | ||||
| source ./filter-$2.sh | ||||
| 
 | ||||
| filter_dir() { | ||||
| 	filelist=$1 | ||||
| 	dir=$2 | ||||
| 
 | ||||
| 	grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp | ||||
| 
 | ||||
| 	if [ $? -ne 0 ] | ||||
| 	then | ||||
| 		echo "Couldn't remove ${dir}.  Skipping." | ||||
| 	else | ||||
| 		grep -e "${dir}/" ${filelist} >> k-d.list | ||||
| 		mv ${filelist}.tmp $filelist | ||||
| 	fi | ||||
| 	 | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| filter_ko() { | ||||
| 	filelist=$1 | ||||
| 	mod=$2 | ||||
| 
 | ||||
| 	grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp | ||||
| 
 | ||||
| 	if [ $? -ne 0 ] | ||||
| 	then | ||||
| 		echo "Couldn't remove ${mod}.ko  Skipping." | ||||
| 	else | ||||
| 		grep -e "${mod}.ko" ${filelist} >> k-d.list | ||||
| 		mv ${filelist}.tmp $filelist | ||||
| 	fi | ||||
| 	 | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| # Filter the drivers/ subsystems | ||||
| for subsys in ${driverdirs} | ||||
| do | ||||
| 	filter_dir $1 drivers/${subsys} | ||||
| done | ||||
| 
 | ||||
| # Filter the networking drivers | ||||
| for netdrv in ${netdrvs} | ||||
| do | ||||
| 	filter_dir $1 drivers/net/${netdrv} | ||||
| done | ||||
| 
 | ||||
| # Filter the char drivers | ||||
| for char in ${chardrvs} | ||||
| do | ||||
| 	filter_dir $1 drivers/char/${char} | ||||
| done | ||||
| 
 | ||||
| # Filter the ethernet drivers | ||||
| for eth in ${ethdrvs} | ||||
| do | ||||
| 	filter_dir $1 drivers/net/ethernet/${eth} | ||||
| done | ||||
| 
 | ||||
| # SCSI | ||||
| for scsi in ${scsidrvs} | ||||
| do | ||||
| 	filter_dir $1 drivers/scsi/${scsi} | ||||
| done | ||||
| 
 | ||||
| # Input | ||||
| for input in ${inputdrvs} | ||||
| do | ||||
| 	filter_dir $1 drivers/input/${input} | ||||
| done | ||||
| 
 | ||||
| # USB | ||||
| for usb in ${usbdrvs} | ||||
| do | ||||
| 	filter_dir $1 drivers/usb/${usb} | ||||
| done | ||||
| 
 | ||||
| # Filesystems | ||||
| for fs in ${fsdrvs} | ||||
| do | ||||
| 	filter_dir $1 fs/${fs} | ||||
| done | ||||
| 
 | ||||
| # Network protocols | ||||
| for prot in ${netprots} | ||||
| do | ||||
| 	filter_dir $1 kernel/net/${prot} | ||||
| done | ||||
| 
 | ||||
| # DRM | ||||
| for drm in ${drmdrvs} | ||||
| do | ||||
| 	filter_dir $1 drivers/gpu/drm/${drm} | ||||
| done | ||||
| 
 | ||||
| # Just kill sound. | ||||
| filter_dir $1 kernel/sound | ||||
| filter_dir $1 kernel/drivers/soundwire | ||||
| 
 | ||||
| # Now go through and filter any single .ko files that might have deps on the | ||||
| # things we filtered above | ||||
| for mod in ${singlemods} | ||||
| do | ||||
|         filter_ko $1 ${mod} | ||||
| done | ||||
| 
 | ||||
| # Now process the override list to bring those modules back into core | ||||
| for mod in ${overrides} | ||||
| do | ||||
| 	grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp | ||||
| 	if [ $? -ne 0 ] | ||||
|         then | ||||
|                 echo "Couldn't save ${mod}.ko  Skipping." | ||||
|         else | ||||
|                 grep -e "/${mod}.ko" k-d.list >> $filelist | ||||
|                 mv k-d.list.tmp k-d.list | ||||
|         fi | ||||
| 
 | ||||
| done | ||||
| 
 | ||||
| # Go through our generated drivers list and remove the .ko files.  We'll | ||||
| # restore them later. | ||||
| for mod in `cat k-d.list` | ||||
| do | ||||
| 	rm -rf $mod | ||||
| done | ||||
							
								
								
									
										14
									
								
								SOURCES/filter-ppc64le.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								SOURCES/filter-ppc64le.sh.rhel
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| #! /bin/bash | ||||
| 
 | ||||
| # This is the ppc64le override file for the core/drivers package split.  The | ||||
| # module directories listed here and in the generic list in filter-modules.sh | ||||
| # will be moved to the resulting kernel-modules package for this arch. | ||||
| # Anything not listed in those files will be in the kernel-core package. | ||||
| # | ||||
| # Please review the default list in filter-modules.sh before making | ||||
| # modifications to the overrides below.  If something should be removed across | ||||
| # all arches, remove it in the default instead of per-arch. | ||||
| 
 | ||||
| driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1" | ||||
| 
 | ||||
| singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls" | ||||
							
								
								
									
										12
									
								
								SOURCES/filter-s390x.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								SOURCES/filter-s390x.sh.rhel
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| #! /bin/bash | ||||
| 
 | ||||
| # This is the s390x override file for the core/drivers package split.  The | ||||
| # module directories listed here and in the generic list in filter-modules.sh | ||||
| # will be moved to the resulting kernel-modules package for this arch. | ||||
| # Anything not listed in those files will be in the kernel-core package. | ||||
| # | ||||
| # Please review the default list in filter-modules.sh before making | ||||
| # modifications to the overrides below.  If something should be removed across | ||||
| # all arches, remove it in the default instead of per-arch. | ||||
| 
 | ||||
| # Defaults work so no need to override | ||||
							
								
								
									
										12
									
								
								SOURCES/filter-x86_64.sh.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								SOURCES/filter-x86_64.sh.rhel
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| #! /bin/bash | ||||
| 
 | ||||
| # This is the x86_64 override file for the core/drivers package split.  The | ||||
| # module directories listed here and in the generic list in filter-modules.sh | ||||
| # will be moved to the resulting kernel-modules package for this arch. | ||||
| # Anything not listed in those files will be in the kernel-core package. | ||||
| # | ||||
| # Please review the default list in filter-modules.sh before making | ||||
| # modifications to the overrides below.  If something should be removed across | ||||
| # all arches, remove it in the default instead of per-arch. | ||||
| 
 | ||||
| # Defaults work so no need to override | ||||
							
								
								
									
										9
									
								
								SOURCES/gating.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								SOURCES/gating.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| --- !Policy | ||||
| product_versions: | ||||
|   - rhel-9 | ||||
| decision_context: osci_compose_gate | ||||
| rules: | ||||
|   - !PassingTestCaseRule {test_case_name: cki.tier1-aarch64.functional} | ||||
|   - !PassingTestCaseRule {test_case_name: cki.tier1-ppc64le.functional} | ||||
|   - !PassingTestCaseRule {test_case_name: cki.tier1-s390x.functional} | ||||
|   - !PassingTestCaseRule {test_case_name: cki.tier1-x86_64.functional} | ||||
							
								
								
									
										40
									
								
								SOURCES/generate_all_configs.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								SOURCES/generate_all_configs.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,40 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| # Adjusts the configuration options to build the variants correctly | ||||
| # | ||||
| # arg1: configuration to go in the primary variant | ||||
| # arg2: are we only generating debug configs | ||||
| 
 | ||||
| 
 | ||||
| PRIMARY=$1 | ||||
| DEBUGBUILDSENABLED=$2 | ||||
| 
 | ||||
| if [ -z "$2" ]; then | ||||
| 	exit 1 | ||||
| fi | ||||
| 
 | ||||
| if [ -z "$PRIMARY" ]; then | ||||
| 	PRIMARY=rhel | ||||
| fi | ||||
| 
 | ||||
| if [ "$PRIMARY" = "fedora" ]; then | ||||
| 	SECONDARY=rhel | ||||
| else | ||||
| 	SECONDARY=fedora | ||||
| fi | ||||
| 
 | ||||
| for i in kernel-*-"$PRIMARY".config; do | ||||
| 	NEW=kernel-"$VERSION"-$(echo "$i" | cut -d - -f2- | sed s/-"$PRIMARY"//) | ||||
| 	#echo $NEW | ||||
| 	mv "$i" "$NEW" | ||||
| done | ||||
| 
 | ||||
| rm -f kernel-*-"$SECONDARY".config | ||||
| 
 | ||||
| if [ "$DEBUGBUILDSENABLED" -eq 0 ]; then | ||||
| 	for i in kernel-*debug*.config; do | ||||
| 		base=$(echo "$i" | sed -r s/-?debug//g) | ||||
| 		NEW=kernel-$(echo "$base" | cut -d - -f2-) | ||||
| 		mv "$i" "$NEW" | ||||
| 	done | ||||
| fi | ||||
							
								
								
									
										6333
									
								
								SOURCES/kernel-aarch64-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6333
									
								
								SOURCES/kernel-aarch64-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6309
									
								
								SOURCES/kernel-aarch64-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6309
									
								
								SOURCES/kernel-aarch64-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2
									
								
								SOURCES/kernel-local
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								SOURCES/kernel-local
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| # This file is intentionally left empty in the stock kernel. Its a nicety | ||||
| # added for those wanting to do custom rebuilds with altered config opts. | ||||
							
								
								
									
										6098
									
								
								SOURCES/kernel-ppc64le-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6098
									
								
								SOURCES/kernel-ppc64le-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6078
									
								
								SOURCES/kernel-ppc64le-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6078
									
								
								SOURCES/kernel-ppc64le-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6062
									
								
								SOURCES/kernel-s390x-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6062
									
								
								SOURCES/kernel-s390x-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6042
									
								
								SOURCES/kernel-s390x-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6042
									
								
								SOURCES/kernel-s390x-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6071
									
								
								SOURCES/kernel-s390x-zfcpdump-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6071
									
								
								SOURCES/kernel-s390x-zfcpdump-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6359
									
								
								SOURCES/kernel-x86_64-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6359
									
								
								SOURCES/kernel-x86_64-debug-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6336
									
								
								SOURCES/kernel-x86_64-rhel.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6336
									
								
								SOURCES/kernel-x86_64-rhel.config
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										11
									
								
								SOURCES/kvm_stat.logrotate
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								SOURCES/kvm_stat.logrotate
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| /var/log/kvm_stat.csv { | ||||
| 	size 10M | ||||
| 	missingok | ||||
| 	compress | ||||
| 	maxage 30 | ||||
| 	rotate 5 | ||||
| 	nodateext | ||||
| 	postrotate | ||||
| 		/usr/bin/systemctl try-restart kvm_stat.service | ||||
| 	endscript | ||||
| } | ||||
							
								
								
									
										0
									
								
								SOURCES/linux-kernel-test.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/linux-kernel-test.patch
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										72
									
								
								SOURCES/merge.pl
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										72
									
								
								SOURCES/merge.pl
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,72 @@ | ||||
| #! /usr/bin/perl | ||||
| 
 | ||||
| my @args=@ARGV; | ||||
| my %configvalues; | ||||
| my @configoptions; | ||||
| my $configcounter = 0; | ||||
| 
 | ||||
| # optionally print out the architecture as the first line of our output | ||||
| my $arch = $args[2]; | ||||
| if (defined $arch) { | ||||
| 	print "# $arch\n"; | ||||
| } | ||||
| 
 | ||||
| # first, read the override file | ||||
| 
 | ||||
| open (FILE,"$args[0]") || die "Could not open $args[0]"; | ||||
| while (<FILE>) { | ||||
| 	my $str = $_; | ||||
| 	my $configname; | ||||
| 
 | ||||
| 	if (/\# ([\w]+) is not set/) { | ||||
| 		$configname = $1; | ||||
| 	} elsif (/^\#/) { | ||||
| 		# fall through on comments like 'avoid CONFIG_FOO=y' | ||||
| 		; | ||||
| 	} elsif (/([\w]+)=/) { | ||||
| 		$configname = $1; | ||||
| 	} | ||||
| 
 | ||||
| 	if (defined($configname) && !exists($configvalues{$configname})) { | ||||
| 		$configvalues{$configname} = $str; | ||||
| 		$configoptions[$configcounter] = $configname; | ||||
| 		$configcounter ++; | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| # now, read and output the entire configfile, except for the overridden | ||||
| # parts... for those the new value is printed. | ||||
| 
 | ||||
| open (FILE2,"$args[1]") || die "Could not open $args[1]"; | ||||
| while (<FILE2>) { | ||||
| 	my $configname; | ||||
| 
 | ||||
| 	if (/\# ([\w]+) is not set/) { | ||||
| 		$configname = $1; | ||||
| 	} elsif (/^\#/) { | ||||
| 		# fall through on comments like 'avoid CONFIG_FOO=y' | ||||
| 		; | ||||
| 	} elsif (/([\w]+)=/) { | ||||
| 		$configname  = $1; | ||||
| 	} | ||||
| 
 | ||||
| 	if (defined($configname) && exists($configvalues{$configname})) { | ||||
| 		print "$configvalues{$configname}"; | ||||
| 		delete($configvalues{$configname}); | ||||
| 	} else { | ||||
| 		print "$_"; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| # now print the new values from the overridden configfile | ||||
| my $counter = 0; | ||||
| 
 | ||||
| while ($counter < $configcounter) { | ||||
| 	my $configname = $configoptions[$counter]; | ||||
| 	if (exists($configvalues{$configname})) { | ||||
| 		print "$configvalues{$configname}"; | ||||
| 	} | ||||
| 	$counter++; | ||||
| } | ||||
| 
 | ||||
| 1; | ||||
							
								
								
									
										164
									
								
								SOURCES/mod-denylist.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										164
									
								
								SOURCES/mod-denylist.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,164 @@ | ||||
| #! /bin/bash | ||||
| # shellcheck disable=SC2164 | ||||
| 
 | ||||
| RpmDir=$1 | ||||
| ModDir=$2 | ||||
| Dir="$1/$2" | ||||
| # Note the list filename must have the format mod-[PACKAGE].list, for example, | ||||
| # mod-internal.list or mod-extra.list.  The PACKAGE is used to create a | ||||
| # override directory for the modules. | ||||
| List=$3 | ||||
| Dest="$4" | ||||
| 
 | ||||
| blacklist() | ||||
| { | ||||
| 	cat > "$RpmDir/etc/modprobe.d/$1-blacklist.conf" <<-__EOF__ | ||||
| 	# This kernel module can be automatically loaded by non-root users. To | ||||
| 	# enhance system security, the module is blacklisted by default to ensure | ||||
| 	# system administrators make the module available for use as needed. | ||||
| 	# See https://access.redhat.com/articles/3760101 for more details. | ||||
| 	# | ||||
| 	# Remove the blacklist by adding a comment # at the start of the line. | ||||
| 	blacklist $1 | ||||
| __EOF__ | ||||
| } | ||||
| 
 | ||||
| check_blacklist() | ||||
| { | ||||
| 	mod=$(find "$RpmDir/$ModDir" -name "$1") | ||||
| 	[ ! "$mod" ] && return 0 | ||||
| 	if modinfo "$mod" | grep -q '^alias:\s\+net-'; then | ||||
| 		mod="${1##*/}" | ||||
| 		mod="${mod%.ko*}" | ||||
| 		echo "$mod has an alias that allows auto-loading. Blacklisting." | ||||
| 		blacklist "$mod" | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
| find_depends() | ||||
| { | ||||
| 	dep=$1 | ||||
| 	depends=$(modinfo "$dep" | sed -n -e "/^depends/ s/^depends:[ \t]*//p") | ||||
| 	[ -z "$depends" ] && exit | ||||
| 	for mod in ${depends//,/ } | ||||
| 	do | ||||
| 		match=$(grep "^$mod.ko" "$ListName") | ||||
| 		[ -z "$match" ] && continue | ||||
| 		# check if the module we are looking at is in mod-* too. | ||||
| 		# if so we do not need to mark the dep as required. | ||||
| 		mod2=${dep##*/}  # same as $(basename $dep), but faster | ||||
| 		match2=$(grep "^$mod2" "$ListName") | ||||
| 		if [ -n "$match2" ] | ||||
| 		then | ||||
| 			#echo $mod2 >> notreq.list | ||||
| 			continue | ||||
| 		fi | ||||
| 		echo "$mod".ko >> req.list | ||||
| 	done | ||||
| } | ||||
| 
 | ||||
| foreachp() | ||||
| { | ||||
| 	P=$(nproc) | ||||
| 	bgcount=0 | ||||
| 	while read -r mod; do | ||||
| 		$1 "$mod" & | ||||
| 
 | ||||
| 		bgcount=$((bgcount + 1)) | ||||
| 		if [ $bgcount -eq "$P" ]; then | ||||
| 			wait -n | ||||
| 			bgcount=$((bgcount - 1)) | ||||
| 		fi | ||||
| 	done | ||||
| 
 | ||||
| 	wait | ||||
| } | ||||
| 
 | ||||
| # Destination was specified on the command line | ||||
| test -n "$4" && echo "$0: Override Destination $Dest has been specified." | ||||
| 
 | ||||
| pushd "$Dir" | ||||
| 
 | ||||
| OverrideDir=$(basename "$List") | ||||
| OverrideDir=${OverrideDir%.*} | ||||
| OverrideDir=${OverrideDir#*-} | ||||
| mkdir -p "$OverrideDir" | ||||
| 
 | ||||
| rm -rf modnames | ||||
| find . -name "*.ko" -type f > modnames | ||||
| # Look through all of the modules, and throw any that have a dependency in | ||||
| # our list into the list as well. | ||||
| rm -rf dep.list dep2.list | ||||
| rm -rf req.list req2.list | ||||
| touch dep.list req.list | ||||
| cp "$List" . | ||||
| 
 | ||||
| # This variable needs to be exported because it is used in sub-script | ||||
| # executed by xargs | ||||
| ListName=$(basename "$List") | ||||
| export ListName | ||||
| 
 | ||||
| foreachp find_depends < modnames | ||||
| 
 | ||||
| sort -u req.list > req2.list | ||||
| sort -u "$ListName" > modules2.list | ||||
| join -v 1 modules2.list req2.list > modules3.list | ||||
| 
 | ||||
| while IFS= read -r mod | ||||
| do | ||||
|     # get the path for the module | ||||
|     modpath=$(grep /"$mod" modnames) | ||||
|     [ -z "$modpath" ] && continue | ||||
|     echo "$modpath" >> dep.list | ||||
| done < modules3.list | ||||
| 
 | ||||
| sort -u dep.list > dep2.list | ||||
| 
 | ||||
| if [ -n "$Dest" ]; then | ||||
|     # now move the modules into the $Dest directory | ||||
|     while IFS= read -r mod | ||||
|     do | ||||
| 	newpath=$(dirname "$mod" | sed -e "s/kernel\\//$Dest\//") | ||||
| 	mkdir -p "$newpath" | ||||
| 	mv "$mod" "$newpath" | ||||
| 	echo "$mod" | sed -e "s/kernel\\//$Dest\//" | sed -e "s|^.|${ModDir}|g" >> "$RpmDir"/"$ListName" | ||||
|     done < dep2.list | ||||
| fi | ||||
| 
 | ||||
| popd | ||||
| 
 | ||||
| # If we're signing modules, we can't leave the .mod files for the .ko files | ||||
| # we've moved in .tmp_versions/.  Remove them so the Kbuild 'modules_sign' | ||||
| # target doesn't try to sign a non-existent file.  This is kinda ugly, but | ||||
| # so are the modules-* packages. | ||||
| 
 | ||||
| while IFS= read -r mod | ||||
| do | ||||
|   modfile=$(basename "$mod" | sed -e 's/.ko/.mod/') | ||||
|   rm .tmp_versions/"$modfile" | ||||
| done < "$Dir"/dep2.list | ||||
| 
 | ||||
| if [ -z "$Dest" ]; then | ||||
| 	sed -e "s|^.|${ModDir}|g" "$Dir"/dep2.list > "$RpmDir/$ListName" | ||||
| 	echo "./$RpmDir/$ListName created." | ||||
| 	[ -d "$RpmDir/etc/modprobe.d/" ] || mkdir -p "$RpmDir/etc/modprobe.d/" | ||||
| 	foreachp check_blacklist < "$List" | ||||
| fi | ||||
| 
 | ||||
| # Many BIOS-es export a PNP-id which causes the floppy driver to autoload | ||||
| # even though most modern systems don't have a 3.5" floppy driver anymore | ||||
| # this replaces the old die_floppy_die.patch which removed the PNP-id from | ||||
| # the module | ||||
| 
 | ||||
| floppylist=("$RpmDir"/"$ModDir"/kernel/drivers/block/floppy.ko*) | ||||
| if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then | ||||
|      blacklist "floppy" | ||||
| fi | ||||
| 
 | ||||
| # avoid an empty kernel-extra package | ||||
| echo "$ModDir/$OverrideDir" >> "$RpmDir/$ListName" | ||||
| 
 | ||||
| pushd "$Dir" | ||||
| rm modnames dep.list dep2.list req.list req2.list | ||||
| rm "$ListName" modules2.list modules3.list | ||||
| popd | ||||
							
								
								
									
										192
									
								
								SOURCES/mod-extra.list.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								SOURCES/mod-extra.list.rhel
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,192 @@ | ||||
| 6pack.ko | ||||
| a3d.ko | ||||
| act200l-sir.ko | ||||
| actisys-sir.ko | ||||
| adi.ko | ||||
| aer_inject.ko | ||||
| af_802154.ko | ||||
| affs.ko | ||||
| ali-ircc.ko | ||||
| analog.ko | ||||
| appletalk.ko | ||||
| atm.ko | ||||
| avma1_cs.ko | ||||
| avm_cs.ko | ||||
| avmfritz.ko | ||||
| ax25.ko | ||||
| b1.ko | ||||
| bas_gigaset.ko | ||||
| batman-adv.ko | ||||
| baycom_par.ko | ||||
| baycom_ser_fdx.ko | ||||
| baycom_ser_hdx.ko | ||||
| befs.ko | ||||
| bpqether.ko | ||||
| br2684.ko | ||||
| capi.ko | ||||
| c_can.ko | ||||
| c_can_platform.ko | ||||
| clip.ko | ||||
| cobra.ko | ||||
| coda.ko | ||||
| cuse.ko | ||||
| db9.ko | ||||
| dccp_diag.ko | ||||
| dccp_ipv4.ko | ||||
| dccp_ipv6.ko | ||||
| dccp.ko | ||||
| dccp_probe.ko | ||||
| diva_idi.ko | ||||
| divas.ko | ||||
| ds1wm.ko | ||||
| ds2482.ko | ||||
| ds2490.ko | ||||
| dss1_divert.ko | ||||
| elsa_cs.ko | ||||
| ems_pci.ko | ||||
| ems_usb.ko | ||||
| esd_usb2.ko | ||||
| esi-sir.ko | ||||
| gamecon.ko | ||||
| gf2k.ko | ||||
| gigaset.ko | ||||
| girbil-sir.ko | ||||
| grip.ko | ||||
| grip_mp.ko | ||||
| guillemot.ko | ||||
| hdlcdrv.ko | ||||
| hfc4s8s_l1.ko | ||||
| hfcmulti.ko | ||||
| hfcpci.ko | ||||
| hisax.ko | ||||
| hwa-rc.ko | ||||
| hysdn.ko | ||||
| i2400m.ko | ||||
| i2400m-sdio.ko | ||||
| i2400m-usb.ko | ||||
| ieee802154.ko | ||||
| iforce.ko | ||||
| interact.ko | ||||
| ipddp.ko | ||||
| ipx.ko | ||||
| isdn.ko | ||||
| joydump.ko | ||||
| kingsun-sir.ko | ||||
| ks959-sir.ko | ||||
| ksdazzle-sir.ko | ||||
| kvaser_pci.ko | ||||
| l2tp_core.ko | ||||
| l2tp_debugfs.ko | ||||
| l2tp_eth.ko | ||||
| l2tp_ip.ko | ||||
| l2tp_ip6.ko | ||||
| l2tp_netlink.ko | ||||
| l2tp_ppp.ko | ||||
| lec.ko | ||||
| ma600-sir.ko | ||||
| magellan.ko | ||||
| mcp2120-sir.ko | ||||
| mISDN_core.ko | ||||
| mISDN_dsp.ko | ||||
| mkiss.ko | ||||
| mptbase.ko | ||||
| mptctl.ko | ||||
| mptfc.ko | ||||
| nci.ko | ||||
| ncpfs.ko | ||||
| netjet.ko | ||||
| netrom.ko | ||||
| nfc.ko | ||||
| nilfs2.ko | ||||
| ocfs2_dlmfs.ko | ||||
| ocfs2_dlm.ko | ||||
| ocfs2.ko | ||||
| ocfs2_nodemanager.ko | ||||
| ocfs2_stackglue.ko | ||||
| ocfs2_stack_o2cb.ko | ||||
| ocfs2_stack_user.ko | ||||
| old_belkin-sir.ko | ||||
| orinoco_cs.ko | ||||
| orinoco.ko | ||||
| orinoco_nortel.ko | ||||
| orinoco_pci.ko | ||||
| orinoco_plx.ko | ||||
| orinoco_usb.ko | ||||
| plx_pci.ko | ||||
| pn_pep.ko | ||||
| pppoatm.ko | ||||
| rds.ko | ||||
| rds_rdma.ko | ||||
| rds_tcp.ko | ||||
| rose.ko | ||||
| sch_atm.ko | ||||
| sch_cbq.ko | ||||
| sch_choke.ko | ||||
| sch_drr.ko | ||||
| sch_dsmark.ko | ||||
| sch_gred.ko | ||||
| sch_mqprio.ko | ||||
| sch_multiq.ko | ||||
| sch_netem.ko | ||||
| sch_qfq.ko | ||||
| sch_red.ko | ||||
| sch_sfb.ko | ||||
| sch_teql.ko | ||||
| sctp.ko | ||||
| sctp_diag.ko | ||||
| sctp_probe.ko | ||||
| sidewinder.ko | ||||
| sja1000.ko | ||||
| sja1000_platform.ko | ||||
| slcan.ko | ||||
| slip.ko | ||||
| softing_cs.ko | ||||
| softing.ko | ||||
| spaceball.ko | ||||
| spaceorb.ko | ||||
| stinger.ko | ||||
| sysv.ko | ||||
| tcp_bic.ko | ||||
| tcp_highspeed.ko | ||||
| tcp_htcp.ko | ||||
| tcp_hybla.ko | ||||
| tcp_illinois.ko | ||||
| tcp_lp.ko | ||||
| tcp_scalable.ko | ||||
| tcp_vegas.ko | ||||
| tcp_veno.ko | ||||
| tcp_westwood.ko | ||||
| tcp_yeah.ko | ||||
| tekram-sir.ko | ||||
| tmdc.ko | ||||
| toim3232-sir.ko | ||||
| trancevibrator.ko | ||||
| turbografx.ko | ||||
| twidjoy.ko | ||||
| ubifs.ko | ||||
| ufs.ko | ||||
| umc.ko | ||||
| usbip-core.ko | ||||
| usbip-host.ko | ||||
| uwb.ko | ||||
| vcan.ko | ||||
| vhci-hcd.ko | ||||
| w1_bq27000.ko | ||||
| w1_ds2408.ko | ||||
| w1_ds2423.ko | ||||
| w1_ds2431.ko | ||||
| w1_ds2433.ko | ||||
| w1_ds2760.ko | ||||
| w1_ds2780.ko | ||||
| w1_ds2781.ko | ||||
| w1_ds28e04.ko | ||||
| w1_smem.ko | ||||
| w1_therm.ko | ||||
| w6692.ko | ||||
| walkera0701.ko | ||||
| wanrouter.ko | ||||
| warrior.ko | ||||
| whci.ko | ||||
| wire.ko | ||||
| yam.ko | ||||
| zhenhua.ko | ||||
							
								
								
									
										45
									
								
								SOURCES/mod-internal.list
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								SOURCES/mod-internal.list
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| dmatest | ||||
| kunit | ||||
| kunit-test | ||||
| ext4-inode-test | ||||
| list-test | ||||
| sysctl-test | ||||
| mptcp_crypto_test | ||||
| mptcp_token_test | ||||
| bitfield_kunit | ||||
| cmdline_kunit | ||||
| property-entry-test | ||||
| qos-test | ||||
| resource_kunit | ||||
| soc-topology-test | ||||
| string-stream-test | ||||
| test_linear_ranges | ||||
| test_bits | ||||
| test_kasan | ||||
| time_test | ||||
| fat_test | ||||
| lib_test | ||||
| rational-test | ||||
| test_list_sort | ||||
| slub_kunit | ||||
| memcpy_kunit | ||||
| locktorture | ||||
| mac80211_hwsim | ||||
| netdevsim | ||||
| pktgen | ||||
| rcutorture | ||||
| rocker | ||||
| scftorture | ||||
| test_bpf | ||||
| test_klp_atomic_replace | ||||
| test_klp_callbacks_demo | ||||
| test_klp_callbacks_demo2 | ||||
| test_klp_callbacks_busy | ||||
| test_klp_callbacks_mod | ||||
| test_klp_livepatch | ||||
| test_klp_shadow_vars | ||||
| test_klp_state | ||||
| test_klp_state2 | ||||
| test_klp_state3 | ||||
| torture | ||||
| refscale | ||||
							
								
								
									
										37
									
								
								SOURCES/mod-sign.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								SOURCES/mod-sign.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,37 @@ | ||||
| #! /bin/bash | ||||
| 
 | ||||
| # The modules_sign target checks for corresponding .o files for every .ko that | ||||
| # is signed. This doesn't work for package builds which re-use the same build | ||||
| # directory for every variant, and the .config may change between variants. | ||||
| # So instead of using this script to just sign lib/modules/$KernelVer/extra, | ||||
| # sign all .ko in the buildroot. | ||||
| 
 | ||||
| # This essentially duplicates the 'modules_sign' Kbuild target and runs the | ||||
| # same commands for those modules. | ||||
| 
 | ||||
| MODSECKEY=$1 | ||||
| MODPUBKEY=$2 | ||||
| moddir=$3 | ||||
| 
 | ||||
| modules=$(find "$moddir" -type f -name '*.ko') | ||||
| 
 | ||||
| NPROC=$(nproc) | ||||
| [ -z "$NPROC" ] && NPROC=1 | ||||
| 
 | ||||
| # NB: this loop runs 2000+ iterations. Try to be fast. | ||||
| echo "$modules" | xargs -r -n16 -P $NPROC sh -c " | ||||
| for mod; do | ||||
|     ./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod | ||||
|     rm -f \$mod.sig \$mod.dig | ||||
| done | ||||
| " DUMMYARG0   # xargs appends ARG1 ARG2..., which go into $mod in for loop. | ||||
| 
 | ||||
| RANDOMMOD=$(echo "$modules" | sort -R | head -n 1) | ||||
| if [ "~Module signature appended~" != "$(tail -c 28 "$RANDOMMOD")" ]; then | ||||
|     echo "*****************************" | ||||
|     echo "*** Modules are unsigned! ***" | ||||
|     echo "*****************************" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| exit 0 | ||||
							
								
								
									
										26
									
								
								SOURCES/parallel_xz.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								SOURCES/parallel_xz.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,26 @@ | ||||
| #!/bin/sh | ||||
| # Reads filenames on stdin, xz-compresses each in place. | ||||
| # Not optimal for "compress relatively few, large files" scenario! | ||||
| 
 | ||||
| # How many xz's to run in parallel: | ||||
| procgroup="" | ||||
| while test "$#" != 0; do | ||||
| 	# Get it from -jNUM | ||||
| 	N="${1#-j}" | ||||
| 	if test "$N" = "$1"; then | ||||
| 		# Not -j<something> - warn and ignore | ||||
| 		echo "parallel_xz: warning: unrecognized argument: '$1'" | ||||
| 	else | ||||
| 		procgroup="$N" | ||||
| 	fi | ||||
| 	shift | ||||
| done | ||||
| 
 | ||||
| # If told to use only one cpu: | ||||
| test "$procgroup" || exec xargs -r xz | ||||
| test "$procgroup" = 1 && exec xargs -r xz | ||||
| 
 | ||||
| # xz has some startup cost. If files are really small, | ||||
| # this cost might be significant. To combat this, | ||||
| # process several files (in sequence) by each xz process via -n 16: | ||||
| exec xargs -r -n 16 -P "$procgroup" xz | ||||
							
								
								
									
										4
									
								
								SOURCES/partial-kgcov-snip.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								SOURCES/partial-kgcov-snip.config
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| # kgcov | ||||
| CONFIG_GCOV_KERNEL=y | ||||
| CONFIG_GCOV_PROFILE_ALL=y | ||||
| # CONFIG_GCOV_PROFILE_FTRACE is not set | ||||
							
								
								
									
										0
									
								
								SOURCES/patch-5.14.0-redhat.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								SOURCES/patch-5.14.0-redhat.patch
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										365
									
								
								SOURCES/process_configs.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										365
									
								
								SOURCES/process_configs.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,365 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # This script takes the merged config files and processes them through oldconfig | ||||
| # and listnewconfig | ||||
| # | ||||
| # Globally disable suggestion of appending '|| exit' or '|| return' to cd/pushd/popd commands | ||||
| # shellcheck disable=SC2164 | ||||
| 
 | ||||
| usage() | ||||
| { | ||||
| 	# alphabetical order please | ||||
| 	echo "process_configs.sh [ options ] package_name kernel_version" | ||||
| 	echo "     -a: report all errors, equivalent to [-c -n -w -i]" | ||||
| 	echo "     -c: error on mismatched config options" | ||||
| 	echo "     -i: continue on error" | ||||
| 	echo "     -n: error on unset config options" | ||||
| 	echo "     -t: test run, do not overwrite original config" | ||||
| 	echo "     -w: error on misconfigured config options" | ||||
| 	echo "     -z: commit new configs to pending directory" | ||||
| 	echo "" | ||||
| 	echo "     A special CONFIG file tag, process_configs_known_broken can be added as a" | ||||
| 	echo "     comment to any CONFIG file.  This tag indicates that there is no way to " | ||||
| 	echo "     fix a CONFIG's entry.  This tag should only be used in extreme cases" | ||||
| 	echo "     and is not to be used as a workaround to solve CONFIG problems." | ||||
| 	exit 1 | ||||
| } | ||||
| 
 | ||||
| die() | ||||
| { | ||||
| 	echo "$1" | ||||
| 	exit 1 | ||||
| } | ||||
| 
 | ||||
| get_cross_compile() | ||||
| { | ||||
| 	arch=$1 | ||||
| 	if [[ "$CC_IS_CLANG" -eq 1 ]]; then | ||||
| 		echo "$arch" | ||||
| 	else | ||||
| 		echo "scripts/dummy-tools/" | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
| # stupid function to find top of tree to do kernel make configs | ||||
| switch_to_toplevel() | ||||
| { | ||||
| 	path="$(pwd)" | ||||
| 	while test -n "$path" | ||||
| 	do | ||||
| 		test -e "$path"/MAINTAINERS && \ | ||||
| 			test -d "$path"/drivers && \ | ||||
| 			break | ||||
| 
 | ||||
| 		path=$(dirname "$path") | ||||
| 	done | ||||
| 
 | ||||
| 	test -n "$path"  || die "Can't find toplevel" | ||||
| 	echo "$path" | ||||
| } | ||||
| 
 | ||||
| checkoptions() | ||||
| { | ||||
| 	/usr/bin/awk ' | ||||
| 
 | ||||
| 		/is not set/ { | ||||
| 			split ($0, a, "#"); | ||||
| 			split(a[2], b); | ||||
| 			if (NR==FNR) { | ||||
| 				configs[b[1]]="is not set"; | ||||
| 			} else { | ||||
| 				if (configs[b[1]] != "" && configs[b[1]] != "is not set") | ||||
| 					 print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Source tree"; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		/=/     { | ||||
| 			split ($0, a, "="); | ||||
| 			if (NR==FNR) { | ||||
| 				configs[a[1]]=a[2]; | ||||
| 			} else { | ||||
| 				if (configs[a[1]] != "" && configs[a[1]] != a[2]) | ||||
| 					 print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree"; | ||||
| 			} | ||||
| 		} | ||||
| 	' "$1" "$2" > .mismatches | ||||
| 
 | ||||
| 	checkoptions_error=false | ||||
| 	if test -s .mismatches | ||||
| 	then | ||||
| 		while read -r LINE | ||||
| 		do | ||||
| 			if find ./ -name "$(echo "$LINE" | awk -F "=" ' { print $1 } ' | awk ' { print $2 }')" -print0 | xargs -0 grep ^ | grep -q "process_configs_known_broken"; then | ||||
| 				# This is a known broken config. | ||||
| 				# See script help warning. | ||||
| 				checkoptions_error=false | ||||
| 			else | ||||
| 				checkoptions_error=true | ||||
| 				break | ||||
| 			fi | ||||
| 		done < .mismatches | ||||
| 
 | ||||
| 		! $checkoptions_error && return | ||||
| 
 | ||||
| 		echo "Error: Mismatches found in configuration files" | ||||
| 		cat .mismatches | ||||
| 		RETURNCODE=1 | ||||
| 		[ "$CONTINUEONERROR" ] || exit 1 | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
| parsenewconfigs() | ||||
| { | ||||
| 	tmpdir=$(mktemp -d) | ||||
| 
 | ||||
| 	# This awk script reads the output of make listnewconfig | ||||
| 	# and puts it into CONFIG_FOO files. Using the output of | ||||
| 	# listnewconfig is much easier to ensure we get the default | ||||
| 	# output. | ||||
|         /usr/bin/awk -v BASE="$tmpdir" ' | ||||
|                 /is not set/ { | ||||
|                         split ($0, a, "#"); | ||||
|                         split(a[2], b); | ||||
|                         OUT_FILE=BASE"/"b[1]; | ||||
|                         print $0 >> OUT_FILE; | ||||
|                 } | ||||
| 
 | ||||
|                 /=/     { | ||||
|                         split ($0, a, "="); | ||||
|                         OUT_FILE=BASE"/"a[1]; | ||||
|                         if (a[2] == "n") | ||||
|                                 print "# " a[1] " is not set" >> OUT_FILE; | ||||
|                         else | ||||
|                                 print $0 >> OUT_FILE; | ||||
|                 } | ||||
| 
 | ||||
|         ' .newoptions | ||||
| 
 | ||||
| 	# This awk script parses the output of helpnewconfig. | ||||
| 	# Each option is separated between ----- markers | ||||
| 	# The goal is to put all the help text as a comment in | ||||
| 	# each CONFIG_FOO file. Because of how awk works | ||||
| 	# there's a lot of moving files around and catting to | ||||
| 	# get what we need. | ||||
|         /usr/bin/awk -v BASE="$tmpdir" ' | ||||
|                 BEGIN { inpatch=0; | ||||
| 			outfile="none"; | ||||
|                         symbol="none"; } | ||||
|                 /^Symbol: .*$/ { | ||||
|                         split($0, a, " "); | ||||
|                         symbol="CONFIG_"a[2]; | ||||
|                         outfile=BASE "/fake_"symbol | ||||
|                 } | ||||
|                 /-----/ { | ||||
| 			if (inpatch == 0) { | ||||
| 				inpatch = 1; | ||||
| 			} | ||||
|                         else { | ||||
|                                 if (symbol != "none") { | ||||
|                                     system("cat " outfile " " BASE "/" symbol " > " BASE "/tmpf"); | ||||
|                                     system("mv " BASE "/tmpf " BASE "/" symbol); | ||||
|                                     symbol="none" | ||||
| 				} | ||||
|                                 outfile="none" | ||||
| 				inpatch = 0; | ||||
|                         } | ||||
|                 } | ||||
|                 !/-----/ { | ||||
|                         if (inpatch == 1 && outfile != "none") { | ||||
|                                 print "# "$0 >> outfile; | ||||
|                         } | ||||
|                 } | ||||
| 
 | ||||
| 
 | ||||
|         ' .helpnewconfig | ||||
| 
 | ||||
| 	pushd "$tmpdir" &> /dev/null | ||||
| 	rm fake_* | ||||
| 	popd &> /dev/null | ||||
| 	for f in "$tmpdir"/*; do | ||||
| 		[[ -e "$f" ]] || break | ||||
| 		cp "$f" "$SCRIPT_DIR/pending$FLAVOR/generic/" | ||||
| 	done | ||||
| 
 | ||||
| 	rm -rf "$tmpdir" | ||||
| } | ||||
| 
 | ||||
| function commit_new_configs() | ||||
| { | ||||
| 	# assume we are in $source_tree/configs, need to get to top level | ||||
| 	pushd "$(switch_to_toplevel)" &>/dev/null | ||||
| 
 | ||||
| 	for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config | ||||
| 	do | ||||
| 		arch=$(head -1 "$cfg" | cut -b 3-) | ||||
| 		cfgtmp="${cfg}.tmp" | ||||
| 		cfgorig="${cfg}.orig" | ||||
| 		cat "$cfg" > "$cfgorig" | ||||
| 
 | ||||
| 		if [ "$arch" = "EMPTY" ] | ||||
| 		then | ||||
| 			# This arch is intentionally left blank | ||||
| 			continue | ||||
| 		fi | ||||
| 		echo -n "Checking for new configs in $cfg ... " | ||||
| 
 | ||||
| 		make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig | ||||
| 		grep -E 'CONFIG_' .listnewconfig > .newoptions | ||||
| 		if test -s .newoptions | ||||
| 		then | ||||
| 			make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig | ||||
| 			parsenewconfigs | ||||
| 		fi | ||||
| 		rm .newoptions | ||||
| 		echo "done" | ||||
| 	done | ||||
| 
 | ||||
| 	git add "$SCRIPT_DIR/pending$FLAVOR" | ||||
| 	git commit -m "[redhat] AUTOMATIC: New configs" | ||||
| } | ||||
| 
 | ||||
| function process_configs() | ||||
| { | ||||
| 	# assume we are in $source_tree/configs, need to get to top level | ||||
| 	pushd "$(switch_to_toplevel)" &>/dev/null | ||||
| 
 | ||||
| 	for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config | ||||
| 	do | ||||
| 		arch=$(head -1 "$cfg" | cut -b 3-) | ||||
| 		cfgtmp="${cfg}.tmp" | ||||
| 		cfgorig="${cfg}.orig" | ||||
| 		cat "$cfg" > "$cfgorig" | ||||
| 
 | ||||
| 		if [ "$arch" = "EMPTY" ] | ||||
| 		then | ||||
| 			# This arch is intentionally left blank | ||||
| 			continue | ||||
| 		fi | ||||
| 		echo -n "Processing $cfg ... " | ||||
| 
 | ||||
| 		make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig | ||||
| 		grep -E 'CONFIG_' .listnewconfig > .newoptions | ||||
| 		if test -n "$NEWOPTIONS" && test -s .newoptions | ||||
| 		then | ||||
| 			echo "Found unset config items, please set them to an appropriate value" | ||||
| 			cat .newoptions | ||||
| 			rm .newoptions | ||||
| 			RETURNCODE=1 | ||||
| 			[ "$CONTINUEONERROR" ] || exit 1 | ||||
| 		fi | ||||
| 		rm .newoptions | ||||
| 
 | ||||
| 		grep -E 'config.*warning' .listnewconfig > .warnings | ||||
| 		if test -n "$CHECKWARNINGS" && test -s .warnings | ||||
| 		then | ||||
| 			echo "Found misconfigured config items, please set them to an appropriate value" | ||||
| 			cat .warnings | ||||
| 			rm .warnings | ||||
| 			RETURNCODE=1 | ||||
| 			[ "$CONTINUEONERROR" ] || exit 1 | ||||
| 		fi | ||||
| 		rm .warnings | ||||
| 
 | ||||
| 		rm .listnewconfig | ||||
| 
 | ||||
| 		make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 | ||||
| 		echo "# $arch" > "$cfgtmp" | ||||
| 		cat "$cfgorig" >> "$cfgtmp" | ||||
| 		if test -n "$CHECKOPTIONS" | ||||
| 		then | ||||
| 			checkoptions "$cfg" "$cfgtmp" | ||||
| 		fi | ||||
| 		# if test run, don't overwrite original | ||||
| 		if test -n "$TESTRUN" | ||||
| 		then | ||||
| 			rm -f "$cfgtmp" | ||||
| 		else | ||||
| 			mv "$cfgtmp" "$cfg" | ||||
| 		fi | ||||
| 		rm -f "$cfgorig" | ||||
| 		echo "done" | ||||
| 	done | ||||
| 	rm "$SCRIPT_DIR"/*.config*.old | ||||
| 	popd > /dev/null | ||||
| 
 | ||||
| 	echo "Processed config files are in $SCRIPT_DIR" | ||||
| } | ||||
| 
 | ||||
| CHECKOPTIONS="" | ||||
| CONTINUEONERROR="" | ||||
| NEWOPTIONS="" | ||||
| TESTRUN="" | ||||
| CHECKWARNINGS="" | ||||
| MAKEOPTS="" | ||||
| CC_IS_CLANG=0 | ||||
| 
 | ||||
| RETURNCODE=0 | ||||
| 
 | ||||
| while [[ $# -gt 0 ]] | ||||
| do | ||||
| 	key="$1" | ||||
| 	case $key in | ||||
| 		-a) | ||||
| 			CHECKOPTIONS="x" | ||||
| 			CONTINUEONERROR="x" | ||||
| 			NEWOPTIONS="x" | ||||
| 			CHECKWARNINGS="x" | ||||
| 			;; | ||||
| 		-c) | ||||
| 			CHECKOPTIONS="x" | ||||
| 			;; | ||||
| 		-h) | ||||
| 			usage | ||||
| 			;; | ||||
| 		-i) | ||||
| 			CONTINUEONERROR="x" | ||||
| 			;; | ||||
| 		-n) | ||||
| 			NEWOPTIONS="x" | ||||
| 			;; | ||||
| 		-t) | ||||
| 			TESTRUN="x" | ||||
| 			;; | ||||
| 		-w) | ||||
| 			CHECKWARNINGS="x" | ||||
| 			;; | ||||
| 		-z) | ||||
| 			COMMITNEWCONFIGS="x" | ||||
| 			;; | ||||
| 		-m) | ||||
| 			shift | ||||
| 			if [ "$1" = "CC=clang" -o "$1" = "LLVM=1" ]; then | ||||
| 				CC_IS_CLANG=1 | ||||
| 			fi | ||||
| 			MAKEOPTS="$MAKEOPTS $1" | ||||
| 			;; | ||||
| 		*) | ||||
| 			break;; | ||||
| 	esac | ||||
| 	shift | ||||
| done | ||||
| 
 | ||||
| PACKAGE_NAME="${1:-kernel}" # defines the package name used | ||||
| KVERREL="$(test -n "$2" && echo "-$2" || echo "")" | ||||
| SUBARCH="$(test -n "$3" && echo "-$3" || echo "")" | ||||
| FLAVOR="$(test -n "$4" && echo "-$4" || echo "-common")" | ||||
| SCRIPT=$(readlink -f "$0") | ||||
| SCRIPT_DIR=$(dirname "$SCRIPT") | ||||
| 
 | ||||
| # Most RHEL options are options we want in Fedora so RHEL pending settings head | ||||
| # to common/ | ||||
| if [ "$FLAVOR" = "-rhel" ] | ||||
| then | ||||
| 	FLAVOR="-common" | ||||
| fi | ||||
| 
 | ||||
| # to handle this script being a symlink | ||||
| cd "$SCRIPT_DIR" | ||||
| 
 | ||||
| if test -n "$COMMITNEWCONFIGS"; then | ||||
| 	commit_new_configs | ||||
| else | ||||
| 	process_configs | ||||
| fi | ||||
| 
 | ||||
| exit $RETURNCODE | ||||
							
								
								
									
										21
									
								
								SOURCES/rpminspect.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								SOURCES/rpminspect.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| # additional rpminspect configuration for this branch | ||||
| 
 | ||||
| --- | ||||
| inspections: | ||||
|     upstream: off | ||||
| 
 | ||||
| badfuncs: | ||||
|     ignore: | ||||
|         - /usr/libexec/ksamples/* | ||||
|         - /usr/libexec/kselftests/* | ||||
| 
 | ||||
| emptyrpm: | ||||
|     expected_empty: | ||||
|         - kernel | ||||
|         - kernel-debug | ||||
|         - kernel-debug-devel-matched | ||||
|         - kernel-devel-matched | ||||
|         - kernel-lpae | ||||
|         - kernel-zfcpdump | ||||
|         - kernel-zfcpdump-devel-matched | ||||
|         - kernel-zfcpdump-modules | ||||
							
								
								
									
										12
									
								
								SOURCES/update_scripts.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								SOURCES/update_scripts.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,12 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| if [ -z "$1" ]; then | ||||
| 	exit 1 | ||||
| fi | ||||
| 
 | ||||
| TARGET="$1" | ||||
| 
 | ||||
| for i in "$RPM_SOURCE_DIR"/*."$TARGET"; do | ||||
| 	NEW=${i%.$TARGET} | ||||
| 	cp "$i" "$NEW" | ||||
| done | ||||
							
								
								
									
										16
									
								
								SOURCES/x509.genkey.rhel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								SOURCES/x509.genkey.rhel
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| [ req ] | ||||
| default_bits = 3072 | ||||
| distinguished_name = req_distinguished_name | ||||
| prompt = no | ||||
| x509_extensions = myexts | ||||
| 
 | ||||
| [ req_distinguished_name ] | ||||
| O = Red Hat | ||||
| CN = Red Hat Enterprise Linux kernel signing key | ||||
| emailAddress = secalert@redhat.com | ||||
| 
 | ||||
| [ myexts ] | ||||
| basicConstraints=critical,CA:FALSE | ||||
| keyUsage=digitalSignature | ||||
| subjectKeyIdentifier=hash | ||||
| authorityKeyIdentifier=keyid | ||||
							
								
								
									
										10499
									
								
								SPECS/kernel.spec
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10499
									
								
								SPECS/kernel.spec
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user