Description of problem: If you set 'sublevel' to a non-integer value, say 19.3 or 20.1, you will break the toplevel kernel Makefile, and cause failure to compile. Specifically, in the Makefile: define filechk_version.h (echo \#define LINUX_VERSION_CODE $(shell \ expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) endef This 'expr' will fail with non-numeric value in $SUBLEVEL. This leaves LINUX_VERSION_CODE undefined, and causes syntax errors. The first one appears in drivers/usb/core/hcd.c line 133. Not a big deal for your products, but someday you might find yourself building a kernel of version a.b.c.d and wonder why it doesn't compile. Version-Release number of selected component (if applicable): kernel 2.6.9 specfile. How reproducible: Always. Steps to Reproduce: 1. Try to build a newer kernel with sublevel 19.3 or 20.1. 2. rpmbuild -ba --target i686 kernel-2.6.spec 3. Actual results: Expected results: Additional info:
sublevel will not change over the life of rhel4 it is fixed at '9'. thus, although it would be nice to make the code more general i don't see this as a bug.