From 3030db9043b508a8fd7c0dcc3f77487e270c346d Mon Sep 17 00:00:00 2001 From: Giovanni Mariani Date: Wed, 9 Mar 2022 19:02:02 +0100 Subject: [PATCH] Updated to release 5.10.103, updated S80 and killed more rpmlint noises, disabled non-applying custom patches, conditionally disable AUSFS, cleaned specd file --- .abf.yml | 12 - kernel-5.10.93-fix-perf-build.patch | 12 + kernel-x86_64.config | 20 +- kernel.rpmlintrc | 33 +- kernel.spec | 804 ++++++++++++++++------------ public_key_GOST_1.pem | 17 + public_key_GOST_2.pem | 17 + public_key_GOST_3.pem | 17 + public_key_GOST_4.pem | 17 + public_key_GOST_5.pem | 17 + public_key_GOST_6.pem | 17 + public_key_RSA_10.pem | 22 + public_key_RSA_11.pem | 22 + public_key_RSA_12.pem | 22 + public_key_RSA_7.pem | 22 + public_key_RSA_8.pem | 22 + public_key_RSA_9.pem | 22 + 17 files changed, 756 insertions(+), 359 deletions(-) create mode 100644 kernel-5.10.93-fix-perf-build.patch create mode 100644 public_key_GOST_1.pem create mode 100644 public_key_GOST_2.pem create mode 100644 public_key_GOST_3.pem create mode 100644 public_key_GOST_4.pem create mode 100644 public_key_GOST_5.pem create mode 100644 public_key_GOST_6.pem create mode 100644 public_key_RSA_10.pem create mode 100644 public_key_RSA_11.pem create mode 100644 public_key_RSA_12.pem create mode 100644 public_key_RSA_7.pem create mode 100644 public_key_RSA_8.pem create mode 100644 public_key_RSA_9.pem diff --git a/.abf.yml b/.abf.yml index 1fc397e..c388972 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,15 +1,3 @@ sources: linux-5.10.tar.xz: be0b909f1fbb760cc2d5cf146e1da3b2af0cf899 - public_key_GOST_1.pem: b4fb6bf1cf73824944931a8f0c2cb7bf427e0774 - public_key_GOST_2.pem: cba209bd331f29031c5d945949b230a8d7a4dc12 - public_key_GOST_3.pem: e5a223dd7c556d4d0cac326f5ed9fc12dd769afb - public_key_GOST_4.pem: faa508628621920681f37f8022f5201cb2151a47 - public_key_GOST_5.pem: 5e9869ff488d76ddd51075abef4d18b4656e2de4 - public_key_GOST_6.pem: 737b1331d0b4fde999b86888770217aef44978fc - public_key_RSA_10.pem: ea4752f0a0671a998ba83050acad926a1cbd8c37 - public_key_RSA_11.pem: b71d76f7f322fcd107b3607dfcacb99a0ca20892 - public_key_RSA_12.pem: ce9600ed7fb5c505dc7208a4a2fab4c8ba20df72 - public_key_RSA_7.pem: 5daae59c847c31e786890ad77f66ba3545b26811 - public_key_RSA_8.pem: bd70516e3391f344a5072b3ccf1380af7f8d9eb0 - public_key_RSA_9.pem: 28d20bffc2a3d27993985c69d82626484edca7fd patch-5.10.74.xz: c8b8f8fcde64cbce35d68926460f70ecf8f0f933 diff --git a/kernel-5.10.93-fix-perf-build.patch b/kernel-5.10.93-fix-perf-build.patch new file mode 100644 index 0000000..1a64574 --- /dev/null +++ b/kernel-5.10.93-fix-perf-build.patch @@ -0,0 +1,12 @@ +diff -rupN linux-5.10.old/tools/perf/ui/libslang.h linux-5.10/tools/perf/ui/libslang.h +--- linux-5.10.old/tools/perf/ui/libslang.h 2020-12-13 23:41:30.000000000 +0100 ++++ linux-5.10/tools/perf/ui/libslang.h 2022-01-24 20:53:33.972152889 +0100 +@@ -14,7 +14,7 @@ + #ifdef HAVE_SLANG_INCLUDE_SUBDIR + #include + #else +-#include ++#include + #endif + + #if SLANG_VERSION < 20104 diff --git a/kernel-x86_64.config b/kernel-x86_64.config index 24c43a9..7611400 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -1,11 +1,11 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.10.47 Kernel Configuration +# Linux/x86 5.10.103 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.1.0 20210427 (ROSA)" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=110100 -CONFIG_LD_VERSION=236010000 +CONFIG_GCC_VERSION=110200 +CONFIG_LD_VERSION=237000000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y @@ -240,6 +240,7 @@ CONFIG_BPF_SYSCALL=y CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_UNPRIV_DEFAULT=y CONFIG_USERMODE_DRIVER=y # CONFIG_BPF_PRELOAD is not set CONFIG_USERFAULTFD=y @@ -845,6 +846,7 @@ CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_ARCH_USE_MEMREMAP_PROT=y # CONFIG_LOCK_EVENT_COUNTS is not set CONFIG_ARCH_HAS_MEM_ENCRYPT=y +CONFIG_ARCH_HAS_CC_PLATFORM=y CONFIG_HAVE_STATIC_CALL=y CONFIG_HAVE_STATIC_CALL_INLINE=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y @@ -857,6 +859,9 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y # end of GCOV-based kernel profiling CONFIG_HAVE_GCC_PLUGINS=y +# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set +CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y +# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -6662,6 +6667,7 @@ CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE_COLUMNS=80 CONFIG_DUMMY_CONSOLE_ROWS=25 CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set @@ -10148,11 +10154,17 @@ CONFIG_LSM="yama,loadpin,integrity,selinux,apparmor,bpf,altha" # # Kernel hardening options # +CONFIG_GCC_PLUGIN_STRUCTLEAK=y # # Memory initialization # -CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_STACK_NONE is not set +CONFIG_GCC_PLUGIN_STRUCTLEAK_USER=y +# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set +# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set +# CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set +# CONFIG_GCC_PLUGIN_STACKLEAK is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set # end of Memory initialization diff --git a/kernel.rpmlintrc b/kernel.rpmlintrc index 59967cd..8da8b9c 100644 --- a/kernel.rpmlintrc +++ b/kernel.rpmlintrc @@ -1,4 +1,4 @@ -# too many false errors +# Too many false errors addFilter("E: zero-length") addFilter("E: incoherent-version-in-name") addFilter("E: unstripped-binary-or-object") @@ -6,5 +6,34 @@ addFilter("W: devel-file-in-non-devel-package") addFilter("W: dangling-relative-symlink") addFilter("W: non-executable-script") addFilter("W: script-without-shebang") -# longer descriptions are allowed in rpm4 platforms + +# Perhaps OK? +addFilter("W: doc-file-dependency") + +# Longer descriptions are allowed in rpm4 platforms addFilter("E: description-line-too-long") + +addFilter("E: useless-provides") +addFilter("E: hardcoded-library-path") + +# libexec is OK now +addFilter("W: non-standard-dir-in-usr") + +# rpmlint expects "kernel-%%{version}" +# but we really have "kernel-%%{version}-generic" +addFilter("E: invalid-spec-name") + +# False positive: cpupower package is not a library +addFilter("E: non-versioned-file-in-library-package") +addFilter("E: executable-in-library-package") + +# UML stuff is OK +addFilter("W: symlink-should-be-relative") +addFilter("W: executable-stack") + +# Vmlinux is statically linked and has a peculiar internal structure +addFilter("E: missing-PT_GNU_STACK-section") +addFilter("W: statically-linked-binary") + +# Kernel modules don't bother about joliet compatibility... +addFilter("W: filename-too-long-for-joliet") diff --git a/kernel.spec b/kernel.spec index 94567ed..2c5d0eb 100644 --- a/kernel.spec +++ b/kernel.spec @@ -1,82 +1,82 @@ # _get_email() in %%build contains bashisms for regexping -%define _buildshell /bin/bash +%define _buildshell /bin/bash # brp-python-bytecompile uses /usr/bin/python, # but it is a different python version in different ROSA # releases; there is no good way to tell brp-python-bytecompile # which iterpreter to use; so just disable it to avoid problems -%define _python_bytecompile_build 0 +%define _python_bytecompile_build 0 # Probably dwz bug, on i686 only file is not packaged: # /usr/lib/debug/usr/bin/trace-5.4.40-3.i386.debug.#dwz#.b5xuKG # dwz compresses only debuginfo from perf, cpupower, uml, # not the kernel itself (because it is stripped not by RPM), # so we do not loose much by disabling it. -%global _find_debuginfo_dwz_opts %{nil} +%global _find_debuginfo_dwz_opts %{nil} # Put everything into one non-standard debuginfo subpackage # TODO: make multiple debuginfo packages coinstallable as installonlypkg, # to achive this, there must be no conflicting files. # Probably signing and compressing of kernel modules # has to be moved to %%_spec_install_post. -%global _debuginfo_subpackages %{nil} -%global _debuginfo_template %{nil} -%undefine _debugsource_packages +%global _debuginfo_subpackages %{nil} +%global _debuginfo_template %{nil} +%undefine _debugsource_packages # Hack: flavour and major version are variable, make %%_build_pkgcheck_* always detect and use this config -%global _build_pkgcheck_set %(echo "%{_build_pkgcheck_set}" | sed -e 's,/%{name}.rpmlintrc,/kernel.rpmlintrc,') -%global _build_pkgcheck_srpm %(echo "%{_build_pkgcheck_srpm}" | sed -e 's,/%{name}.rpmlintrc,/kernel.rpmlintrc,') +%global _build_pkgcheck_set %(echo "%{_build_pkgcheck_set}" | sed -e 's,/%{name}.rpmlintrc,/kernel.rpmlintrc,') +%global _build_pkgcheck_srpm %(echo "%{_build_pkgcheck_srpm}" | sed -e 's,/%{name}.rpmlintrc,/kernel.rpmlintrc,') -%define kernelversion 5 -%define patchlevel 10 -%define sublevel 74 +%define kernelversion 5 +%define patchlevel 10 +%define sublevel 103 # Release number. Increase this before a rebuild. -%define rpmrel 2 -%define fullrpmrel %{rpmrel} +%define rpmrel 1 +%define fullrpmrel %{rpmrel} -%define rpmtag %{disttag} +%define rpmtag %{disttag} -# version defines -%define kversion %{kernelversion}.%{patchlevel}.%{sublevel} -%define kverrel %{kversion}-%{fullrpmrel} -%define tar_ver %{kernelversion}.%{patchlevel} +# Version defines +%define kversion %{kernelversion}.%{patchlevel}.%{sublevel} +%define kverrel %{kversion}-%{fullrpmrel} +%define tar_ver %{kernelversion}.%{patchlevel} %ifarch %{ix86} -%define arch_suffix i586 +%define arch_suffix i586 %endif %ifarch %{x86_64} -%define arch_suffix x86_64 +%define arch_suffix x86_64 %endif %ifarch aarch64 -%define arch_suffix arm64 +%define arch_suffix arm64 %endif -%define buildrpmrel %{fullrpmrel}%{rpmtag}-%{arch_suffix} -%define buildrel %{kversion}-%{buildrpmrel} +%define buildrpmrel %{fullrpmrel}%{rpmtag}-%{arch_suffix} +%define buildrel %{kversion}-%{buildrpmrel} # Add not only the build time generated key to the trusted keyring, # but also add public keys of private ROSA's keys -%bcond_without additional_keys +%bcond_without additional_keys # Fail the build after "make oldconfig" to edit kernel configs -%bcond_with fail +%bcond_with fail # User Mode Linux, https://habr.com/ru/company/itsumma/blog/459558/ # Not buildable on aarch64 %ifarch %{x86_64} -%bcond_without uml +%bcond_without uml %else -%bcond_with uml +%bcond_with uml %endif # "Nickel" is a special brand for certified distros %if %{mdvver} == 201900 || %{mdvver} == 201905 -%bcond_without nickel +%bcond_without nickel # Require kernel modules to be signed -%bcond_without oblig_signed_modules +%bcond_without oblig_signed_modules %else %bcond_with nickel %bcond_with oblig_signed_modules @@ -84,7 +84,7 @@ %if %{mdvver} >= 201905 # Build binary out-of-tree kernel modules (experimental) -%bcond_without binary_extra_modules +%bcond_with binary_extra_modules # Sign kernel modules with GOST key (experimental) %bcond_without gost_sign %else @@ -93,74 +93,77 @@ %endif %bcond_with ccache -%bcond_without flow_abi +%bcond_with flow_abi +# Broken in kernels >= 5.10.84 +%bcond_with aufs # 1. VirtualBox is for x86_32 and x86_64 only # 2. I do not know how to solve the problem that userspace part of VirtualBox # will be updated ahead of these binary modules. So just off building them. %bcond_with binary_virtualbox_host -# shredder-kernel works only on x86_64, makes manipulations with syscalls tables, +# Shredder-kernel works only on x86_64, makes manipulations with syscalls tables, # loading/unloading of the module failed sometimes on kernel 5.4 # and it has not been adapted for kernel 5.10 (is not buildable) %bcond_with binary_shredder -# compress modules with zstd (zstd is good compression and fast decompression) -%bcond_without compress_modules +# Compress modules with zstd (zstd is good compression and fast decompression) +#bcond_without compress_modules # Spend more resources on compression, but make resulting size less; # decompression speed will not be affected, but more memory will be required # which should not a problem here (performance penalty from allocating more # memory should not be big, I think, but I did not benchmark). -%define zstd_cmd zstd -q --format=zstd --ultra -22 +#define zstd_cmd zstd -q --format=zstd --ultra -22 +# Optionally keep using xz as compressor +#bcond_without modxz # Kernel flavour %if %{with nickel} -%define flavour nickel +%define flavour nickel %else -%define flavour generic +%define flavour generic %endif # The full kernel version -%define kver_full %{kversion}-%{flavour}-%{buildrpmrel} +%define kver_full %{kversion}-%{flavour}-%{buildrpmrel} ############################################################################ -%define top_dir_name kernel-%{_arch} -%define build_dir ${RPM_BUILD_DIR}/%{top_dir_name} -%define src_dir %{build_dir}/linux-%{tar_ver} +%define top_dir_name kernel-%{_arch} +%define build_dir ${RPM_BUILD_DIR}/%{top_dir_name} +%define src_dir %{build_dir}/linux-%{tar_ver} # Common target directories -%define _bootdir /boot -%define _modulesdir /lib/modules -%define devel_root /usr/src/linux-%{kver_full} - -%define initrd_path %{_bootdir}/initrd-%{kver_full}.img +%define _bootdir /boot +%define _modulesdir /lib/modules +%define devel_root /usr/src/linux-%{kver_full} +%define initrd_path %{_bootdir}/initrd-%{kver_full}.img # Directories needed for building -%define temp_root %{build_dir}/temp-root -%define temp_boot %{temp_root}%{_bootdir} -%define temp_modules %{temp_root}%{_modulesdir} -%define temp_devel_root %{temp_root}%{devel_root} +%define temp_root %{build_dir}/temp-root +%define temp_boot %{temp_root}%{_bootdir} +%define temp_modules %{temp_root}%{_modulesdir} +%define temp_devel_root %{temp_root}%{devel_root} # Directories definition needed for installing -%define target_boot %{buildroot}%{_bootdir} -%define target_modules %{buildroot}%{_modulesdir} +%define target_boot %{buildroot}%{_bootdir} +%define target_modules %{buildroot}%{_modulesdir} # Manual control of creating and deleting keys # "rnd" is "random" and means that a key pair is generated at build time # and is not saved anywhere. -%define certs_dir_rnd certs -%define certs_signing_key_priv_rnd %{certs_dir_rnd}/signing_key_priv.key -%define certs_signing_der %{certs_dir_rnd}/signing_key.x509 -%define certs_key_config_rnd %{certs_dir_rnd}/x509.genkey -%define certs_public_keys %{certs_dir_rnd}/public.pem -%define certs_verify_tmp %{certs_dir_rnd}/verify.tmp +%define certs_dir_rnd certs +%define certs_signing_key_priv_rnd %{certs_dir_rnd}/signing_key_priv.key +%define certs_signing_der %{certs_dir_rnd}/signing_key.x509 +%define certs_key_config_rnd %{certs_dir_rnd}/x509.genkey +%define certs_public_keys %{certs_dir_rnd}/public.pem +%define certs_verify_tmp %{certs_dir_rnd}/verify.tmp -%define kernel_files %{_builddir}/kernel_files.list -%define debuginfo_files %{_builddir}/debuginfo_files.list +%define kernel_files %{_builddir}/kernel_files.list +%define debuginfo_files %{_builddir}/debuginfo_files.list # Append list of files generate by find-debuginfo.sh to our custom list -%global __debug_install_post \ +%global __debug_install_post \ %{__debug_install_post} \ cat %{_builddir}/debugfiles.list >> %{debuginfo_files} @@ -168,10 +171,10 @@ cat %{_builddir}/debugfiles.list >> %{debuginfo_files} %if %{with binary_extra_modules} # https://github.com/rpm-software-management/rpm/pull/1794 -%define nvidia_390_j %(if rpm -q kernel-source-nvidia390 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia390 | awk -F '.' '{print $1}'; else echo 0; fi) -%define nvidia_390_n %(if rpm -q kernel-source-nvidia390 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia390 | awk -F '.' '{print $2}'; else echo 0; fi) -%define nvidia_470_j %(if rpm -q kernel-source-nvidia470 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia470 | awk -F '.' '{print $1}'; else echo 0; fi) -%define nvidia_470_n %(if rpm -q kernel-source-nvidia470 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia470 | awk -F '.' '{print $2}'; else echo 0; fi) +%define nvidia_390_j %(if rpm -q kernel-source-nvidia390 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia390 | awk -F '.' '{print $1}'; else echo 0; fi) +%define nvidia_390_n %(if rpm -q kernel-source-nvidia390 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia390 | awk -F '.' '{print $2}'; else echo 0; fi) +%define nvidia_470_j %(if rpm -q kernel-source-nvidia470 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia470 | awk -F '.' '{print $1}'; else echo 0; fi) +%define nvidia_470_n %(if rpm -q kernel-source-nvidia470 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia470 | awk -F '.' '{print $2}'; else echo 0; fi) # For SRPM stage when auto-krokodil-rpm-macros is not installed %{?!kroko_req_modules_in_kernel:%define kroko_req_modules_in_kernel(j:n:p:) %{nil}} @@ -179,28 +182,7 @@ cat %{_builddir}/debugfiles.list >> %{debuginfo_files} ############################################################################ -# Build defines -%define build_doc 0 -%define build_devel 1 -%define build_debug 1 - -# Build kernel-headers package -%define build_headers 1 - -# build perf and cpupower tools -%if %{mdvver} > 201610 -%define build_perf 1 -%define build_cpupower 1 -%else -# This is not the main kernel in rosa2016.1 -# This one will be in contrib, not main, in rosa2016.1 -%define build_perf 0 -%define build_cpupower 0 -%endif - -# End of user definitions - -# buildtime flags +# Buildtime flags %{?_without_doc: %global build_doc 0} %{?_without_devel: %global build_devel 0} %{?_without_debug: %global build_debug 0} @@ -212,63 +194,88 @@ cat %{_builddir}/debugfiles.list >> %{debuginfo_files} %{?_with_debug: %global build_debug 1} %{?_with_perf: %global build_perf 1} %{?_with_cpupower: %global build_cpupower 1} +#{?_with_modxz: %%global build_modxz 1} -%if %{with compress_modules} -%define kmod_suffix .zst +# Build defines +%define build_doc 1 +%define build_devel 1 +%define build_debug 1 + +# Build kernel-headers package +%define build_headers 1 + +# Build perf and cpupower tools +%if %{mdvver} > 201610 +%define build_perf 1 +%define build_cpupower 1 %else -%define kmod_suffix %{nil} +# This is not the main kernel in rosa2016.1 +# This one will be in contrib, not main, in rosa2016.1 +%define build_perf 0 +%define build_cpupower 0 %endif +#if %%{with compress_modules} + #if %%{with modxz} +%define kmod_suffix .xz + #else + ##define kmod_suffix .zst + #endif +#else + #define kmod_suffix %%{nil} +#endif + %if !%{build_debug} # Disable debug rpms. -%define _enable_debug_packages %{nil} -%define debug_package %{nil} +%define _enable_debug_packages %{nil} +%define debug_package %{nil} %endif +# End of user definitions + # http://nickdesaulniers.github.io/blog/2018/06/02/speeding-up-linux-kernel-builds-with-ccache/ %if %{with ccache} -%define kmake KBUILD_BUILD_TIMESTAMP='' %make CC='ccache gcc' ARCH="%{arch_type}" +%define kmake KBUILD_BUILD_TIMESTAMP='' %make CC='ccache gcc' ARCH="%{arch_type}" %else -%define kmake %make CC='gcc' ARCH="%{arch_type}" +%define kmake %make CC='gcc' ARCH="%{arch_type}" %endif -# there are places where parallel make don't work -%define smake make +# There are places where parallel make don't work +%define smake make %ifarch %{ix86} %{x86_64} -%define arch_type x86 +%define arch_type x86 %endif -%ifarch aarch64 -%define arch_type arm64 +%ifarch aarch64 +%define arch_type arm64 %endif - # Parallelize xargs invocations on smp machines -%define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\ +%define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\ && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-P $RPM_BUILD_NCPUS") # # SRC RPM description # -Summary: The Linux kernel +Summary: The Linux kernel Name: kernel-%{kernelversion}.%{patchlevel}-%{flavour} -Version: %{kversion} -Release: %{fullrpmrel} -License: GPLv2 -Group: System/Kernel and hardware -URL: http://www.kernel.org +Version: %{kversion} +Release: %{fullrpmrel} +License: GPLv2 +Group: System/Kernel and hardware +Url: https://www.kernel.org #################################################################### # # Sources # -Source0: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.xz +Source0: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.xz # This is for disabling *config, mrproper, prepare, scripts on -devel rpms # Needed, because otherwise the -devel won't build correctly. -Source2: 0001-disable-mrproper-prepare-scripts-configs-in-devel-rp.patch +Source2: 0001-disable-mrproper-prepare-scripts-configs-in-devel-rp.patch -# TODO: make a separate package "ksobirator" and BR it +# TODO: Make a separate package "ksobirator" and BR it # after testing these macros properly Source3: macros.ksobirator %{load:%{SOURCE3}} @@ -279,12 +286,12 @@ Source112: kernel-i586.config Source113: kernel-arm64.config # Cpupower: the service, the config, etc. -Source50: cpupower.service -Source51: cpupower.config -Source52: cpupower-start.sh -Source53: cpupower.path +Source50: cpupower.service +Source51: cpupower.config +Source52: cpupower-start.sh +Source53: cpupower.path -Source80: kernel.rpmlintrc +Source80: kernel.rpmlintrc # Additional keys that can be used to sign kernel modules # Generated by https://abf.io/soft/kernel-keys @@ -298,10 +305,11 @@ Source80: kernel.rpmlintrc # Patches # The patch to make kernel x.y.z from x.y.0. -Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{kversion}.xz +Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{kversion}.xz # Patches from mainline # none +Patch2: kernel-5.10.93-fix-perf-build.patch # ROSA-specific patches @@ -309,37 +317,39 @@ Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{k # generated during that process, xmlto tries to get DTD files from the Net. # If it fails, the whole build fails, which is unfortunate. Let us avoid # this. -Patch101: 0001-perf-skip-xmlto-validation.patch +Patch101: 0001-perf-skip-xmlto-validation.patch # http://bugs.rosalinux.ru/show_bug.cgi?id=6235 # http://bugs.rosalinux.ru/show_bug.cgi?id=6459 -Patch102: 0001-audit-make-it-less-verbose.patch +Patch102: 0001-audit-make-it-less-verbose.patch +%if %{with aufs} # AUFS 5 from http://aufs.sourceforge.net/ -Patch109: 0001-Apply-AUFS-5.patch +Patch109: 0001-Apply-AUFS-5.patch # Unofficial AUFS for kernel 5.10 # https://sourceforge.net/projects/lxpup/files/Other/huge-kernels/kernel-5.10-aufs-changes/ -Patch110: aufs-k510.diff +Patch110: aufs-k510.diff +%endif # For kmod() generator of RPM Provides # Changes version of aacraid.ko -Patch111: 0001-Remove-RPM-illegal-chars-from-module-version.patch +Patch111: 0001-Remove-RPM-illegal-chars-from-module-version.patch # AltHa LSM Module # https://www.altlinux.org/AltHa # http://git.altlinux.org/gears/k/kernel-image-un-def.git # TODO: known problem: https://bugzilla.altlinux.org/show_bug.cgi?id=38225 -Patch201: 0001-AltHa-LSM-module.patch -Patch202: 0002-Documentation-for-AltHa-LSM.patch -Patch203: 0003-security-altha-altha_lsm.c-build-fixed-with-kernel-5.patch -Patch204: 0004-altha-use-path-strings-instead-of-path-structs.patch +Patch201: 0001-AltHa-LSM-module.patch +Patch202: 0002-Documentation-for-AltHa-LSM.patch +Patch203: 0003-security-altha-altha_lsm.c-build-fixed-with-kernel-5.patch +Patch204: 0004-altha-use-path-strings-instead-of-path-structs.patch # sent to upstream, https://patchwork.kernel.org/patch/11446123/ -Patch302: 0001-sign-file-full-functionality-with-modern-LibreSSL.patch +Patch302: 0001-sign-file-full-functionality-with-modern-LibreSSL.patch # Support loading GOST-signed modules -Patch305: 0001-crypto-support-loading-GOST-signed-kernel-modules.patch +Patch305: 0001-crypto-support-loading-GOST-signed-kernel-modules.patch # Allow to off modules signature check dynamically -Patch306: 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch +Patch306: 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch # Experimental patch to reduce freezes in low memory conditions # Config values are the following: # CONFIG_UNEVICTABLE_ACTIVEFILE=y @@ -351,161 +361,165 @@ Patch306: 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch # 256 and 512 MB values are too big as a distro default because many systems have 512MB-2GB RAM # TODO: tune 50 and 100 MB to some not random and mathemetically explainable values # https://www.linux.org.ru/news/kernel/16052362?cid=16075323 -Patch307: le9pf.diff -Patch308: 0001-Revert-kallsyms-unexport-kallsyms_lookup_name-and-ka.patch +Patch307: le9pf.diff +Patch308: 0001-Revert-kallsyms-unexport-kallsyms_lookup_name-and-ka.patch # Support SoC with Baikal-M (ARMv8) CPU # From http://git.altlinux.org/gears/k/kernel-image-std-def.git (many thanks!) # They are based on sources from official SDK with patched kernel from Baikal Electronics -Patch0601: 0601-Baikal-M-Kconfig-defconfig.patch -Patch0602: 0602-Baikal-M-clock-driver.patch -Patch0603: 0603-efi-rtc-avoid-calling-efi.get_time-on-Baikal-M-board.patch -Patch0604: 0604-efi-arm-runtime-print-EFI-mapping.patch -Patch0605: 0605-ethernet-stmmac-made-dwmac1000_-DMA-functions-availa.patch -Patch0606: 0606-stmmac-Baikal-M-dwmac-driver.patch -Patch0607: 0607-Fixed-secondary-CPUs-boot-on-BE-M1000-SoC.patch -Patch0608: 0608-Baikal-M-USB-driver.patch +Patch0601: 0601-Baikal-M-Kconfig-defconfig.patch +Patch0602: 0602-Baikal-M-clock-driver.patch +Patch0603: 0603-efi-rtc-avoid-calling-efi.get_time-on-Baikal-M-board.patch +Patch0604: 0604-efi-arm-runtime-print-EFI-mapping.patch +#Patch0605: 0605-ethernet-stmmac-made-dwmac1000_-DMA-functions-availa.patch +Patch0606: 0606-stmmac-Baikal-M-dwmac-driver.patch +Patch0607: 0607-Fixed-secondary-CPUs-boot-on-BE-M1000-SoC.patch +Patch0608: 0608-Baikal-M-USB-driver.patch # https://bugzilla.altlinux.org/show_bug.cgi?id=40269 -Patch0609: 0609-Baikal-M-video-unit-driver.patch -Patch0610: 0610-Added-Baikal-T1-M-BMC-driver.patch -Patch0611: 0611-dw-hdmi-ahb-audio-support-BE-M1000-SoC.patch -Patch0612: 0612-bt1-pvt.c-access-registers-via-pvt_-readl-writel-hel.patch -Patch0613: 0613-bt1-pvt-define-pvt_readl-pvt_writel-for-BE-M1000-SoC.patch -Patch0614: 0614-bt1-pvt-adjust-probing-for-BE-M1000-SoC.patch -Patch0615: 0615-bt1-pvt-added-compatible-baikal-pvt.patch -Patch0616: 0616-Baikal-M-PCIe-driver-from-SDK-M-4.3.patch -Patch0617: 0617-Baikal-M-PCIe-driver-from-SDK-M-4.4.patch -Patch0618: 0618-baikal_vdu-avoid-using-SMC-calls-for-updating-frameb.patch -Patch0619: 0619-panfrost-compatibility-with-Baikal-M-firmware-from-S.patch -Patch0620: 0620-cpufreq-dt-don-t-load-on-BE-M1000-SoC.patch -Patch0621: 0621-baikal_clk-compatibility-with-SDK-M-5.1-firmware.patch -Patch0622: 0622-stmmac_mdio-implemented-reset-via-MAC-GP-out-pin.patch -Patch0623: 0623-dwmac_baikal-clear-PHY-reset-before-calling-generic-.patch -Patch0624: 0624-BROKEN-dwc-i2s-support-BE-M1000-SoC.patch -Patch0625: 0625-baikal_vdu_drm-LVDS-panel-support.patch -Patch0626: 0626-Serial-82550_dw-Fix-clock-rate-setting-in-dw8250_set.patch -Patch0627: 0627-drm-panfrost-Fix-memory-attributes-for-Mali-T620.patch -Patch0628: 0628-drm-panfrost-Trim-affinity-for-Mali-T620.patch -Patch0629: 0629-baikal_vdu_drm-_plane_atomic_check-actually-re-enabl.patch -Patch0630: 0630-baikal_vdu-figure-out-LVDS-endpoint-count.patch -Patch0631: 0631-panfrost-disable-devfreq-on-BE-M1000-SoC.patch -Patch0632: 0632-pm-disable-all-sleep-states-on-BE-M1000-based-boards.patch -Patch0633: 0633-BE-M1000-secondary-CPUs-boot-fix.patch +Patch0609: 0609-Baikal-M-video-unit-driver.patch +Patch0610: 0610-Added-Baikal-T1-M-BMC-driver.patch +#Patch0611: 0611-dw-hdmi-ahb-audio-support-BE-M1000-SoC.patch +Patch0612: 0612-bt1-pvt.c-access-registers-via-pvt_-readl-writel-hel.patch +Patch0613: 0613-bt1-pvt-define-pvt_readl-pvt_writel-for-BE-M1000-SoC.patch +Patch0614: 0614-bt1-pvt-adjust-probing-for-BE-M1000-SoC.patch +Patch0615: 0615-bt1-pvt-added-compatible-baikal-pvt.patch +Patch0616: 0616-Baikal-M-PCIe-driver-from-SDK-M-4.3.patch +Patch0617: 0617-Baikal-M-PCIe-driver-from-SDK-M-4.4.patch +Patch0618: 0618-baikal_vdu-avoid-using-SMC-calls-for-updating-frameb.patch +Patch0619: 0619-panfrost-compatibility-with-Baikal-M-firmware-from-S.patch +Patch0620: 0620-cpufreq-dt-don-t-load-on-BE-M1000-SoC.patch +Patch0621: 0621-baikal_clk-compatibility-with-SDK-M-5.1-firmware.patch +#Patch0622: 0622-stmmac_mdio-implemented-reset-via-MAC-GP-out-pin.patch +Patch0623: 0623-dwmac_baikal-clear-PHY-reset-before-calling-generic-.patch +Patch0624: 0624-BROKEN-dwc-i2s-support-BE-M1000-SoC.patch +Patch0625: 0625-baikal_vdu_drm-LVDS-panel-support.patch +Patch0626: 0626-Serial-82550_dw-Fix-clock-rate-setting-in-dw8250_set.patch +Patch0627: 0627-drm-panfrost-Fix-memory-attributes-for-Mali-T620.patch +Patch0628: 0628-drm-panfrost-Trim-affinity-for-Mali-T620.patch +Patch0629: 0629-baikal_vdu_drm-_plane_atomic_check-actually-re-enabl.patch +Patch0630: 0630-baikal_vdu-figure-out-LVDS-endpoint-count.patch +Patch0631: 0631-panfrost-disable-devfreq-on-BE-M1000-SoC.patch +Patch0632: 0632-pm-disable-all-sleep-states-on-BE-M1000-based-boards.patch +Patch0633: 0633-BE-M1000-secondary-CPUs-boot-fix.patch # Disable AutoReq -AutoReq: 0 +AutoReq: 0 # but keep autoprov for kmod(xxx) -AutoProv: 1 +AutoProv: 1 -BuildRequires: bash -BuildRequires: bc -BuildRequires: binutils -BuildRequires: gcc +BuildRequires: bash +BuildRequires: bc +BuildRequires: binutils +BuildRequires: bison +BuildRequires: bzip2 +%if %{with ccache} +BuildRequires: ccache +%endif +BuildRequires: flex +BuildRequires: gcc # ./scripts/mkcompile_h -# in net-tools in rosa2016.1, already installed +# in net-tools in rosa2016.1, already installed in 2021.1 %if %{mdvver} > 201610 -BuildRequires: hostname +BuildRequires: hostname +%endif +BuildRequires: kmod-compat +BuildRequires: rsync +#if %%{with compress_modules} +BuildRequires: xz +#BuildRequires: zstd +#endif +BuildRequires: kmod-devel +%ifarch x86_64 aarch64 +BuildRequires: numa-devel +%endif +%if %{with uml} +BuildRequires: vde-devel %endif # For power tools BuildRequires: pkgconfig(ncurses) -BuildRequires: kmod-devel kmod-compat -BuildRequires: bison -BuildRequires: flex -BuildRequires: bzip2 -BuildRequires: rsync -%ifarch x86_64 aarch64 -BuildRequires: numa-devel -%endif - -# for perf, cpufreq and all other tools -# for cpupower +# For perf, cpufreq and all other tools +# For cpupower %if %{build_cpupower} -BuildRequires: pciutils-devel +BuildRequires: pciutils-devel %endif -# for perf +# For perf %if %{build_perf} -BuildRequires: asciidoc -BuildRequires: audit-devel -BuildRequires: binutils-devel -BuildRequires: elfutils-devel -BuildRequires: libunwind-devel -BuildRequires: newt-devel -BuildRequires: perl-devel -BuildRequires: python3 -BuildRequires: pkgconfig(python3) -BuildRequires: xmlto -BuildRequires: zlib-devel -BuildRequires: pkgconfig(libcrypto) -%endif - -%if %{with uml} -BuildRequires: vde-devel +BuildRequires: asciidoc +BuildRequires: perl-ExtUtils-Embed +BuildRequires: python3 +BuildRequires: xmlto +BuildRequires: audit-devel +BuildRequires: binutils-devel +BuildRequires: elfutils-devel +BuildRequires: java-1.8.0-openjdk-devel +BuildRequires: libunwind-devel +BuildRequires: newt-devel +BuildRequires: perl-devel +BuildRequires: pkgconfig(babeltrace) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(slang) +BuildRequires: pkgconfig(zlib) %endif # (To generate keys) # LibreSSL has GOST support without editing openssl.cnf # or dlopen()-ing external library -BuildRequires: libressl libressl-devel +BuildRequires: libressl +BuildRequires: libressl-devel # To verify signatures (find, xargs, hexdump) -BuildRequires: findutils util-linux +BuildRequires: findutils +BuildRequires: util-linux %if %{with binary_extra_modules} -BuildRequires: auto-krokodil-rpm-macros -BuildRequires: kernel-source-rtl8821ce -BuildRequires: kernel-source-rtl8821cu -# broadcom-wl and nvidia390 contain a proprietary blob which is only for x86 +BuildRequires: auto-krokodil-rpm-macros +BuildRequires: kernel-source-rtl8821ce +BuildRequires: kernel-source-rtl8821cu +# Broadcom-wl and nvidia390 contain a proprietary blob which is only for x86 %ifarch %{ix86} %{x86_64} -BuildRequires: kernel-source-broadcom-wl -BuildRequires: kernel-source-nvidia390 +BuildRequires: kernel-source-broadcom-wl +BuildRequires: kernel-source-nvidia390 %endif -# nvidia470+ are x86_64 only (maybe aarch64 will be also packaged later) +# Nvidia470+ are x86_64 only (maybe aarch64 will be also packaged later) %ifarch %{x86_64} -BuildRequires: kernel-source-nvidia470 +BuildRequires: kernel-source-nvidia470 %endif -BuildRequires: kernel-source-tripso -BuildRequires: kernel-source-ipt-so +BuildRequires: kernel-source-tripso +BuildRequires: kernel-source-ipt-so %if %{with binary_virtualbox_host} -BuildRequires: kernel-source-virtualbox +BuildRequires: kernel-source-virtualbox %endif -BuildRequires: kernel-source-v4l2loopback +BuildRequires: kernel-source-v4l2loopback %if %{with binary_shredder} BuildRequires: kernel-source-shredder-kernel %endif -# rosa-test-suite is maintained in certified branches only -# nlkm, memfreetest, pcietest +# Rosa-test-suite is maintained in certified branches only nlkm, memfreetest, pcietest %if %{with nickel} -BuildRequires: kernel-source-rosa-test-suite +BuildRequires: kernel-source-rosa-test-suite %endif -%endif #with binary_extra_modules - -%if %{with ccache} -BuildRequires: ccache -%endif - -%if %{with compress_modules} -BuildRequires: zstd %endif +# End of with binary_extra_modules Provides: kernel = %{EVRD} Provides: kernel-%{flavour} = %{EVRD} Provides: kernel-abi(%{kver_full}) = %{EVRD} -# dnf config-manager --dump | grep installonly +# Dnf config-manager --dump | grep installonly Provides: installonlypkg(kernel) = %{EVRD}.image Provides: installonlypkg(kernel) = %{EVRD}.modules # >= because of added support of zstd-compressed modules -Requires(posttrans): dracut >= 053-0.git5eb736.5 -Requires(posttrans): kmod >= 28-3 +Requires(posttrans): dracut >= 053-0.git5eb736.5 +Requires(posttrans): kmod >= 28-3 # Usually necessary, but sometimes user may want to not install them -Recommends: linux-firmware -Recommends: wireless-regdb Recommends: crda +Recommends: linux-firmware Recommends: microcode # Set BFQ as default scheduler for HDDs # https://www.phoronix.com/scan.php?page=article&item=linux-50hdd-io Recommends: udev-rules-ioschedulers +Recommends: wireless-regdb %if %{with flow_abi} Requires: kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi @@ -562,7 +576,8 @@ depmod -a %{kver_full} %files -f %{kernel_files} %{_bootdir}/System.map-%{kver_full} -%{_bootdir}/symvers-%{kver_full}.zst +%{_bootdir}/symvers-%{kver_full}.xz +#{_bootdir}/symvers-%%{kver_full}.zst %{_bootdir}/config-%{kver_full} %{_bootdir}/vmlinuz-%{kver_full} %ghost %{initrd_path} @@ -600,18 +615,19 @@ depmod -a %{kver_full} %exclude %{_modulesdir}/%{kver_full}/kernel/misc/memfreetest.ko%{kmod_suffix} %exclude %{_modulesdir}/%{kver_full}/kernel/misc/pcietest.ko%{kmod_suffix} %endif -%endif #with binary_extra_modules +%endif +# End of with binary_extra_modules ############################################################################ -%if %build_devel +%if %{build_devel} %package devel Summary: Development files for %{name} Group: Development/Kernel Requires: glibc-devel Requires: ncurses-devel -Requires: make Requires: gcc +Requires: make Requires: perl Provides: kernel-devel = %{kverrel} Provides: kernel-%{flavour}-devel = %{kverrel} @@ -619,7 +635,7 @@ Provides: installonlypkg(kernel) = %{EVRD}.devel Obsoletes: kernel-%{flavour}-%{kernelversion}.%{patchlevel}-devel-latest < 5.10.34-2 # Have dkms updated/installed before the kernel, scriptlet here checks if dkms exists -OrderWithRequires(post): dkms +OrderWithRequires(post): dkms # Try to remove the main kernel package after removing this devel package # because there may be dkms-built kernel modules inside directories owned # by the main package, try to get rid of such files before RPM starts to @@ -633,17 +649,17 @@ Conflicts: arch(x86_64) %endif %description devel -This package contains the kernel files (headers and build tools) -that should be enough to build additional drivers for -use with %{name}. +This package contains the kernel files (headers and build tools) that should +be enough to build additional drivers for use with %{name}. + %post devel if command -v dkms_autoinstaller >/dev/null 2>&1; then dkms_autoinstaller start %{kver_full} fi -%preun devel +%preun devel # If any DKMS modules with REMAKE_INITRD=yes in their configs have been # uninstalled, initrd has been regenerated for the given kernel. However, # the kernel itself might have been uninstalled before, so that (defunct) @@ -663,6 +679,7 @@ for ii in $(/usr/sbin/dkms status -k %{kver_full} | awk '{ print $1 $2; }'); do /usr/sbin/dkms --rpm_safe_upgrade uninstall -m $mod -v $ver -k %{kver_full} || : done + %files devel %{devel_root}/Documentation %dir %{devel_root} @@ -727,41 +744,40 @@ done %{devel_root}/arch/Kconfig %{_modulesdir}/%{kver_full}/build %{_modulesdir}/%{kver_full}/source - -%endif # /build_devel +%endif +# End of build_devel ############################################################################ -%if %build_debug +%if %{build_debug} %package debuginfo Summary: Debuginfo for %{name} Group: Development/Debug Provides: kernel-debug = %{kverrel} -AutoReq: 0 -AutoProv: 0 +AutoReq: 0 +AutoProv: 0 %description debuginfo This package contains the files with debuginfo for %{name}. %files debuginfo -f %{debuginfo_files} %{_bootdir}/vmlinux-%{kver_full} - -%endif # /build_debug +%endif +# End of build_debug ############################################################################ -%if %build_doc +%if %{build_doc} %package doc -Summary: Various documentation bits found in the kernel source -Group: Documentation -Buildarch: noarch +Summary: Various documentation bits found in the kernel source +Group: Documentation +BuildArch: noarch %description doc This package contains documentation files from the kernel source. %files doc %doc linux-%{tar_ver}/Documentation/* - %endif ############################################################################ @@ -791,7 +807,6 @@ The package contains perf tool and the supporting documentation. %{_datadir}/doc/perf-tip/*.txt /usr/lib/perf/examples/bpf/* /usr/lib/perf/include/bpf/* - %endif ############################################################################ @@ -806,7 +821,6 @@ Group: System/Kernel and hardware The cpupower tools. %post -n cpupower - if [ $1 -ge 0 ]; then # Do not enable/disable cpupower.service directly, because it should start # when cpupower.path triggers it. @@ -816,11 +830,12 @@ fi %preun -n cpupower if [ $1 -eq 0 ]; then - /bin/systemctl --no-reload disable cpupower.path > /dev/null 2>&1 || : - /bin/systemctl stop cpupower.path > /dev/null 2>&1 || : + /bin/systemctl --no-reload disable cpupower.path > /dev/null 2>&1 || : + /bin/systemctl stop cpupower.path > /dev/null 2>&1 || : fi %files -n cpupower -f cpupower.lang +%config(noreplace) %{_sysconfdir}/sysconfig/cpupower %{_bindir}/cpupower %{_bindir}/cpupower-start.sh %{_libdir}/libcpupower.so.0 @@ -829,7 +844,6 @@ fi %{_unitdir}/cpupower.path %{_datadir}/bash-completion/completions/cpupower %{_mandir}/man[1-8]/cpupower* -%config(noreplace) %{_sysconfdir}/sysconfig/cpupower ############################################################################ @@ -846,7 +860,6 @@ This package contains the development files for cpupower. %{_libdir}/libcpupower.so %{_includedir}/cpufreq.h %{_includedir}/cpuidle.h - %endif ############################################################################ @@ -878,7 +891,6 @@ should use the 'kernel-devel' package instead. ############################################################################ %if %{with uml} - %package uml Summary: User Mode Linux binary Group: System/Kernel and hardware @@ -893,7 +905,8 @@ Stripped, debug is in %{name}-debuginfo. %files uml %{_bindir}/linux-uml-%{kver_full} -#------------------------------------------------ + +#----------------------------------------------------------------------------- %package uml-modules Summary: User Mode Linux (UML) kernel modules @@ -904,20 +917,23 @@ Provides: installonlypkg(kernel-module) = %{EVRD}.uml Obsoletes: kernel-uml-modules-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2 %description uml-modules -User Mode Linux (UML) kernel modules -- not compressed -- not stripped -- signed +User Mode Linux (UML) kernel modules: +- not compressed; +- not stripped; +- signed. %files uml-modules /lib/modules-uml/%{kver_full} -%endif #endif uml +%endif +# End of uml -#------------------------------------------------ +#----------------------------------------------------------------------------- + +############################### +# Extra modules package definitions %if %{with binary_extra_modules} - %ksob_mk_module_pkg -n 8821ce -s net/wireless -r rtl8821ce-blacklist %ksob_mk_module_pkg -n 8821cu -s net/wireless %ifarch %{ix86} %{x86_64} @@ -935,32 +951,36 @@ User Mode Linux (UML) kernel modules %ksob_mk_module_pkg -n shredder-kernel -s extra -r rosa-shredder-user %endif -#------------------------------------------------ +#----------------------------------------------------------------------------- + +############### +# Virtualbox host -# virtualbox host %if %{with binary_virtualbox_host} %ksob_mk_module_pkg -n vboxnetflt -s misc %ksob_mk_module_pkg -n vboxnetadp -s misc %ksob_mk_module_pkg -n vboxdrv -s misc %ksob_mk_module_pkg -n vboxpci -s misc -# a package which will pull all those modules +# A package which will pull all those modules %package -n kernel-modules-virtualbox-host-%{ksob_kernel} -Summary: Meta package to pull VirtualBox host kernel modules for kernel-%{flavour}-%{kernelversion}.%{patchlevel} -Group: System/Kernel and hardware -Requires: kernel-module-vboxnetflt-%{ksob_kernel} -Requires: kernel-module-vboxnetadp-%{ksob_kernel} -Requires: kernel-module-vboxdrv-%{ksob_kernel} -Requires: kernel-module-vboxpci-%{ksob_kernel} -Obsoletes: kernel-modules-virtualbox-host-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2 +Summary: Meta package to pull VirtualBox host kernel modules for kernel-%{flavour}-%{kernelversion}.%{patchlevel} +Group: System/Kernel and hardware +Requires: kernel-module-vboxnetflt-%{ksob_kernel} +Requires: kernel-module-vboxnetadp-%{ksob_kernel} +Requires: kernel-module-vboxdrv-%{ksob_kernel} +Requires: kernel-module-vboxpci-%{ksob_kernel} +Obsoletes: kernel-modules-virtualbox-host-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2 %description -n kernel-modules-virtualbox-host-%{ksob_kernel} -Meta package to pull VirtualBox host kernel modules for %{name} +Meta package to pull VirtualBox host kernel modules for %{name}. %files -n kernel-modules-virtualbox-host-%{ksob_kernel} # empty -%endif #ifarch x86 -#------------------------------------------------ +%endif +#End of ifarch x86 + +#----------------------------------------------------------------------------- %if %{with nickel} %ksob_mk_module_pkg -n nlkm -s misc @@ -968,46 +988,46 @@ Meta package to pull VirtualBox host kernel modules for %{name} %ksob_mk_module_pkg -n pcietest -s misc %endif -%endif #binary_extra_modules +%endif +# End of binary_extra_modules -############################ +################################################################# %if %{with flow_abi} %package -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi -Summary: Directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x -Group: System/Kernel and hardware +Summary: Directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x +Group: System/Kernel and hardware %description -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi This package contains a directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x. Some vendors provide binary-only kernel modules. They can put them into /lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi. -kmod tools will find them for kernels 5.4.x of "generic" and "nickel" flavours, -but there is no guarantee that these modules will load and work correctly on newer -or older kernels then the ones they were build against. +kmod tools will find them for kernels 5.4.x of "generic" and "nickel" flavours +but there is no guarantee that these modules will load and work correctly on +newer or older kernels then the ones they were build against. We call this "flow ABI" because most ABIs are not changed between %{kernelversion}.%{patchlevel}.x releases, but there are no specific guarantees. ABI may evolve and change. We highly recommend to use DKMS and build third-party kernel modules from source for every kernel! - This package does nothing, just owns a directory for third-party binary kernel modules. %files -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi /lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi -%endif #with flow_abi +%endif +# End of flow_abi ################################################ %prep - -# avoid accidental merge +# Avoid accidental merge %if 0%{?rpm5} %{error:Package structure is for dnf, not for urpmi!} %endif -%setup -q -n %top_dir_name -c +%setup -q -n %{top_dir_name} -c %if %{with uml} cp -r %{src_dir} %{src_dir}.uml %endif -cd %src_dir +cd %{src_dir} %autopatch -p1 @@ -1015,6 +1035,7 @@ cd %src_dir # Setup Begin # +################################## # Kernel configuration echo "Creating the kernel configuration file." @@ -1027,9 +1048,9 @@ cp kernel-%{arch_suffix}.config .config touch %{build_dir}/.config.append -# get rid of unwanted files +# Get rid of unwanted files find . -name '*~' -o -name '*.orig' -o -name '*.append' -delete -# wipe all .gitignore/.get_maintainer.ignore files +# Wipe all .gitignore/.get_maintainer.ignore files find . -name "*.g*ignore" -delete # Enable debug info if requested. @@ -1059,7 +1080,6 @@ echo CONFIG_MODULE_SIG_KEY=\"%{certs_signing_key_priv_rnd}\" >> %{build_dir}/.co sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/d' .config echo CONFIG_SYSTEM_TRUSTED_KEYS=\"%{certs_public_keys}\" >> %{build_dir}/.config.append - # Memory wiping # Introduced in kernel 5.3 by commit 6471384af2a6530696fc0203bafe4de41a23c9ef # Estimated performance impact is described in the commit @@ -1088,6 +1108,10 @@ done cat %{build_dir}/.config.append >> .config +################## +# End of kernel config + + # Store the config file in the appropriate directory. CONFIG_DIR=arch/%{arch_type}/configs mkdir -p "${CONFIG_DIR}" @@ -1103,17 +1127,86 @@ make ARCH=%{arch_type} oldconfig mv .config ${cfg_file} echo "Created ${cfg_file}." -# make sure the kernel has the sublevel we know it has... +# Make sure the kernel has the sublevel we know it has... LC_ALL=C sed -ri "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile -# get rid of unwanted files +# Get rid of unwanted files find . -name '*~' -o -name '*.orig' -o -name '*.append' | %kxargs rm -f find . -name '.get_maintainer.ignore' | %kxargs rm -f +# Versionize python shebang (#!/usr/bin/env python -> #!/usr/bin/python3) in scripts + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/bloat-o-meter + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/bpf_helpers_doc.py + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/checkkconfigsymbols.py + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/diffconfig + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/jobserver-exec + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/show_delta + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/spdxcheck.py + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/clang-tools/gen_compile_commands.py + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/clang-tools/run-clang-tools.py + sed -i -e '1 s,^.*$,#!%{__python3},' scripts/tracing/draw_functrace.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/hv/vmbus_testing + sed -i -e '1 s,^.*$,#!%{__python3},' tools/kvm/kvm_stat/kvm_stat + sed -i -e '1 s,^.*$,#!%{__python3},' tools/perf/python/tracepoint.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/perf/python/twatch.py +#tools/perf/scripts/python/exported-sql-viewer.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/power/pm-graph/bootgraph.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/power/pm-graph/sleepgraph.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/power/x86/intel_pstate_tracer/intel_pstate_tracer.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/kunit/kunit.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/kunit/kunit_tool_test.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/bpf/tcp_client.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/bpf/tcp_server.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/bpf/test_offload.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/drivers/net/mlxsw/sharedbuffer_configuration.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/exec/binfmt_script + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/net/devlink_port_split.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/tc-testing/tdc.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/tc-testing/tdc_batch.py + sed -i -e '1 s,^.*$,#!%{__python3},' tools/testing/selftests/tc-testing/tdc_multibatch.py + sed -i -e '1 s,^.*$,#!%{__python3},' Documentation/sphinx/kernel_include.py + sed -i -e '1 s,^.*$,#!%{__python3},' Documentation/sphinx/maintainers_include.py + sed -i -e '1 s,^.*$,#!%{__python3},' Documentation/sphinx/rstFlatTable.py + sed -i -e '1 s,^.*$,#!%{__python3},' Documentation/target/tcm_mod_builder.py + +# Drop env from bash scripts + sed -i -e '1 s,^.*$,#!%{_bindir}/bash,' scripts/config + +# Drop env from perl scripts + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/bootgraph.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/checkincludes.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/checkkconfigsymbols.py + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/checkpatch.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/checkstack.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/checkversion.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/cleanfile + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/cleanpatch + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/documentation-file-ref-check + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/export_report.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/extract-module-sig.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/extract-sys-certs.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/extract_xc3028.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/get_abi.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/get_dvb_firmware + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/get_maintainer.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/headerdep.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/headers_check.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/kernel-doc + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/leaking_addresses.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/markup_oops.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/profile2linkerlist.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/recordmcount.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/split-man.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/stackdelta + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/dtc/dt_to_config + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' scripts/kconfig/streamline_config.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' tools/testing/ktest/compare-ktest-sample.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' tools/testing/selftests/kselftest/prefix.pl + sed -i -e '1 s,^.*$,#!%{_bindir}/perl,' Documentation/sphinx/parse-headers.pl + ############################################################################ %build - # Ensure that build time generated private keys don't get published # as e.g. "RPM build root" on ABF! # Note that ABF sends SIGKILL to rpm-build.sh when the build is terminated; @@ -1124,7 +1217,7 @@ find . -name '.get_maintainer.ignore' | %kxargs rm -f # to give the content of keys from RAM when a virtual address of a key file # is accessed, but currently I don't know how to implement this (TODO: ). _cleanup(){ - # Show resulting kernel public keys for debugging +# Show resulting kernel public keys for debugging cat "%{src_dir}/%{certs_dir_rnd}/x509_certificate_list" | base64 -d || : rm -fvr "%{src_dir}/%{certs_dir_rnd}" %if %{with uml} @@ -1138,7 +1231,7 @@ trap "_cleanup" EXIT rm -rf %{temp_root} install -d %{temp_root} -cd %src_dir +cd %{src_dir} ### Keys for signing kernel modules # Keys can be generated both manually and automatically, @@ -1178,7 +1271,7 @@ cat < "%{certs_key_config_rnd}" [ req ] prompt = no string_mask = utf8only -#default_keyfile = %{certs_signing_key_priv_rnd} +#default_keyfile = %%{certs_signing_key_priv_rnd} distinguished_name = req_distinguished_name x509_extensions = myexts [ req_distinguished_name ] @@ -1194,7 +1287,7 @@ EOF cat "%{certs_key_config_rnd}" sed -e 's,@ALGO@,RSA,g' "%{certs_key_config_rnd}" > "%{certs_key_config_rnd}.RSA" sed -e 's,@ALGO@,GOST R 34.10-2012,g' "%{certs_key_config_rnd}" > "%{certs_key_config_rnd}.GOST" -# avoid using the template +# Avoid using the template rm -f "%{certs_key_config_rnd}" _libressl_gen_key(){ @@ -1241,7 +1334,7 @@ sed -n \ "%{certs_signing_key_priv_rnd}.RSA" \ > "%{certs_public_keys}" -# link sign-file and extract-cert with LibreSSL instead of OpenSSL +# Link sign-file and extract-cert with LibreSSL instead of OpenSSL if [ $? != 0 ] ; then exit $? ; fi sed -i %{src_dir}/scripts/Makefile \ %if %{with uml} @@ -1254,17 +1347,18 @@ sed -i %{src_dir}/scripts/Makefile \ # Build kernel --without additional_keys if you do not want to trust them cat %{expand:%(for i in `seq 1 12`; do echo "%%SOURCE$((200+${i}))" | tr "\n" " "; done)} \ >> "%{certs_public_keys}" -%endif #endif additional_keys +%endif +# End of additional_keys cat %{certs_public_keys} # .config %smake -s mrproper cp arch/%{arch_type}/configs/%{arch_suffix}_defconfig-%{flavour} .config -# make sure EXTRAVERSION says what we want it to say +# Make sure EXTRAVERSION says what we want it to say LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{flavour}-%{buildrpmrel}/" Makefile -# build the kernel +# Build the kernel echo "Building kernel %{kver_full}" TARGETS="all" @@ -1397,9 +1491,11 @@ EOF cp -fv ${i}.ko %{temp_modules}/%{kver_full}/kernel/misc/ done popd -%endif #with nickel <- with binary_extra_modules +%endif +# End with nickel <- with binary_extra_modules -%endif #with binary_extra_modules +%endif +# End with binary_extra_modules %if %{with uml} cp -rv %{certs_dir_rnd} %{src_dir}.uml/ @@ -1417,8 +1513,12 @@ popd install -d %{temp_boot} install -m 644 System.map %{temp_boot}/System.map-%{kver_full} install -m 644 .config %{temp_boot}/config-%{kver_full} -%{zstd_cmd} Module.symvers -install -m 644 Module.symvers.zst %{temp_boot}/symvers-%{kver_full}.zst +#if %%{with modxz} +xz -c Module.symvers > %{temp_boot}/symvers-%{kver_full}.xz +#else +#{zstd_cmd} Module.symvers +#install -m 644 Module.symvers.zst %%{temp_boot}/symvers-%%{kver_full}.zst +#endif %ifarch %{armx} %make_build ARCH=%{arch_type} V=1 INSTALL_DTBS_PATH=%{temp_boot}/dtb-%{kver_full} dtbs_install @@ -1430,17 +1530,17 @@ install -m 644 Module.symvers.zst %{temp_boot}/symvers-%{kver_full}.zst cp -f arch/%{arch_type}/boot/bzImage %{temp_boot}/vmlinuz-%{kver_full} %endif -# headers +# Headers %if %{build_headers} %make INSTALL_HDR_PATH=%{temp_root}%{_prefix} KERNELRELEASE=%{kver_full} headers_install find %{temp_root}%{_prefix} -name .install -or -name ..install.cmd | %kxargs rm -f %endif -# remove /lib/firmware, we use a separate linux-firmware package +# Remove /lib/firmware, we use a separate linux-firmware package rm -rf %{temp_root}/lib/firmware # Prepare the files for kernel*-devel -%if %build_devel +%if %{build_devel} mkdir -p %{temp_devel_root} for i in $(find . -name 'Makefile*'); do cp -R --parents $i %{temp_devel_root}; done @@ -1456,7 +1556,7 @@ cp -fR arch/%{arch_type}/kernel/asm-offsets.{c,s} %{temp_devel_root}/arch/%{arch %ifarch %{ix86} %{x86_64} cp -fR arch/%{arch_type}/kernel/asm-offsets_{32,64}.c %{temp_devel_root}/arch/%{arch_type}/kernel/ cp -fR arch/%{arch_type}/purgatory/* %{temp_devel_root}/arch/%{arch_type}/purgatory/ -# needed for arch/x86/purgatory +# Needed for arch/x86/purgatory cp -fR lib/*.h lib/*.c %{temp_devel_root}/lib/ cp -fR arch/%{arch_type}/entry/syscalls/syscall* %{temp_devel_root}/arch/%{arch_type}/entry/syscalls/ cp -fR arch/%{arch_type}/tools %{temp_devel_root}/arch/%{arch_type}/ @@ -1475,11 +1575,13 @@ cp -fR drivers/media/pci/bt8xx/bttv{,p}.h %{temp_devel_root}/drivers/media/pci/b cp -fR drivers/media/pci/bt8xx/bt848.h %{temp_devel_root}/drivers/media/pci/bt8xx/ cp -fR drivers/media/common/btcx-risc.h %{temp_devel_root}/drivers/media/common/ -# add acpica header files, needed for fglrx build +# Add acpica header files, needed for fglrx build cp -fR drivers/acpi/acpica/*.h %{temp_devel_root}/drivers/acpi/acpica/ +%if %{with aufs} # aufs2 has a special file needed cp -fR fs/aufs/magic.mk %{temp_devel_root}/fs/aufs +%endif # SELinux needs security/selinux/include cp -fR security/selinux/include %{temp_devel_root}/security/selinux @@ -1497,17 +1599,17 @@ popd rm -f %{temp_devel_root}/.config.old -# fix permissions +# Fix permissions chmod -R a+rX %{temp_devel_root} -# disable mrproper in -devel rpms +# Disable mrproper in -devel rpms patch -p1 --fuzz=0 -d %{temp_devel_root} -i %{SOURCE2} - -# endif build_devel %endif +# End of build_devel + # TODO: maybe move to /usr/lib/debug? -%if %build_debug +%if %{build_debug} find %{temp_modules}/%{kver_full}/kernel \ -name "*.ko" | \ %kxargs -I '{}' objcopy --only-keep-debug '{}' '{}'.debug @@ -1516,7 +1618,8 @@ find %{temp_modules}/%{kver_full}/kernel \ sh -c 'cd `dirname {}`; \ objcopy --add-gnu-debuglink=`basename {}`.debug \ --strip-debug `basename {}`' -%endif # /build_debug +%endif +# End of build_debug # https://patchwork.kernel.org/patch/11446123/ _libressl_sign(){ @@ -1543,7 +1646,7 @@ find %{temp_modules}/%{kver_full}/kernel \ xargs --null -P "$(nproc)" -I {} "$SHELL" -e -x -c 'if ! _libressl_sign "{}"; \ then echo Failed _libressl_sign on "{}" && exit 1; fi' -# set extraversion to match srpm to get nice version reported by the tools +# Set extraversion to match srpm to get nice version reported by the tools LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{fullrpmrel}/" Makefile %if %{build_perf} @@ -1552,23 +1655,24 @@ LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{fullrpmrel}/" Makefile %endif %if %{build_cpupower} -# make sure version-gen.sh is executable. +# Make sure version-gen.sh is executable. chmod +x tools/power/cpupower/utils/version-gen.sh %make -C tools/power/cpupower CPUFREQ_BENCH=false %endif _cleanup + ############################################################################ %install -cd %src_dir +cd %{src_dir} # We want to be able to test several times the install part rm -rf %{buildroot} cp -a %{temp_root} %{buildroot} -# Multithreaded verification that every kernel module -# has a signature attached to it +#if %%{with oblig_signed_modules} +# Multithreaded verification that every kernel module has a signature attached to it mkdir -p "%{certs_dir_rnd}" touch %{certs_verify_tmp} _verify_signature(){ @@ -1596,9 +1700,10 @@ if [ -f %{certs_verify_tmp} ]; then exit 1 fi rm -f %{certs_verify_tmp} +#endif -# compressing modules -%if %{with compress_modules} +# Compressing modules +#if %%{with compress_modules} # Tested on /lib/modules/5.10.34-generic-2rosa2019.1-x86_64, the results are the following: # * decompressed: 266.3 MiB # * xz -9 --extreme: 67.8 MiB @@ -1615,11 +1720,11 @@ rm -f %{certs_verify_tmp} # took ~31-40s, with disk cache (2+ runs) ~33s # find /lib/modules/5.10.34-generic-1rosa2019.1-x86_64 -type f -name '*.ko.xz' > /tmp/xz.list # time { for i in `cat /tmp/xz.list`; do modinfo $i >/dev/null 2>&1; done ;} -# took 43-47s, with disk cache (2+ runs) ~42s, +21% +# took 43-47s, with disk cache (2+ runs) ~42s, +21%% # zstd-compressed initramfs image initrd-5.10.34-generic-1rosa2019.1-x86_64.img with *.ko.xz is 56,3 MiB -# zstd-compressed initramfs image initrd-5.10.34-generic-2rosa2019.1-x86_64.img with *.ko.zst is 58,4 MiB (+3.6%) +# zstd-compressed initramfs image initrd-5.10.34-generic-2rosa2019.1-x86_64.img with *.ko.zst is 58,4 MiB (+3.6%%) # /lib/modules/5.10.34-generic-1rosa2019.1-x86_64 (*.ko.xz) is 78,1 MiB -# /lib/modules/5.10.34-generic-2rosa2019.1-x86_64 (*.ko.zst) is 83,9 MiB (+7%) +# /lib/modules/5.10.34-generic-2rosa2019.1-x86_64 (*.ko.zst) is 83,9 MiB (+7%%) # When zstd is compressing cpio (initrd image) with zstd-compressed kernel modules inside it, does it recompress data? # It is not easy to make a choice between zstd and xz for kernel modules... Disk space (and so speed of installing # RPM packages) is not much bigger, we do not try to support super low end devices, operation speed is a bit better. @@ -1632,9 +1737,13 @@ rm -f %{certs_verify_tmp} #%%{zstd_cmd} -T0 --train $(find . -type f -name '*.ko') #[ -f dictionary ] # -T1 (one thread) because we run multiple zstd processes by xargs -find %{target_modules} -name "*.ko" | %kxargs %{zstd_cmd} --rm -T1 #-D dictionary +#if %%{with modxz} +find %{target_modules} -name "*.ko" | %kxargs xz -6e +#else +#find %%{target_modules} -name "*.ko" | %%kxargs %%{zstd_cmd} --rm -T1 #-D dictionary #rm -f dictionary -%endif +#endif +#endif find %{buildroot}%{_modulesdir}/%{kver_full} -type f -name '*.ko%{kmod_suffix}' | sed -e 's,^%{buildroot},,' | sort -u >> %{kernel_files} find %{buildroot}%{_modulesdir}/%{kver_full} -type d | sed -e 's,^%{buildroot},%dir ,' | sort -u >> %{kernel_files} @@ -1647,10 +1756,11 @@ find %{buildroot}%{_modulesdir}/%{kver_full} -type d | sed -e 's,^%{buildroot},% # This file is %%ghost, so the real initrd will be deleted when uninstalling this package. dd if=/dev/zero of=%{buildroot}%{initrd_path} bs=1M count=65 -%if %build_debug +%if %{build_debug} install -m 644 vmlinux %{buildroot}%{_bootdir}/vmlinux-%{kver_full} find %{buildroot}%{_modulesdir} -type f -name '*.debug' | sed -e 's,^%{buildroot},,' | sort -u >> %{debuginfo_files} -%endif # /build_debug +%endif +# End of build_debug pushd %{target_modules} for i in *; do @@ -1659,7 +1769,7 @@ for i in *; do ln -sf /usr/src/linux-$i $i/source done -# sniff, if we compressed all the modules, we change the stamp :( +# Sniff, if we compressed all the modules, we change the stamp :( # we really need the depmod -ae here for i in *; do /sbin/depmod -ae -b %{buildroot} -F %{target_boot}/System.map-$i $i @@ -1675,24 +1785,26 @@ for i in *; do done popd -# need to set extraversion to match srpm again to avoid rebuild +# Need to set extraversion to match srpm again to avoid rebuild LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{fullrpmrel}/" Makefile -%if %{build_perf} -# perf tool binary and supporting scripts/binaries +%if %{build_perf} +# Perf tool binary and supporting scripts/binaries make -C tools/perf -s V=1 DESTDIR=%{buildroot} WERROR=0 HAVE_CPLUS_DEMANGLE=1 prefix=%{_prefix} lib=%{_lib} install # Versionize shebang (#!/usr/bin/env python -> #!/usr/bin/python3) sed -i -e '1 s,^.*$,#!%{__python3},' %{buildroot}%{_prefix}/libexec/perf-core/scripts/python/exported-sql-viewer.py -# perf man pages (note: implicit rpm magic compresses them later) +# Perf man pages (note: implicit rpm magic compresses them later) make -C tools/perf -s V=1 DESTDIR=%{buildroot} WERROR=0 HAVE_CPLUS_DEMANGLE=1 prefix=%{_prefix} install-man %endif %if %{build_cpupower} make -C tools/power/cpupower DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install rm -f %{buildroot}%{_libdir}/*.{a,la} + %find_lang cpupower + mv cpupower.lang ../ chmod 0755 %{buildroot}%{_libdir}/libcpupower.so* mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig @@ -1702,7 +1814,7 @@ install -m644 %{SOURCE51} %{buildroot}%{_sysconfdir}/sysconfig/cpupower install -m755 %{SOURCE52} %{buildroot}%{_bindir}/cpupower-start.sh %endif -# delete junk +# Delete junk rm -fr %{buildroot}%{_usr}/src/*/kernel-source-* %if %{with flow_abi} @@ -1711,3 +1823,13 @@ rm -fr %{buildroot}%{_usr}/src/*/kernel-source-* mkdir -p %{buildroot}/lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi ln -s /lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi %{buildroot}%{_modulesdir}/%{kver_full}/kernel/zzz-%{kernelversion}.%{patchlevel}-rosa-flow-abi %endif + +# Drop hidden files +rm -f %{buildroot}%{_docdir}/kernel-5.10-generic-doc/devicetree/bindings/.yamllint + +# Fix perms +chmod -x %{buildroot}%{_sysconfdir}/bash_completion.d/perf +chmod -x %{buildroot}%{_prefix}/lib/perf/examples/bpf/*.c +chmod -x %{buildroot}%{_prefix}/lib/perf/include/bpf/*.h +chmod -x %{buildroot}%{_prefix}/lib/perf/include/bpf/linux/*.h +chmod -x %{buildroot}%{_datadir}/doc/perf-tip/*.txt diff --git a/public_key_GOST_1.pem b/public_key_GOST_1.pem new file mode 100644 index 0000000..0d791c6 --- /dev/null +++ b/public_key_GOST_1.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICzDCCAjagAwIBAgIJAI8cep2XT4u+MAwGCCqFAwcBAQMDBQAwczETMBEGA1UE +CgwKUk9TQSBMaW51eDE3MDUGA1UEAwwuS2VybmVsIG1vZHVsZXMgc2lnbmluZyBH +T1NUIFIgMzQuMTAtMjAxMiBrZXkgMTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBy +b3NhbGludXgucnUwIBcNMjAwMzIxMDAzNDIxWhgPMjMyMDAxMDkwMDM0MjFaMHMx +EzARBgNVBAoMClJPU0EgTGludXgxNzA1BgNVBAMMLktlcm5lbCBtb2R1bGVzIHNp +Z25pbmcgR09TVCBSIDM0LjEwLTIwMTIga2V5IDExIzAhBgkqhkiG9w0BCQEWFHN1 +cHBvcnRAcm9zYWxpbnV4LnJ1MIGqMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYI +KoUDBwEBAgMDgYQABIGABtytV0inkaWUk1lXsuqWV9QMr1uJhvGjZyiUvDcsJuYA +4QPIKi7d0JLrgiWlk0g0JKC7N3qgu1mFmlPB1D1fqvaFqqjaIe+sEnodUEQPHV8p +O6OC/yNZrfraXTI11LrUi/EC6iQZyxBtY3pYhULqWI0v+d0jM+4whb/EMxbvf2Gj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBQ4nuHExlj9 +76Ka9xqDDlK+rFHeYzAfBgNVHSMEGDAWgBQ4nuHExlj976Ka9xqDDlK+rFHeYzAM +BggqhQMHAQEDAwUAA4GBAA88NwbOXAkbjUPdfzvieiC7DuX4MLNlSWx2Idf08TjY +YJ3+5y7fRHh7gb8HOBMsu72sXaX/swM6hgunmx6HCUMn+49AbNqeIfKAaBDUwddR +wCxxvkYlUuhvUg8eIGLdGcE8HfKN1SW5na7xiXoE8vLiWsarZUbzTqhPtWVglfdp +-----END CERTIFICATE----- diff --git a/public_key_GOST_2.pem b/public_key_GOST_2.pem new file mode 100644 index 0000000..1afbee4 --- /dev/null +++ b/public_key_GOST_2.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICzDCCAjagAwIBAgIJAPZeBkZdVWyfMAwGCCqFAwcBAQMDBQAwczETMBEGA1UE +CgwKUk9TQSBMaW51eDE3MDUGA1UEAwwuS2VybmVsIG1vZHVsZXMgc2lnbmluZyBH +T1NUIFIgMzQuMTAtMjAxMiBrZXkgMjEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBy +b3NhbGludXgucnUwIBcNMjAwMzIxMDAzNDI1WhgPMjMyMDAxMDkwMDM0MjVaMHMx +EzARBgNVBAoMClJPU0EgTGludXgxNzA1BgNVBAMMLktlcm5lbCBtb2R1bGVzIHNp +Z25pbmcgR09TVCBSIDM0LjEwLTIwMTIga2V5IDIxIzAhBgkqhkiG9w0BCQEWFHN1 +cHBvcnRAcm9zYWxpbnV4LnJ1MIGqMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYI +KoUDBwEBAgMDgYQABIGALLZJdYTyA3CmokRCR+ouwNrj3sCpuzB5JGlCiTobQFBG +NcQIWbkF/kirhp7u9sfFeoP3OUfU6xrgr/uP/b4l4EwNUloWLtNGyGP0ADupCnAi +/PmTNboG1geFlgnzXmngUOx5PRepvo8/1yok6fBLbAHtOUnSW6a7f5a4JDSmMjyj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBStKuZzPiRo +38YyEsq5Ho9q/swclzAfBgNVHSMEGDAWgBStKuZzPiRo38YyEsq5Ho9q/swclzAM +BggqhQMHAQEDAwUAA4GBAFl+/1oJ4+rGL4ropENvSqbP4/dF2/18QYKHd6wdC5oG +ykhEuEuFiJ/aFYHiyU9OYtvWn3ZDbw5bU629I5VsTXzybhN5k4LH7HklpO074m4S +ij07TxRIhoFYE+8jrlHAxfnCN5LaI9hACtUoKOOgqfYZMJOJF7H9RpeTo1UKuHOT +-----END CERTIFICATE----- diff --git a/public_key_GOST_3.pem b/public_key_GOST_3.pem new file mode 100644 index 0000000..1125f26 --- /dev/null +++ b/public_key_GOST_3.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICzDCCAjagAwIBAgIJAObrVzbV1aBEMAwGCCqFAwcBAQMDBQAwczETMBEGA1UE +CgwKUk9TQSBMaW51eDE3MDUGA1UEAwwuS2VybmVsIG1vZHVsZXMgc2lnbmluZyBH +T1NUIFIgMzQuMTAtMjAxMiBrZXkgMzEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBy +b3NhbGludXgucnUwIBcNMjAwMzIxMDAzNDI4WhgPMjMyMDAxMDkwMDM0MjhaMHMx +EzARBgNVBAoMClJPU0EgTGludXgxNzA1BgNVBAMMLktlcm5lbCBtb2R1bGVzIHNp +Z25pbmcgR09TVCBSIDM0LjEwLTIwMTIga2V5IDMxIzAhBgkqhkiG9w0BCQEWFHN1 +cHBvcnRAcm9zYWxpbnV4LnJ1MIGqMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYI +KoUDBwEBAgMDgYQABIGAv1NFiiXbb/zGciTT7ebpmnj/bwoY9fU9uByYIZp3wb11 +Vtil20ElxX0Kl4C6OG+SVxWNQVaSLoVTmeT0GlbB0hYpJ4HzATuKmYC8blT5jniL +98zcm7yHnbsgHnC5bktfu5Mp/vh0hOZ51k3imcqGuBjKfvs03NxgbRqu2eb1nVSj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBSt8oT0+V/9 +4nKRgFOTgexvZUt2ATAfBgNVHSMEGDAWgBSt8oT0+V/94nKRgFOTgexvZUt2ATAM +BggqhQMHAQEDAwUAA4GBALX4jEG2nVdfHLztK4kesvQQ4b8Sblhfm6BpvHbr6GdM +5UpR/hMT15XxLGGP4e9R8o7vT8R0VPouPk8UZZBaoM7yTAoUKi0SU7OFJWiiWq4M +cf3/72sSKsyzSBE8cfA+xuuBX5uf+UsBwBji4MnU9ihGQINt+vnns7Z8rdY4cM2C +-----END CERTIFICATE----- diff --git a/public_key_GOST_4.pem b/public_key_GOST_4.pem new file mode 100644 index 0000000..14ca4ad --- /dev/null +++ b/public_key_GOST_4.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICzDCCAjagAwIBAgIJAIR1VQkhGLJSMAwGCCqFAwcBAQMDBQAwczETMBEGA1UE +CgwKUk9TQSBMaW51eDE3MDUGA1UEAwwuS2VybmVsIG1vZHVsZXMgc2lnbmluZyBH +T1NUIFIgMzQuMTAtMjAxMiBrZXkgNDEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBy +b3NhbGludXgucnUwIBcNMjAwMzIxMDAzNDMyWhgPMjMyMDAxMDkwMDM0MzJaMHMx +EzARBgNVBAoMClJPU0EgTGludXgxNzA1BgNVBAMMLktlcm5lbCBtb2R1bGVzIHNp +Z25pbmcgR09TVCBSIDM0LjEwLTIwMTIga2V5IDQxIzAhBgkqhkiG9w0BCQEWFHN1 +cHBvcnRAcm9zYWxpbnV4LnJ1MIGqMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYI +KoUDBwEBAgMDgYQABIGAAwR6SYW5kTyxGBII33kgp56BJevhFOHqbcgqnnkey00U +IS6bfa+qLRCF654gC+T9T4+631LUm42zVurjQ+KB4gRC89oQmMHkXgH3BKT7V+gG +aKztwJK1AIbQqQoWaV4G6bZVEPbaN9haA4t3RfqBLQGD/jAxKmbnuI+O1/RcY/uj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBQawTxxjBIR +ZwE7SL4Qt/7HAKcqXzAfBgNVHSMEGDAWgBQawTxxjBIRZwE7SL4Qt/7HAKcqXzAM +BggqhQMHAQEDAwUAA4GBAAEzLbyG6HYsjI03cwxCUBrs+0jDWtbTdpiXE1WrtHuU +aU92ZTnRMaG1yyu7k/jb7dte9ajCD9U9BCgMHz6Xf4mLJOSbssZcvD9WPGW0U/Aw +GHYU62heaYF0BI/7xlKd6yxkZifTtBXdxFrVHY7iVyfCTqn7ppuX6nPNI8C7Ybqu +-----END CERTIFICATE----- diff --git a/public_key_GOST_5.pem b/public_key_GOST_5.pem new file mode 100644 index 0000000..730de6f --- /dev/null +++ b/public_key_GOST_5.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICzDCCAjagAwIBAgIJAJrslYA53QhAMAwGCCqFAwcBAQMDBQAwczETMBEGA1UE +CgwKUk9TQSBMaW51eDE3MDUGA1UEAwwuS2VybmVsIG1vZHVsZXMgc2lnbmluZyBH +T1NUIFIgMzQuMTAtMjAxMiBrZXkgNTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBy +b3NhbGludXgucnUwIBcNMjAwMzIxMDAzNDM2WhgPMjMyMDAxMDkwMDM0MzZaMHMx +EzARBgNVBAoMClJPU0EgTGludXgxNzA1BgNVBAMMLktlcm5lbCBtb2R1bGVzIHNp +Z25pbmcgR09TVCBSIDM0LjEwLTIwMTIga2V5IDUxIzAhBgkqhkiG9w0BCQEWFHN1 +cHBvcnRAcm9zYWxpbnV4LnJ1MIGqMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYI +KoUDBwEBAgMDgYQABIGA3OD2AVNwBdS7vkqQNdNhmVFiGRHpocswZ2mJE+7w75Ro +4sFDJAD/VZBU7/0xBgYthuRTadVx74oWqBhISOYbzz8uRHvEFdZDsTiHb6gJ6Quf +r9oNc8XQYDiQ5MIRwXOf72LveJuKyYl/esXHEotiNS0qRf4VQF57Tc4FiAniuAaj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBRIMrnX3Zgs +R3GSILBZgE1qozy98jAfBgNVHSMEGDAWgBRIMrnX3ZgsR3GSILBZgE1qozy98jAM +BggqhQMHAQEDAwUAA4GBAP88jgnPKPpRMJFoyqkPesM327niOSIJtm7yFqnUY9Fi +8rn/UZt1yQ7IIEqUM3zq2XMm4dAdZEjUADLpIw98jwX/5/gSE2RV3HNrnlE58IVF +TdVra128aV02q2Ub8BAnug86rrpw3FmpKIWoSqqAGOt7Qq+Htour+fFviblj3mNi +-----END CERTIFICATE----- diff --git a/public_key_GOST_6.pem b/public_key_GOST_6.pem new file mode 100644 index 0000000..336ce68 --- /dev/null +++ b/public_key_GOST_6.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICzDCCAjagAwIBAgIJAIbNweUsG7B3MAwGCCqFAwcBAQMDBQAwczETMBEGA1UE +CgwKUk9TQSBMaW51eDE3MDUGA1UEAwwuS2VybmVsIG1vZHVsZXMgc2lnbmluZyBH +T1NUIFIgMzQuMTAtMjAxMiBrZXkgNjEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBy +b3NhbGludXgucnUwIBcNMjAwMzIxMDAzNDM5WhgPMjMyMDAxMDkwMDM0MzlaMHMx +EzARBgNVBAoMClJPU0EgTGludXgxNzA1BgNVBAMMLktlcm5lbCBtb2R1bGVzIHNp +Z25pbmcgR09TVCBSIDM0LjEwLTIwMTIga2V5IDYxIzAhBgkqhkiG9w0BCQEWFHN1 +cHBvcnRAcm9zYWxpbnV4LnJ1MIGqMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYI +KoUDBwEBAgMDgYQABIGAXM6XnswJ85Nqa01QRepI8YTfdW/Lgm0OFZUET6rmidpJ +rCmYOgiygxEjALuS2aTayOAbMpNK1fncAxsynaQaxDlg3iJ9o8R/V0/gI0Vnaf5b +HVhhmjjT0DqU+iyI6aOS3OHS4jDG+q2JW8xutYxACz6U5uESwvunLfxS44CNkuaj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBQjl+g9t3t3 +K4EYixH/CppnjjkCejAfBgNVHSMEGDAWgBQjl+g9t3t3K4EYixH/CppnjjkCejAM +BggqhQMHAQEDAwUAA4GBAD0XivGdQ3CP41jF0jr/awm98Q6pRJ40nXdyYNZ+YyR0 +/Otggv18QmVs3qB7nBV5Zy00jaTAtqWKE8w3mfDyznR7n3EeUCpwU0TvvrmT/BPy +npyQgSvakovKcHp89Eo0KCfnGPp2Ci5NvIHq3VI9PFXDwiTIMpDssD4P7HFwQGSq +-----END CERTIFICATE----- diff --git a/public_key_RSA_10.pem b/public_key_RSA_10.pem new file mode 100644 index 0000000..35cbd71 --- /dev/null +++ b/public_key_RSA_10.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrjCCApagAwIBAgIJAKnO6XWFV+jYMA0GCSqGSIb3DQEBCwUAMGYxEzARBgNV +BAoMClJPU0EgTGludXgxKjAoBgNVBAMMIUtlcm5lbCBtb2R1bGVzIHNpZ25pbmcg +UlNBIGtleSAxMDEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEByb3NhbGludXgucnUw +IBcNMjAwMzIxMDAzNDU5WhgPMjMyMDAxMDkwMDM0NTlaMGYxEzARBgNVBAoMClJP +U0EgTGludXgxKjAoBgNVBAMMIUtlcm5lbCBtb2R1bGVzIHNpZ25pbmcgUlNBIGtl +eSAxMDEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEByb3NhbGludXgucnUwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5JAA9CmjY9jXvWOLuyp2ll7r0T0f7 +Nb28GphKb2Sz55ZlUA9TfaMCIwKYZ2DGv10vPrAHpLi11899lSVdwq2018GPtbvK +JEVVSxAk+3c2AnmN4rapavglF6I7gmRQOwUEcXoUqpsiQnMfvrR2rvNSZFW6xZ6D +yC4ofdXsmN6xW2Yde3JnrwlEpIxUUAO6pTgLy9HBtD6sqkCW75Sby7Y4Wbok1BRE +YZAxKRP5lBstQawIVYky8CcTk6+z8Y6iAusTN4n7SAEjBkXcg4Uu6ZMrIIaVNlj7 +wUncgsbQE3xxw2O57/RtV2vGr5vmjbyHbMyifhgSjoAwD1ndcnf38XCrAgMBAAGj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBRKFXAZZKg9 +qa/M3vkCWagjcqwisTAfBgNVHSMEGDAWgBRKFXAZZKg9qa/M3vkCWagjcqwisTAN +BgkqhkiG9w0BAQsFAAOCAQEAHezs2AMc7IU0I4QjSAP0ivic8Tss9H9qgs0DjdWd +1nPjVJ8SFmfl1bG+jbwT6TF91Dq8qcqbRe6r6GPoYE9CpsVKeictXZjS0WSaPX3H +NJ/smdHFhv6a4m1ChxDoOpMO3MYPtSxOUPU9oLvPhs18sagUYDahfNJ85yJlFMQe +fW5aUf03r4ZEawAKygdBHAxjL0kOI91CyQjQtmGpMPJA5697Hhkn1pCQF5Rd9Oti +CmNafyqes98LeMNuuiRxttFix7O6Jl0kQhH6AkQ/VAQP9P2iPyYL6StsVsrdJDcm ++HZqMRduq8x9YCVh/WaQxoYg6zrQngRz70AImyghGxC1WQ== +-----END CERTIFICATE----- diff --git a/public_key_RSA_11.pem b/public_key_RSA_11.pem new file mode 100644 index 0000000..d178ba7 --- /dev/null +++ b/public_key_RSA_11.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrjCCApagAwIBAgIJAMvmr3r/ClnRMA0GCSqGSIb3DQEBCwUAMGYxEzARBgNV +BAoMClJPU0EgTGludXgxKjAoBgNVBAMMIUtlcm5lbCBtb2R1bGVzIHNpZ25pbmcg +UlNBIGtleSAxMTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEByb3NhbGludXgucnUw +IBcNMjAwMzIxMDAzNTA0WhgPMjMyMDAxMDkwMDM1MDRaMGYxEzARBgNVBAoMClJP +U0EgTGludXgxKjAoBgNVBAMMIUtlcm5lbCBtb2R1bGVzIHNpZ25pbmcgUlNBIGtl +eSAxMTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEByb3NhbGludXgucnUwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDC+MNxLje6ewUOuLoZGDth+Vaf2Kpy +u46BrSlvR8SS6ulbBofG5QnySK8s6I365gZbq+Hm60qKHvAYbffwBfh1mxoDhsh2 +vDk+BuPO3DcCq+XEY64/1e7mYiGEhfOwe33lYtBKeRyL07fbO2heskCjcuAvVIrW ++3f9a1Ea373Tks/bfSUQI8OE3mFBIh18Awjv/4TW6PZpW4rSRNAKr4FptgzirJtv +F7fRPEbsKo3vqQhCh4VTSL/Jx6D8afV4twuY9kdT6qV2U0blyi9qVwjsh6Z1qBua ++j0fQHM6ibcsaTlUhcCjvdKkmTwuQUaHMzuX6jeNJ6+I6hbnDVq4TUCdAgMBAAGj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBTvuU+VXyKJ +u69/sxcQz0VTuvnKnzAfBgNVHSMEGDAWgBTvuU+VXyKJu69/sxcQz0VTuvnKnzAN +BgkqhkiG9w0BAQsFAAOCAQEAaGdp3QKwIBrQaJXMvQyhIrq/Y1n8pk0o4+HoFSkE +o8RM4VvXllWgKo9uqPpyB3P05mJl1NgiqqSZ2m71CJ2wfz0l4JOq0kVM1WYjqZ4n +hjoHQTmqqc1+maIYURPhmA1ETjT+Rcxp6sOPn0RErLVGLqY1VBNIlLxpnT9Uu25u +VLfiqAzhyHkyydwg1zHS0K6PpkidxYq1frTagJrw8ZZTFLX+816eLiqBSmmjdXQv +ZQQPPtxn6n8OYsS03Qfk7CepTqGt1tnVCPg/St/brQfa/gDjcblAjaPQrNTbbG/P +ojaQQcq1qKBJpF1/mSSB1yEhfFKJt09YuzzOZfk5xY4C8w== +-----END CERTIFICATE----- diff --git a/public_key_RSA_12.pem b/public_key_RSA_12.pem new file mode 100644 index 0000000..3d21873 --- /dev/null +++ b/public_key_RSA_12.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrjCCApagAwIBAgIJAIdSvBK9tXaZMA0GCSqGSIb3DQEBCwUAMGYxEzARBgNV +BAoMClJPU0EgTGludXgxKjAoBgNVBAMMIUtlcm5lbCBtb2R1bGVzIHNpZ25pbmcg +UlNBIGtleSAxMjEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEByb3NhbGludXgucnUw +IBcNMjAwMzIxMDAzNTA3WhgPMjMyMDAxMDkwMDM1MDdaMGYxEzARBgNVBAoMClJP +U0EgTGludXgxKjAoBgNVBAMMIUtlcm5lbCBtb2R1bGVzIHNpZ25pbmcgUlNBIGtl +eSAxMjEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEByb3NhbGludXgucnUwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA5hpQ2yA0aiFXds2PI8EpNVbtIBn1 +yPdsxk1FVu1o+2bsuURaFtrOmmLZnwJ+Sz8eskQASoLMXpDrAS1P4FvPV/fevTm/ +o2dmwo+TCB/Befp2uenZekJa+b9b+BNmhIOljVX/tOUlqaXgnaptom3kCytK9v5J +G0ScRwFPBfcK2m+uVCxwBPaVvBI2CiXmpQsOAxfbU/9ltOUdI0MuEhz0JL0R4nbn +J2ve18SrwFtSg5GL7JKDpmG8akBpDGPTuUla7tSaKMrOj2wcxeOtXFa6v0t+XGF7 +pqe1LPEkfoCIJl7AnOPV9aLfciKjm4KOgPVBYLToJM1G5JjYwwLsZ3ifAgMBAAGj +XTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBQA3yiQzv1o +S3YGRnILzKJSUBUnjjAfBgNVHSMEGDAWgBQA3yiQzv1oS3YGRnILzKJSUBUnjjAN +BgkqhkiG9w0BAQsFAAOCAQEArG+ebJ/pn5K/rHuVUkpHSfSxYYVUtdUlFPdCMGSc +zkmfOhpB9LT3RPqS6miHfWTCqkHCtm4MG0MkeDfyCUSYgMOKli3gqVM+tRQwJP80 +WBpJSwZ5VbkmuvlYydeHJc8DsCj+3aH/O1trERt+3pgzlgmn9z9oJceCKG8X9JBT +OCrRileXJcXTGtnvh1PZ71LuM4wsPsXt7Y3/C3Mki6/SkpDSIcbk7GI3mwT0leWR +0UXgIXULNpgOufllpPV93plUGSOkgMABz3N69lQ2Hi14DoHhUGJwWPJkiUt9SGEI +gFiGExnbnoBSqXIPt1sJvBrIztKDvgNfoyJ8cEBJjI4uJA== +-----END CERTIFICATE----- diff --git a/public_key_RSA_7.pem b/public_key_RSA_7.pem new file mode 100644 index 0000000..07720df --- /dev/null +++ b/public_key_RSA_7.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrDCCApSgAwIBAgIJAMqfc8Cug/X0MA0GCSqGSIb3DQEBCwUAMGUxEzARBgNV +BAoMClJPU0EgTGludXgxKTAnBgNVBAMMIEtlcm5lbCBtb2R1bGVzIHNpZ25pbmcg +UlNBIGtleSA3MSMwIQYJKoZIhvcNAQkBFhRzdXBwb3J0QHJvc2FsaW51eC5ydTAg +Fw0yMDAzMjEwMDM0NDZaGA8yMzIwMDEwOTAwMzQ0NlowZTETMBEGA1UECgwKUk9T +QSBMaW51eDEpMCcGA1UEAwwgS2VybmVsIG1vZHVsZXMgc2lnbmluZyBSU0Ega2V5 +IDcxIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAcm9zYWxpbnV4LnJ1MIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0kkJwvtt8mXXjmpEofjFdeL/cZnfmDd7 +AUDGQfu2gluI/w3LhJPuaA09Np4wh6AaR11vFODRrwhYuG9Ea454pBEL6L+klh1O +VFQFkGCgtfJAn2odmjossBBzAubkF4XYMd3lkNnl/1Xs93aJQdiGKJBB5o0dSm6j +SjHiW1s8/GUhYvFLrFgSEvsiM80hABMhgcIJrfcEmvf7rEiLaKcMyESfi0Uw+5bU +SbrIboI9M8thyaPKS+slgj1M9Y66GgTtc0arQPJwYIPT0u8L2Kg9ljMattDNLNxE +LVWGdNOrjqt/P9xNGdzpkX+KqAqlx4876O2o64eef9Kz4HCB/ZMz7wIDAQABo10w +WzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUjuAdox5lu8X/ +72aZYjbKUdfmXzMwHwYDVR0jBBgwFoAUjuAdox5lu8X/72aZYjbKUdfmXzMwDQYJ +KoZIhvcNAQELBQADggEBAKm6Ure4xkA5Geug2doneOJ2f4kJMsjejpWsJ30O2Org +Lf9rEiBpuMGNOs9ZpEPkUPJ3ubOEhO0Sqok5wfbqPTLehxymxWjrH08DFNDyjnkY +qXYjJa8p4A0w/rhKdc7xLOkfdgyMe/+VA/H/6BP9bhdByU7HjK5mvSFtq88Q4NcS +/oxkcGPqqq/189f3M364SU8wIzCa1xedBgnHoCUUgOdn0h3SonhdEBHn0zZAFju1 +gmWH9fzjoJytmybaBpo4sbJlCV1BpZ3DPwlZd3viqwqubDpOom/KuM7rGxe6Mfn8 +bySUi/xgKdAdU5PQn0ueErq56XoyprNXFNEDA2hT0JE= +-----END CERTIFICATE----- diff --git a/public_key_RSA_8.pem b/public_key_RSA_8.pem new file mode 100644 index 0000000..7d062eb --- /dev/null +++ b/public_key_RSA_8.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrDCCApSgAwIBAgIJAIpEFLnf/gz0MA0GCSqGSIb3DQEBCwUAMGUxEzARBgNV +BAoMClJPU0EgTGludXgxKTAnBgNVBAMMIEtlcm5lbCBtb2R1bGVzIHNpZ25pbmcg +UlNBIGtleSA4MSMwIQYJKoZIhvcNAQkBFhRzdXBwb3J0QHJvc2FsaW51eC5ydTAg +Fw0yMDAzMjEwMDM0NTFaGA8yMzIwMDEwOTAwMzQ1MVowZTETMBEGA1UECgwKUk9T +QSBMaW51eDEpMCcGA1UEAwwgS2VybmVsIG1vZHVsZXMgc2lnbmluZyBSU0Ega2V5 +IDgxIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAcm9zYWxpbnV4LnJ1MIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqoC01OLXhXxecZxeQq2JDH4d1PyoqVCp +piGvEGim7Nu0VmxrBh5mEFwOwKNKJBIhcetxdjrIEUWN89mRZZUM+82X/voSxP4A +98opGgCDh5rv5tCThO/823lioeaHzwsVHLXtNmUHytPQjKbGSK647XHqd1aRRY+7 +fPPQt8KNb9php3AhqcFQTj1xpi6xkosUcF4hieTa9VKQ4o4CXRofFaS25lo/QmGL +Y3n7s2OogezJviRRviSyWSOuRr0NtILRGjPPn+ZfZVBYovA+ToHzDX03R+FwviIb +N4dfxgJhZKmh00ODQSGLypLRy+qft9vbyirOUdCi99rBJ3nlcBd/LwIDAQABo10w +WzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUMw3AAGaYRxgB +tCWcYyoCusFyVCEwHwYDVR0jBBgwFoAUMw3AAGaYRxgBtCWcYyoCusFyVCEwDQYJ +KoZIhvcNAQELBQADggEBABrTJrCAHj0wBlH2mCcCLsXDOmxm5iqBPaLJxa7FUdV3 +nrc6k5cNYgZPmIFY/SvONtpWVXq4bTeDP8NCCITpdRW2lzv71xE/xEBvdglVVjod +8KB+iHTlHbnw3+Glib2ad837oxlawoJJhridLFmdVj5lPScXWEeoGZflIcOx3tEK +MLQJey1MOQnWcFtNhhbLgiS/7ZvWfpcxX7PPyFxygs+8TSNKwIMcnvLZEewiA1vA +t3WXv9lfdym9vWA6Enp7Wy4417TPPEsq1aKq97rMrCyLNTZT5x0jxwmHfrgL/yG/ +IhNkWaREmL6YptE0b4tJ6yNnCWJJMsgkdeOAYAhuVxQ= +-----END CERTIFICATE----- diff --git a/public_key_RSA_9.pem b/public_key_RSA_9.pem new file mode 100644 index 0000000..82a3334 --- /dev/null +++ b/public_key_RSA_9.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrDCCApSgAwIBAgIJAJ5Jnji5fl80MA0GCSqGSIb3DQEBCwUAMGUxEzARBgNV +BAoMClJPU0EgTGludXgxKTAnBgNVBAMMIEtlcm5lbCBtb2R1bGVzIHNpZ25pbmcg +UlNBIGtleSA5MSMwIQYJKoZIhvcNAQkBFhRzdXBwb3J0QHJvc2FsaW51eC5ydTAg +Fw0yMDAzMjEwMDM0NTRaGA8yMzIwMDEwOTAwMzQ1NFowZTETMBEGA1UECgwKUk9T +QSBMaW51eDEpMCcGA1UEAwwgS2VybmVsIG1vZHVsZXMgc2lnbmluZyBSU0Ega2V5 +IDkxIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAcm9zYWxpbnV4LnJ1MIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApa3C5J/hBH3sTW3e+h1IOr8mSuo8ihBz +IW/aaK8W9lQb0QGnhIJrIkjSwxGy31IdFRHC4SAwRQ+jE42sIr5rdAsCNZdLMc7Z ++ADCuBBU9xBMR5fdgnmQrMjBzcY2fikW9SVvWZD2veZNfqXadkNq7O3eCRznosnE +rgkb9hyBvrsvfrscEJp/jXkhjWHinwM4yVgxObZjgKj2RNbTrrPDdJlSW08EgLst +SzuIZL6Yjp32KsLjGKM1qZsoTlnLSxb7JrysARdyPB4O9kc8ShQuXiaopZaBG9za +WylYZfxE0UZ4CrE02ln02J93TXguJrT7d+GO6WNvJPNwombSeaDiEQIDAQABo10w +WzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUZdHpFxVRiRlq +z1KGoV1CRe7fJkowHwYDVR0jBBgwFoAUZdHpFxVRiRlqz1KGoV1CRe7fJkowDQYJ +KoZIhvcNAQELBQADggEBAIMJfNc2dNrbX8jSKZVnd+Y5DbCgStj/oXL5RE0u+nTR +hTWmOufxptLK1wohe7fI8hZtUu/8Iq8deB9tYAJPiK8D+AvHME/1OZGD+c0KDLfr +84qltNqykyh1J0E586HcVzOX3vPuRkyOUDmLRFYKudYMd/D2zRWz3q0D/R/7Z/uN +ntFahoeKzh7T9wfz/fP8jk9tdCnl6OuHVqB1wxLnxHHzEcQg2wEtwZg09HcvIemi +TGgvCZAlOmRbKbGc5AXPB128Z7SzMpBeZAdmaJM/uhKH6BDA+zTfAsX04S401yaU +2xXLqncA0ggF4mjv2RGzljfg07EhBTerNkRAJZ7u3uE= +-----END CERTIFICATE-----