Write the specialized patch unchanged when diffstat is unavailable,
instead of creating an empty file. Propagate specialization,
output-directory, and generated-header failures to the caller.
Treat status 1 from diff as successful when generating QLogic in-tree
patches, while continuing to propagate actual diff failures.
Propagate patch, source-copy, and patch-generation failures instead
of continuing with incomplete regression inputs. Stop immediately
when the output directory cannot be created.
Also correct the documented options and keep Debian package output
in its intended log file.
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.
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.
GNU Awk 5.4 rejects unescaped repetition operators at the start of a
regular expression and C-style comments in the program text. Escape the
literal diff markers and use an Awk comment so patch specialization
works with current GNU Awk.
Procfs support was removed in 2019, but dead configuration guards,
patch specialization logic and unused declarations remained. Remove these
remnants and simplify paths that can no longer receive procfs-only objects.
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.
Partial evaluation can yield guards like "+#if 0 && ...". These are false
but bypassed the filter that only matched exact "+#if 0"/"+#elif 0".
Tighten the regex to match the original spacing and catch both forms.
This is the minimal change addressing the bug observed in logs such as:
(c) +#if 0 && !(1 && defined(FC_PORTSPEED_256GBIT)) ...
(g2) ... output = 1 <-- wrong
After this change such guards are dropped correctly (output = 0).
Fix mismatch where generate-kernel-patch keyed paths by full_kver
(with ‘^’) but in-tree patches were written under krel
(before ‘^’). Derive krel=${full_kver/^*} and use it for qla2xxx path
resolution.
- Switching from 'set -e' to 'set -euo pipefail' for better error handling.
- Quoting all variable expansions to prevent word splitting and globbing.
- Replacing legacy unquoted $(...) and $@ with quoted forms.
- Using array-safe idioms where necessary (e.g., "${src_files[@]}").
This patch doesn't change any functionality.
This fixes the run-regression-tests build against kernel versions >= v6.3.
See also commit 5573b4daa26a ("kbuild: do not automatically add -w option
to modpost") # v6.3.
SCST_VERSION_CODE has not been updated since SCST v3.4 because
the update-version script used the wrong file for parsing. Hence fix
the update-version script and SCST_VERSION_CODE.
Update the Q2T_VERSION_STRING for the qla2x00t-32gbit driver.
Fixes: 0b3aad05 ("scripts/update-version: Also update the qla2x00t-32gbit version number")
See also Linux kernel commit 9b82f13e7ef3 ("kbuild: clamp SUBLEVEL to 255";
v5.12-rc1).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9369 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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