Commit Graph
57 Commits
Author SHA1 Message Date
Gleb Chesnokov f788bfd0d6 scripts: Fix ShellCheck diagnostics
Quote scalar arguments and use arrays for command option lists so paths
and options retain their boundaries. Preserve intentional version-field
splitting with narrow documented suppressions.

Also handle GNU getopt output without losing quoted arguments and
remove warnings about masked statuses, unused values and ambiguous test
expressions.
2026-08-21 19:58:59 +03:00
Gleb Chesnokov 3056c73db8 scripts: Validate kernel downloads
Download kernel archives through a temporary file, validate XZ data,
and only publish complete files. Reject corrupt cached downloads and
propagate XZ pipeline failures during extraction and patching.

Wire the regression runner cache option to the kernel_downloads
variable used by the shared download helpers.
2026-08-21 19:58:59 +03:00
Gleb Chesnokov 2b1dc822e8 scripts: Remove pre-3.10 kernel support
Reject unsupported kernel versions before download or patch generation.
Remove 2.x paths, RHEL 5/6 and Scientific Linux repositories, and
compatibility branches that cannot run with the Linux 3.10 minimum.

Keep the maintained ABT_KERNELS matrix unchanged.
2026-08-21 19:58:59 +03:00
Gleb Chesnokov 5eb824aea8 scripts/kernel-functions: Handle Rocky kernel rebuild tarballs
Rocky Linux kernel rebuilds can append an extra release suffix to the
source RPM name. For example, kernel-5.14.0-687.10.1.el9_8.0.1.src.rpm can
still contain a linux-5.14.0-687.10.1.el9_8.tar.* source archive.

The exact linux-${kver}*.tar.* match then fails before the source tree
can be extracted.

Look for the archive name again with a trailing .0.N rebuild suffix
removed and keep renaming the extracted tree to the full requested kernel
release, so later paths remain unchanged.
2026-05-28 15:49:14 +03:00
Gleb Chesnokov 86a2ee9dc3 scripts/kernel-functions: Validate downloaded RPMs 2026-05-26 18:27:32 +03:00
Gleb Chesnokov f700584be4 scripts: Add Rocky Linux kernel support 2026-05-26 18:27:32 +03:00
Gleb Chesnokov 7c4e07414a .github/workflows: Add a GitHub action to run regression tests upon push
Introduce a new GitHub action that automatically runs the
scripts/run_regression_tests script upon each push to the master branch.
2024-05-03 17:45:14 +03:00
Gleb Chesnokov 31699069f3 nightly build: Include the AlmaLinux RHEL kernels
Add support for RHEL 8.6 8.7 9.0 9.1 nightly builds.
2022-12-14 10:25:38 +03:00
Gleb Chesnokov 80471ef507 scripts/kernel-functions: Improve gcc 12 support
Fix nightly build with gcc 12 for kernel versions 5.11, 5.12, 5.13,
5.14.
2022-12-14 10:25:38 +03:00
Bart Van Assche ce54530cd2 scripts/kernel-functions: Revert r9445
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9469 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-06-25 03:13:47 +00:00
Bart Van Assche f3c567b4ce nightly build: Improve support for CentOS 8.4
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9445 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-06-21 03:26:20 +00:00
Bart Van Assche 124edd624f nightly build: Add support for CentOS 8.4
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9444 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-06-21 03:25:39 +00:00
Bart Van Assche c5e515b702 Address checkpatch complaints about duplicated words
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9383 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-04-29 03:15:01 +00:00
Bart Van Assche 4664d87d6a scripts/kernel-functions: Apply the yylloc patch also to scripts/dtc/dtc-lexer.lex.c_shipped
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9306 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-31 16:58:27 +00:00
Bart Van Assche 0895adbb92 scripts/kernel-functions: Unbreak the build against kernel versions 2.6.34[2..7]
Fixes: e3d187f6af ("scripts/kernel-functions: Apply kernel patches more selectively")



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9305 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-31 16:57:10 +00:00
Bart Van Assche e3d187f6af scripts/kernel-functions: Apply kernel patches more selectively
Only try to apply kernel patches that should apply such that 'patch' does
not report any error messages that some patches fail to apply.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9228 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-21 20:56:58 +00:00
Bart Van Assche 8ddd93ee2a scripts/kernel-functions: Remove an UEK R4 patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9225 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 22:16:51 +00:00
Bart Van Assche 21c519918d regression tests: Disable branch profiling in the kernel configuration
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9223 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 21:41:19 +00:00
Bart Van Assche ab65209f50 scripts/run-regression-tests: Improve support for UEK kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9220 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 02:40:29 +00:00
Bart Van Assche 7657f17bf5 scripts/kernel-functions: Source code cleanup
Fix a few shellcheck warnings, swap two if-statements and add a few comments.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9215 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 00:59:42 +00:00
Bart Van Assche 5a1f212ce6 nightly build: Include the Oracle UEK kernel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9214 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-19 17:51:00 +00:00
Bart Van Assche 09d4e1e443 scripts/kernel-functions: Improve gcc 10 support
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9028 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-06-21 16:08:22 +00:00
Bart Van Assche 8174bad3da scripts/kernel-functions: Make it possible to build older kernels with gcc 10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9027 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-06-21 16:07:16 +00:00
Bart Van Assche 3b4ba67d8b scripts: Rework the approach for building older kernels with a recent gcc
Instead of setting KCFLAGS, modify include/linux/compiler-gcc.h.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9003 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-06-06 17:09:44 +00:00
Bart Van Assche 041ef55247 scripts/kernel-functions: Fix the RHEL 6.x build
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8909 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-13 21:27:11 +00:00
Bart Van Assche 115ec5be90 scripts/kernel-functions: Only apply RHEL patches on RHEL kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8906 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-13 20:37:30 +00:00
Bart Van Assche 056f426165 scripts/kernel-functions: Make this script compatible with bash versions that do not support readarray
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8900 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-11 20:37:43 +00:00
Bart Van Assche 8485b98f05 scripts/kernel-functions: Suppress RHEL warnings about module_init() / module_exit()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8890 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-10 18:38:58 +00:00
Bart Van Assche 6773f8e9a5 scripts/run-regression-tests: Add support for distro kernels
A few examples of how to run the regression tests against a distro kernel:

scripts/run-regression-tests -l 4.18.0-147.5.1.el8_1^CentOS^8.1.1911-nc
scripts/run-regression-tests -l 4.18.0-80.11.2.el8_0^CentOS^8.0.1905-nc
scripts/run-regression-tests -l 3.10.0-1127.el7^CentOS^7.8.2003-nc
scripts/run-regression-tests -l 3.10.0-1062.18.1.el7^CentOS^7.7.1908-nc
scripts/run-regression-tests -l 3.10.0-957.27.2.el7^CentOS^7.6.1810-nc
scripts/run-regression-tests -l 3.10.0-862.14.4.el7^CentOS^7.5.1804-nc



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8885 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-09 22:54:47 +00:00
Bart Van Assche 33ae08da62 scripts/kernel-functions: Apply the -fno-PIE to more kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8841 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-03-20 17:25:16 +00:00
Bart Van Assche 9267f92ba5 scripts/generate-kernel-patch: Only select new QLogic driver for kernel versions >= 3.15
A recent change (.cmd_size in the SCSI host template) increased the
minimal kernel version required for qla2x00t-32gbit. Update
scripts/generate-kernel-patch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8571 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-08-26 00:25:58 +00:00
Bart Van Assche c205138e87 scripts: Fix multiple shellcheck warnings
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8564 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-08-25 22:51:57 +00:00
Bart Van Assche 163e34b548 scripts/kernel-functions: Fix download_and_extract_kernel_tree()
Use grep to check whether or not 'git tag' succeeded since the exit status
of 'git tag' is always zero.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8395 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-05-30 02:46:35 +00:00
Bart Van Assche 86b2b49ade scripts/kernel-functions: Fetch both Linus' tree and the stable tree
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8362 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-05-16 16:30:08 +00:00
Bart Van Assche 2c9922245d scripts/kernel-functions: Fix the code for retrieving kernel code from a git repo
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8179 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-10 15:00:33 +00:00
Bart Van Assche 339d30b6bc scripts/kernel-functions: Fix up ____ilog2_NaN() prototype
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8178 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-10 14:59:48 +00:00
Bart Van Assche 7944db8387 scripts/kernel-functions: Fix a check that controls whether or not a patch should be applied
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8132 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-02 04:11:45 +00:00
Bart Van Assche 262c7f3b64 scripts/kernel-functions: Check local kernel git repo before downloading
This approach works faster than downloading kernel source code tarballs.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8119 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:31:29 +00:00
Bart Van Assche 48f37a91a6 scripts/kernel-functions: Rename ${kernel_sources} into ${kernel_downloads}
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8118 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:29:21 +00:00
Bart Van Assche 0dceefe878 qla2x00t, scripts: Introduce download_and_extract_kernel_tree()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8117 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-31 16:28:44 +00:00
Bart Van Assche 1698ec7944 scripts/kernel-functions: Backport the -fno-PIE patch to the 2.6 kernel series
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8015 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-08 02:19:44 +00:00
Bart Van Assche 3e0790141a scripts/kernel-functions: Fix -fno-PIE backport
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8007 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-03-07 01:36:31 +00:00
Bart Van Assche de656af3f0 scripts/kernel-functions: Avoid that compilation fails with "error: code model kernel does not support PIC mode"
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7996 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-02-28 22:01:28 +00:00
Bart Van Assche 4e4e586a82 scripts/kernel-functions: Fix kernel_version_le()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7823 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-22 05:48:57 +00:00
Bart Van Assche 6864e0b759 scripts/run-regression-tests: Include the qla2xxx driver
Make sure that not only the qla2x00tgt but also the qla2xxx_scst driver
gets built when scripts/run-regression-tests is run.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7442 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:32:28 +00:00
Bart Van Assche 841cc5812a nightly build, scripts/kernel-functions: Backport v4.16 gcc-8 fixes to kernel v4.15
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7406 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-10 04:10:09 +00:00
Bart Van Assche 9de081f1a7 scripts/kernel-functions: Synchronize with the latest kernel.org directory layout
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7330 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-01-06 22:54:12 +00:00
Bart Van Assche acc573a2bb scripts: Update kernel download location
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7161 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 14:10:22 +00:00
Bart Van Assche 9db6a5e0de nightly build: Add kernel 4.0 build infrastructure
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6226 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-09 13:35:04 +00:00
Bart Van Assche bdcba0604a Make scripts/kernel-functions again compatible with 2.6.x kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5661 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-07-04 05:39:28 +00:00