patches/linux/2.4.26/170-linux-2.4-bsd-expr.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:12:59 2008 +0000 (2008-02-17)
changeset 433 9886aa0a9694
permissions -rw-r--r--
Robert P. J. DAY says:

According to Mike Frysinger, this patch was removed from Gentoo in the
2.3.x series and didn't seem to cause any adverse effects. So toss it
from the patch directories for glibc 2.5 and up.
yann@402
     1
# http://in3www.epfl.ch/~schaffne/linux-2.4-bsd-expr.patch
yann@402
     2
The following makes it possible to compile linux 2.4.19 to 2.4.25 on Mac OS X,
yann@402
     3
where "expr" doesn't understand the "length" construct
yann@402
     4
(which it doesn't have to, according to SuSv3
yann@402
     5
(see http://www.opengroup.org/onlinepubs/007904975/utilities/expr.html)
yann@402
     6
See also http://sources.redhat.com/ml/crossgcc/2004-02/msg00131.html
yann@402
     7
yann@402
     8
Fixes error
yann@402
     9
  expr: syntax error
yann@402
    10
  KERNELRELEASE "2.4.21" exceeds 64 characters
yann@402
    11
  make: *** [include/linux/version.h] Error 1
yann@402
    12
yann@402
    13
yann@402
    14
diff -ur linux-2.4.23-old/Makefile linux-2.4.23/Makefile
yann@402
    15
--- linux-2.4.23-old/Makefile	2003-12-09 14:27:56.000000000 +0100
yann@402
    16
+++ linux-2.4.23/Makefile	2003-12-09 14:28:37.000000000 +0100
yann@402
    17
@@ -353,7 +353,7 @@
yann@402
    18
 	@rm -f .ver1
yann@402
    19
 
yann@402
    20
 include/linux/version.h: ./Makefile
yann@402
    21
-	@expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
yann@402
    22
+	@expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \
yann@402
    23
 	  (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
yann@402
    24
 	@echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
yann@402
    25
 	@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver