c9
imports/c9/kernel-rt-5.14.0-162.6.1.rt21.168.el9_1
commit
5be81527a8
@ -0,0 +1,3 @@
|
|||||||
|
SOURCES/linux-5.14.0-162.6.1.rt21.168.el9_1.tar.xz
|
||||||
|
SOURCES/rheldup3.x509
|
||||||
|
SOURCES/rhelkpatch1.x509
|
@ -0,0 +1,3 @@
|
|||||||
|
dae924c7eec821f698beb75b6c732688146e6c26 SOURCES/linux-5.14.0-162.6.1.rt21.168.el9_1.tar.xz
|
||||||
|
95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
|
||||||
|
d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509
|
@ -0,0 +1,69 @@
|
|||||||
|
RHEL_MAJOR = 9
|
||||||
|
RHEL_MINOR = 1
|
||||||
|
|
||||||
|
#
|
||||||
|
# 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 = 162.6.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
|
||||||
|
|
||||||
|
RTBUILD:=.168
|
@ -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
|
@ -0,0 +1,166 @@
|
|||||||
|
#!/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, *ns = in_line.split()
|
||||||
|
ns = ns[0] if ns else None
|
||||||
|
|
||||||
|
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, *ns = in_line.split()
|
||||||
|
ns = ns[0] if ns else None
|
||||||
|
|
||||||
|
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 = []
|
||||||
|
ns_symbols = []
|
||||||
|
|
||||||
|
for symbol in kabi:
|
||||||
|
abi_hash, abi_sym, abi_dir, abi_type, *abi_ns = kabi[symbol].split()
|
||||||
|
abi_ns = abi_ns[0] if abi_ns else None
|
||||||
|
if symbol in symvers:
|
||||||
|
sym_hash, sym_sym, sym_dir, sym_type, *sym_ns = symvers[symbol].split()
|
||||||
|
sym_ns = sym_ns[0] if sym_ns else None
|
||||||
|
if abi_hash != sym_hash:
|
||||||
|
fail = 1
|
||||||
|
changed_symbols.append(symbol)
|
||||||
|
|
||||||
|
if abi_dir != sym_dir:
|
||||||
|
warn = 1
|
||||||
|
moved_symbols.append(symbol)
|
||||||
|
|
||||||
|
if abi_ns != sym_ns:
|
||||||
|
warn = 1
|
||||||
|
ns_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 ***")
|
||||||
|
if moved_symbols:
|
||||||
|
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("")
|
||||||
|
if ns_symbols:
|
||||||
|
print("")
|
||||||
|
print("The following symbols changed symbol namespaces:")
|
||||||
|
print("")
|
||||||
|
for symbol in ns_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)
|
@ -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"
|
@ -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
|
@ -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,0 +1,177 @@
|
|||||||
|
#! /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"
|
||||||
|
|
||||||
|
cryptdrvs="bcm caam cavium chelsio hisilicon marvell qat"
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# Filter the crypto drivers
|
||||||
|
for crypt in ${cryptdrvs}
|
||||||
|
do
|
||||||
|
filter_dir $1 drivers/crypto/${crypt}
|
||||||
|
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
|
@ -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"
|
@ -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
|
@ -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
|
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: cki.tier1-x86_64.functional}
|
@ -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-rt-*-"$PRIMARY".config; do
|
||||||
|
NEW=kernel-rt-"$VERSION"-$(echo "$i" | cut -d - -f3- | sed s/-"$PRIMARY"//)
|
||||||
|
#echo $NEW
|
||||||
|
mv "$i" "$NEW"
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -f kernel-rt-*-"$SECONDARY".config
|
||||||
|
|
||||||
|
if [ "$DEBUGBUILDSENABLED" -eq 0 ]; then
|
||||||
|
for i in kernel-rt-*debug*.config; do
|
||||||
|
base=$(echo "$i" | sed -r s/-?debug//g)
|
||||||
|
NEW=kernel-rt-$(echo "$base" | cut -d - -f3-)
|
||||||
|
mv "$i" "$NEW"
|
||||||
|
done
|
||||||
|
fi
|
@ -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.
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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,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;
|
@ -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
|
@ -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
|
@ -0,0 +1,49 @@
|
|||||||
|
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
|
||||||
|
rcuscale
|
||||||
|
test_vmalloc
|
||||||
|
test_hmm
|
||||||
|
mtty
|
@ -0,0 +1,5 @@
|
|||||||
|
kvm-amd
|
||||||
|
kvm-intel
|
||||||
|
kvm
|
||||||
|
kvmgt
|
||||||
|
ptp_kvm
|
@ -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
|
@ -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
|
@ -0,0 +1,5 @@
|
|||||||
|
# kgcov
|
||||||
|
CONFIG_GCOV_KERNEL=y
|
||||||
|
CONFIG_GCOV_PROFILE_ALL=y
|
||||||
|
# CONFIG_GCOV_PROFILE_FTRACE is not set
|
||||||
|
# CONFIG_OPEN_DICE is not set
|
@ -0,0 +1,408 @@
|
|||||||
|
#!/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()
|
||||||
|
{
|
||||||
|
count=$3
|
||||||
|
variant=$4
|
||||||
|
|
||||||
|
/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${count}
|
||||||
|
|
||||||
|
checkoptions_error=false
|
||||||
|
if test -s .mismatches${count}
|
||||||
|
then
|
||||||
|
while read -r LINE
|
||||||
|
do
|
||||||
|
if find "${REDHAT}"/configs -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${count}
|
||||||
|
|
||||||
|
! $checkoptions_error && return
|
||||||
|
|
||||||
|
sed -i "1s/^/Error: Mismatches found in configuration files for ${arch} ${variant}\n/" .mismatches${count}
|
||||||
|
else
|
||||||
|
rm -f .mismatches${count}
|
||||||
|
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_config()
|
||||||
|
{
|
||||||
|
local cfg
|
||||||
|
local arch
|
||||||
|
local cfgtmp
|
||||||
|
local cfgorig
|
||||||
|
local count
|
||||||
|
local variant
|
||||||
|
|
||||||
|
cfg=$1
|
||||||
|
count=$2
|
||||||
|
|
||||||
|
arch=$(head -1 "$cfg" | cut -b 3-)
|
||||||
|
|
||||||
|
if [ "$arch" = "EMPTY" ]
|
||||||
|
then
|
||||||
|
# This arch is intentionally left blank
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
variant=$(basename "$cfg" | cut -d"-" -f3- | cut -d"." -f1)
|
||||||
|
|
||||||
|
cfgtmp="${cfg}.tmp"
|
||||||
|
cfgorig="${cfg}.orig"
|
||||||
|
cat "$cfg" > "$cfgorig"
|
||||||
|
|
||||||
|
echo "Processing $cfg ... "
|
||||||
|
|
||||||
|
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig${count}
|
||||||
|
grep -E 'CONFIG_' .listnewconfig${count} > .newoptions${count}
|
||||||
|
if test -n "$NEWOPTIONS" && test -s .newoptions${count}
|
||||||
|
then
|
||||||
|
echo "Found unset config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors${count}
|
||||||
|
cat .newoptions${count} >> .errors${count}
|
||||||
|
rm .newoptions${count}
|
||||||
|
RETURNCODE=1
|
||||||
|
fi
|
||||||
|
rm .newoptions${count}
|
||||||
|
|
||||||
|
grep -E 'config.*warning' .listnewconfig${count} > .warnings${count}
|
||||||
|
if test -n "$CHECKWARNINGS" && test -s .warnings${count}
|
||||||
|
then
|
||||||
|
echo "Found misconfigured config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors${count}
|
||||||
|
cat .warnings${count} >> .errors${count}
|
||||||
|
rm .warnings${count}
|
||||||
|
fi
|
||||||
|
rm .warnings${count}
|
||||||
|
|
||||||
|
rm .listnewconfig${count}
|
||||||
|
|
||||||
|
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" "$count" "$variant"
|
||||||
|
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 "Processing $cfg complete"
|
||||||
|
}
|
||||||
|
|
||||||
|
function process_configs()
|
||||||
|
{
|
||||||
|
# assume we are in $source_tree/configs, need to get to top level
|
||||||
|
pushd "$(switch_to_toplevel)" &>/dev/null
|
||||||
|
|
||||||
|
# The next line is throwaway code for transition to parallel
|
||||||
|
# processing. Leaving this line in place is harmless, but it can be
|
||||||
|
# removed the next time anyone updates this function.
|
||||||
|
[ -f .mismatches ] && rm -f .mismatches
|
||||||
|
|
||||||
|
count=0
|
||||||
|
for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config
|
||||||
|
do
|
||||||
|
if [ "$count" -eq 0 ]; then
|
||||||
|
# do the first one by itself so that tools are built
|
||||||
|
process_config "$cfg" "$count"
|
||||||
|
fi
|
||||||
|
process_config "$cfg" "$count" &
|
||||||
|
waitpids[${count}]=$!
|
||||||
|
((count++))
|
||||||
|
while [ "$(jobs | grep Running | wc -l)" -ge $RHJOBS ]; do :; done
|
||||||
|
done
|
||||||
|
for pid in ${waitpids[*]}; do
|
||||||
|
wait ${pid}
|
||||||
|
done
|
||||||
|
|
||||||
|
rm "$SCRIPT_DIR"/*.config*.old
|
||||||
|
|
||||||
|
if ls .errors* 1> /dev/null 2>&1; then
|
||||||
|
RETURNCODE=1
|
||||||
|
cat .errors*
|
||||||
|
rm .errors* -f
|
||||||
|
fi
|
||||||
|
if ls .mismatches* 1> /dev/null 2>&1; then
|
||||||
|
RETURNCODE=1
|
||||||
|
cat .mismatches*
|
||||||
|
rm .mismatches* -f
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
[ $RETURNCODE -eq 0 ] && echo "Processed config files are in $SCRIPT_DIR"
|
||||||
|
}
|
||||||
|
|
||||||
|
CHECKOPTIONS=""
|
||||||
|
NEWOPTIONS=""
|
||||||
|
TESTRUN=""
|
||||||
|
CHECKWARNINGS=""
|
||||||
|
MAKEOPTS=""
|
||||||
|
CC_IS_CLANG=0
|
||||||
|
|
||||||
|
RETURNCODE=0
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
case $key in
|
||||||
|
-a)
|
||||||
|
CHECKOPTIONS="x"
|
||||||
|
NEWOPTIONS="x"
|
||||||
|
CHECKWARNINGS="x"
|
||||||
|
;;
|
||||||
|
-c)
|
||||||
|
CHECKOPTIONS="x"
|
||||||
|
;;
|
||||||
|
-h)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
-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-rt}" # 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")"
|
||||||
|
RHJOBS="$(test -n "$5" && echo "$5" || nproc --all)"
|
||||||
|
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
|
@ -0,0 +1,30 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
patches:
|
||||||
|
ignore_list:
|
||||||
|
- linux-kernel-test.patch
|
||||||
|
- patch-5.14.0-redhat.patch
|
||||||
|
|
||||||
|
specname:
|
||||||
|
match: prefix
|
||||||
|
primary: filename
|
@ -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
|
@ -0,0 +1,16 @@
|
|||||||
|
[ req ]
|
||||||
|
default_bits = 3072
|
||||||
|
distinguished_name = req_distinguished_name
|
||||||
|
prompt = no
|
||||||
|
x509_extensions = myexts
|
||||||
|
|
||||||
|
[ req_distinguished_name ]
|
||||||
|
O = The CentOS Project
|
||||||
|
CN = CentOS Stream kernel signing key
|
||||||
|
emailAddress = security@centos.org
|
||||||
|
|
||||||
|
[ myexts ]
|
||||||
|
basicConstraints=critical,CA:FALSE
|
||||||
|
keyUsage=digitalSignature
|
||||||
|
subjectKeyIdentifier=hash
|
||||||
|
authorityKeyIdentifier=keyid
|
@ -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
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue