string. The substitution for RHEL_RELEASE_CODE when it was not defined
was missing.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@788 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Disabled running "make headers_check" because it produces a lot of output
with the 2.6.29 kernel, and none of the output applies to SCST.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@756 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Added command-line options -a, -d, -n and -s.
- If the syntax of the command-line options is incorrect, a usage text
is displayed.
- Bug fix: log2_io_size is now honored even if the target device is larger
than the specified size.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@747 d57e44dd-8a1f-0410-8b47-8ef2f437770f
temporary regression test files.
- Added workaround for the problem that the branch profiling code in the
2.6.29 kernel triggers a huge number of sparse warnings.
- Made sure that all tests print some output, even if successful.
- Improved summarizing of sparse warnings.
- Command-line option -j now works.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@716 d57e44dd-8a1f-0410-8b47-8ef2f437770f
simultaneously).
- scripts/generate-kernel-patch is now only run once instead of three
times per kernel version.
- Context imbalance warnings are no longer filtered from the output of
sparse.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@714 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Added command-line option -f, which enables a full check. Changed
behavior when -f has not been specified to running checkpatch, sparse
and headers_check only. This makes the script complete a lot faster.
- A summary of the errors and warnings reported by checkpatch, sparse
and make headers_check is now printed.
- Made the functions kernel_version and patchlevel more robust.
- The function duplicate_source_tree now only copies the files
administered by Subversion. Other files, e.g. .o files, are skipped.
- Moved the make flag -j3 from individual make commands to a single
assignment to the variable MAKEFLAGS, such that the make flags are
easier to modify.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@709 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Added support for evaluating #ifdef and #ifndef.
- Added support for substituting the macro's RHEL_MAJOR, RHEL_MINOR and RHEL_RELEASE_CODE.
- Added more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@637 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Left out iscsi_scst_itf_ver.h since it is a generated file.
- README.qla2x00t has been put in a separate patch, qla2x00t-doc.diff.
- scst_proc.diff has been scst_core.diff.
- scst_vdisk.diff has been split from scst_dev_handlers.diff.
- scst_dev_handlers.diff has been renamed into scst_passthrough.diff.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@611 d57e44dd-8a1f-0410-8b47-8ef2f437770f
included in the generated patch output.
- Added command-line option -p <patchdir>, which allows to generate a
set of patches instead of one big patch.
- New feature: by setting the environment variable SIGNED_OFF_BY, the
Signed-off-by line is filled in.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@600 d57e44dd-8a1f-0410-8b47-8ef2f437770f
scripts/run-regression-tests:
- Adds a description about what the script does.
- Added command-line option -c which allows to specify which directory to use
as cache for kernel tar balls and patch files.
- More error checking.
- scst_local is now included in all the tests.
- Swapped the order of two test steps, namely compiling the whole tree and
running sparse. This way the output of the sparse tool is available a lot
sooner.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@574 d57e44dd-8a1f-0410-8b47-8ef2f437770f
to the SCST source tree. All tests are run in an automated fashion, but result
interpretation is not yet completely automated.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@552 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Add a dummy Signed-off-by line to the generated patch, such that checkpatch
doesn't complain that it's missing.
- Sort the names of source files (through ls) before using these, such that
the generated patch is the same during each run.
- Fixed a bug in #elif handling (this bug is not triggered by the current SCST
code).
This patch has been tested by comparing the output of the old and the new
generate-kernel-patch script.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@530 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Converted tabs to spaces in the help text.
- Removed command-line option '-s' -- the srpt driver is now always included.
- Recognizes now both kernel versions with three components (x.y.z) and kernel
versions with four components (x.y.z.p).
- Empty files for Kconfig and Makefile are added for those components that are
not included in the kernel patch, such that make allyesconfig
/ make allmodconfig keeps working.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@528 d57e44dd-8a1f-0410-8b47-8ef2f437770f
vanilla Linux kernel version. When I submitted this script for inclusion in the
SCST Subversion repository the SRPT target driver was excluded by default
because of checkpatch errors triggered by the SRPT source code. These errors
have been fixed considerable time ago. Hence the patch below makes inclusion
of the SRPT driver the default.
This patch has been tested by verifying that the generated patch still applies
cleanly to the 2.6.25.17 kernel, and that the patched kernel still compiles cleanly.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@511 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- The script specialize-patch now acts as if #define INSIDE_KERNEL_TREE 1
is effective.
- The script generate-kernel-patch now renames sBUG_ON() into BUG_ON()
and sBUG() into BUG(). The same script removes the definitions of the
sBUG_ON(), sBUG() and WARN_ON_ONCE() macro's from the header file
scst_debug.h. The last macro is only removed for kernel versions later than
2.6.19.
This patch has been tested as follows:
- Compared the output of the command "scripts/generate-kernel-patch 2.6.25"
before and after the changes.
- Verified the newly generated patch with checkpatch. Checkpatch statistics
are now as follows:
521 WARNING: line over 80 characters
12 WARNING: consider using strict_strtoul in preference to simple_strtoul
10 WARNING: printk() should include KERN_ facility level
3 WARNING: CVS style keyword markers, these will _not_ be updated
2 WARNING: do not add new typedefs
1 WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
- Verified that the generated kernel patch still applies cleanly to the
2.6.25.10 kernel and that this kernel still compiles, installs and boots fine.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@445 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The script scripts/specialize-patch'>scripts/specialize-patch is an awk script. Currently it specifies /usr/bin/awk as its interpreter although it doesn't use the standard AWK syntax but the extended GNU AWK syntax. The patch below changes the interpreter name such that the script also works on systems where /usr/bin/awk is not GNU AWK (e.g. Ubuntu 8.04). Note: GNU AWK is not installed by default on all Linux systems. E.g. on Debian systems it's in the gawk package.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@413 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The current version of generate-kernel-patch does not remove preprocessor
statements that should have been removed because intended for another kernel
version (surrounded by #if LINUX_VERSION_CODE ... KERNEL_VERSION(...) / #endif).
The patch below fixes this.
I have verified the patch below by comparing the patch generated by the
old and the new versions of the generate-kernel-patch script:
$ diff p1 p2
7190d7189
< +#if defined(EXTRACHECKS)
7196c7195,7196
< +#endif
---
> > +
> > +
13056d13055
< +#ifdef STRICT_SERIALIZING
13058d13056
< +#elif !defined(SCSI_EXEC_REQ_FIFO_DEFINED)
13060d13057
< +#else
13062c13059,13062
< +#endif
---
> > +
> > +
> > +
> > +
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@392 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch adds command-line options -m and -q to the script
generate-kernel-patch. These command line options make it possible to
choose at the time the script is invoked whether or not to include the
qla2x00t and/or mpt code in the generated kernel patch.
Please review.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Index: scripts/generate-kernel-patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@390 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below implements the following changes:
- Make sure the output of the make command does not appear in the generated
kernel patch.
- Changed interpreter of scripts/specialize-patch from /usr/bin/gawk to
/usr/bin/awk in order to make sure this awk script also runs on systems
where awk is installed but not gawk.
- Added an extra evaluation rule such that expressions like (0) are rewritten
as 0.
- Fixed a spelling error.
- Expressions that can only be partially evaluated are now partially evaluated.
E.g. #if defined(EXTRACHECKS) && (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18))
becomes #if defined(EXTRACHECKS) && 0 in the output.
- Code between #if 0 / #endif or #if 1 / #endif is included in the generated
kernel patch, including the surrounding preprocessor directives.
- Preprocessor statements with spaces behind # are now recognized (e.g. "# if").
- Expression evaluator now supports ! (logical not) and () (braces).
- #elif is now evaluated correctly.
- Nested #if / #elif / #else / #endif are now interpreted correctly.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@385 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below contains a script that removes C preprocessor tests on the
LINUX_VERSION_CODE macro, depending on the kernel version that was passed as
an argument to that script. Furthermore, the generate-kernel-patch script has
been modified such that its output is filtered by the specialize-patch script.
This eliminates another class of checkpatch errors.
Note: due to the way the specialize-patch script is implemented, #if 0 and
#if 1 statements are also processed.
The patch below has been verified as follows:
- Checked that checkpatch does no longer complain about LINUX_VERSION_CODE
on the generated patch.
- Checked that the generated kernel patch applies cleanly to the 2.6.25.4
kernel.
- Checked that the patched kernel compiles and installs cleanly, and that
after reboot it was possible to load the iscsi-scst and ib_srpt kernel modules.
I will wait with sending more patches until this and the previous two patches
have been reviewed and/or applied.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@384 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below implements the following changes:
- Fixes the remaining warnings reported by checkpatch.pl with regard to the use
of whitespace in C code.
- Adds double qoutes around some #warning messages, such that checkpatch.pl
does no longer try to interprete the text behind the #warning preprocessor
directive.
- Adds an extra conversion to the generate-kernel-patch script that removes
the single space from before goto-labels while generating the kernel patch.
This patch has been tested as follows:
- Verified that svn diff -x -w only shows changes in the #warning preprocessor directives.
- Verified the output of svn diff by reading it.
- Verified that checkpatch.pl does no longer complain on the use of whitespace
(searched through the checkpatch.pl output for the text ' space').
- Verified that the patch generated by the generate-kernel-patch script still
applies cleanly to the 2.6.24 kernel, and that the patched kernel still compiles cleanly.
Please let me know if I have to resubmit parts of this patch to other SCST authors.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@381 d57e44dd-8a1f-0410-8b47-8ef2f437770f
I don't know when this was broken, but with the current SVN version, after
having generated and applied a kernel patch for SCST, iscsi-scst doesn't
build anymore. The patch below fixes this and also includes a cleanup patch
for the generate-kernel-patch'>generate-kernel-patch script. The generated kernel patch has been
tested with the 2.6.24 and 2.6.25.4 kernels (extracted kernel sources +
applied patch + built kernel + installed kernel + reboot + load SCST
modules).
Signed-off-by: <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@375 d57e44dd-8a1f-0410-8b47-8ef2f437770f