patches/linux/2.4.26/linux-2.4-bsd-expr.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/linux/2.4.26/linux-2.4-bsd-expr.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,25 @@
     1.4 +# http://in3www.epfl.ch/~schaffne/linux-2.4-bsd-expr.patch
     1.5 +The following makes it possible to compile linux 2.4.19 to 2.4.25 on Mac OS X,
     1.6 +where "expr" doesn't understand the "length" construct
     1.7 +(which it doesn't have to, according to SuSv3
     1.8 +(see http://www.opengroup.org/onlinepubs/007904975/utilities/expr.html)
     1.9 +See also http://sources.redhat.com/ml/crossgcc/2004-02/msg00131.html
    1.10 +
    1.11 +Fixes error
    1.12 +  expr: syntax error
    1.13 +  KERNELRELEASE "2.4.21" exceeds 64 characters
    1.14 +  make: *** [include/linux/version.h] Error 1
    1.15 +
    1.16 +
    1.17 +diff -ur linux-2.4.23-old/Makefile linux-2.4.23/Makefile
    1.18 +--- linux-2.4.23-old/Makefile	2003-12-09 14:27:56.000000000 +0100
    1.19 ++++ linux-2.4.23/Makefile	2003-12-09 14:28:37.000000000 +0100
    1.20 +@@ -353,7 +353,7 @@
    1.21 + 	@rm -f .ver1
    1.22 + 
    1.23 + include/linux/version.h: ./Makefile
    1.24 +-	@expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
    1.25 ++	@expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \
    1.26 + 	  (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
    1.27 + 	@echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
    1.28 + 	@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver