patches/linux/2.4.26/linux-2.4-bsd-expr.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
# http://in3www.epfl.ch/~schaffne/linux-2.4-bsd-expr.patch
yann@1
     2
The following makes it possible to compile linux 2.4.19 to 2.4.25 on Mac OS X,
yann@1
     3
where "expr" doesn't understand the "length" construct
yann@1
     4
(which it doesn't have to, according to SuSv3
yann@1
     5
(see http://www.opengroup.org/onlinepubs/007904975/utilities/expr.html)
yann@1
     6
See also http://sources.redhat.com/ml/crossgcc/2004-02/msg00131.html
yann@1
     7
yann@1
     8
Fixes error
yann@1
     9
  expr: syntax error
yann@1
    10
  KERNELRELEASE "2.4.21" exceeds 64 characters
yann@1
    11
  make: *** [include/linux/version.h] Error 1
yann@1
    12
yann@1
    13
yann@1
    14
diff -ur linux-2.4.23-old/Makefile linux-2.4.23/Makefile
yann@1
    15
--- linux-2.4.23-old/Makefile	2003-12-09 14:27:56.000000000 +0100
yann@1
    16
+++ linux-2.4.23/Makefile	2003-12-09 14:28:37.000000000 +0100
yann@1
    17
@@ -353,7 +353,7 @@
yann@1
    18
 	@rm -f .ver1
yann@1
    19
 
yann@1
    20
 include/linux/version.h: ./Makefile
yann@1
    21
-	@expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \
yann@1
    22
+	@expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \
yann@1
    23
 	  (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false)
yann@1
    24
 	@echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver
yann@1
    25
 	@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver