patches/uClibc/0.9.28.3/110-install_dev.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
parent 6 4267d95819bd
permissions -rw-r--r--
kernel/linux: fix using custom location

Currently, extract and patch are skipped as thus:
- using a custom directory of pre-installed headers
- a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
- a non-custom kernel is used
- a previous build only partially extracted the non-custom sources
- that p[revious build broke during extraction (eg. incomplete tarball...)
- a subsequent build will find a properly named directory, and will
thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type | Extract | Patch
----------------------+---------+-------
Pre-installed headers | N | N
custom directory | N | N
custom tarball | Y | N
mainstream tarball | Y | Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
     1 We know that the kernel headers are in place. Don't try to install them.
     2 
     3 diff -dur uClibc-0.9.28.1.orig/Makefile uClibc-0.9.28.1/Makefile
     4 --- uClibc-0.9.28.1.orig/Makefile	2007-01-28 06:38:00.000000000 +0100
     5 +++ uClibc-0.9.28.1/Makefile	2007-01-28 18:55:46.000000000 +0100
     6 @@ -158,12 +158,10 @@
     7  	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
     8  	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
     9  	-$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
    10 -	if [ "$(KERNEL_SOURCE)" = "$(DEVEL_PREFIX)" ] ; then \
    11 -		extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
    12 -	else \
    13 -		extra_exclude="" ; \
    14 -	fi ; \
    15 -	tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
    16 +	extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
    17 +	tar -chf - include --exclude .svn --exclude CVS \
    18 +	                   --exclude include/linux      \
    19 +	                   --exclude include/asm'*'     \
    20  		| tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
    21  	echo '/* Dont use _syscall#() macros; use the syscall() function */' > \
    22  		$(PREFIX)$(DEVEL_PREFIX)include/bits/syscalls.h