ath5k: channel change fix
[openwrt/staging/yousong.git] / package / kernel / mac80211 / patches / 001-fix_build.patch
1 --- a/Makefile
2 +++ b/Makefile
3 @@ -5,7 +5,7 @@
4 ifeq ($(KERNELRELEASE),)
5
6 MAKEFLAGS += --no-print-directory
7 -SHELL := /bin/bash
8 +SHELL := /usr/bin/env bash
9 BACKPORT_PWD := $(shell pwd)
10
11 KMODDIR ?= updates
12 @@ -19,6 +19,7 @@ KLIB_BUILD ?= $(KLIB)/build/
13 KERNEL_CONFIG := $(KLIB_BUILD)/.config
14 KERNEL_MAKEFILE := $(KLIB_BUILD)/Makefile
15 CONFIG_MD5 := $(shell md5sum $(KERNEL_CONFIG) 2>/dev/null | sed 's/\s.*//')
16 +STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5)
17
18 export KLIB KLIB_BUILD BACKPORT_PWD KMODDIR KMODPATH_ARG
19
20 @@ -36,7 +37,8 @@ mrproper:
21 @rm -f .kernel_config_md5 Kconfig.versions Kconfig.kernel
22 @rm -f backport-include/backport/autoconf.h
23
24 -.DEFAULT:
25 +.SILENT: $(STAMP_KERNEL_CONFIG)
26 +$(STAMP_KERNEL_CONFIG):
27 @set -e ; test -f .local-symbols || ( \
28 echo "/--------------" ;\
29 echo "| You shouldn't run make in the backports tree, but only in" ;\
30 @@ -60,56 +62,60 @@ mrproper:
31 echo "| (that isn't currently running.)" ;\
32 echo "\\--" ;\
33 false)
34 - @set -e ; if [ "$$(cat .kernel_config_md5 2>/dev/null)" != "$(CONFIG_MD5)" ] ;\
35 - then \
36 - echo -n "Generating local configuration database from kernel ..." ;\
37 - grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | ( \
38 - while read l ; do \
39 - if [ "$${l:0:7}" != "CONFIG_" ] ; then \
40 - continue ;\
41 - fi ;\
42 - l=$${l:7} ;\
43 - n=$${l%%=*} ;\
44 - v=$${l#*=} ;\
45 - if [ "$$v" = "m" ] ; then \
46 - echo config $$n ;\
47 - echo ' tristate' ;\
48 - elif [ "$$v" = "y" ] ; then \
49 - echo config $$n ;\
50 - echo ' bool' ;\
51 - else \
52 - continue ;\
53 - fi ;\
54 - echo " default $$v" ;\
55 - echo "" ;\
56 - done \
57 - ) > Kconfig.kernel ;\
58 - kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \
59 - sed 's/^\(\(3\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\
60 - test "$$kver" != "" || echo "Kernel version parse failed!" ;\
61 - test "$$kver" != "" ;\
62 - kvers="$$(seq 14 39 | sed 's/^/2.6./')" ;\
63 - kvers="$$kvers $$(seq 0 99 | sed 's/^/3./')" ;\
64 - print=0 ;\
65 - for v in $$kvers ; do \
66 - if [ "$$print" = "1" ] ; then \
67 - echo config BACKPORT_KERNEL_$$(echo $$v | tr . _) ;\
68 - echo " def_bool y" ;\
69 - fi ;\
70 - if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\
71 - done > Kconfig.versions ;\
72 - # RHEL as well, sadly we need to grep for it ;\
73 - RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \
74 - sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
75 - RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \
76 - sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
77 - for v in $$(seq 0 $$RHEL_MINOR) ; do \
78 - echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\
79 - echo " def_bool y" ;\
80 - done >> Kconfig.versions ;\
81 - echo " done." ;\
82 - fi ;\
83 - echo "$(CONFIG_MD5)" > .kernel_config_md5
84 + @rm -f .kernel_config_md5_*
85 + @touch $@
86 +
87 +Kconfig.kernel: $(STAMP_KERNEL_CONFIG) .local-symbols
88 + @printf "Generating local configuration database from kernel ..."
89 + @grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | ( \
90 + while read l ; do \
91 + if [ "$${l:0:7}" != "CONFIG_" ] ; then \
92 + continue ;\
93 + fi ;\
94 + l=$${l:7} ;\
95 + n=$${l%%=*} ;\
96 + v=$${l#*=} ;\
97 + if [ "$$v" = "m" ] ; then \
98 + echo config $$n ;\
99 + echo ' tristate' ;\
100 + elif [ "$$v" = "y" ] ; then \
101 + echo config $$n ;\
102 + echo ' bool' ;\
103 + else \
104 + continue ;\
105 + fi ;\
106 + echo " default $$v" ;\
107 + echo "" ;\
108 + done \
109 + ) > $@
110 + @echo " done."
111 +
112 +Kconfig.versions: Kconfig.kernel
113 + @kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \
114 + sed 's/^\(\(3\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\
115 + test "$$kver" != "" || echo "Kernel version parse failed!" ;\
116 + test "$$kver" != "" ;\
117 + kvers="$$(seq 14 39 | sed 's/^/2.6./')" ;\
118 + kvers="$$kvers $$(seq 0 99 | sed 's/^/3./')" ;\
119 + print=0 ;\
120 + for v in $$kvers ; do \
121 + if [ "$$print" = "1" ] ; then \
122 + echo config BACKPORT_KERNEL_$$(echo $$v | tr . _) ;\
123 + echo " def_bool y" ;\
124 + fi ;\
125 + if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\
126 + done > $@
127 + @RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \
128 + sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
129 + RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \
130 + sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
131 + for v in $$(seq 0 $$RHEL_MINOR) ; do \
132 + echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\
133 + echo " def_bool y" ;\
134 + done >> $@
135 +
136 +.DEFAULT:
137 + @$(MAKE) Kconfig.versions
138 @$(MAKE) -f Makefile.real "$@"
139
140 .PHONY: defconfig-help
141 --- a/Makefile.real
142 +++ b/Makefile.real
143 @@ -59,7 +59,7 @@ defconfig-%::
144
145 backport-include/backport/autoconf.h: .config Kconfig.versions Kconfig.kernel
146 @$(MAKE) oldconfig
147 - @echo -n "Building backport-include/backport/autoconf.h ..."
148 + @printf "Building backport-include/backport/autoconf.h ..."
149 @grep -f .local-symbols .config | ( \
150 echo "#ifndef COMPAT_AUTOCONF_INCLUDED" ;\
151 echo "#define COMPAT_AUTOCONF_INCLUDED" ;\
152 @@ -80,7 +80,12 @@ backport-include/backport/autoconf.h: .c
153 esac ;\
154 done ;\
155 echo "#endif /* COMPAT_AUTOCONF_INCLUDED */" ;\
156 - ) > backport-include/backport/autoconf.h
157 + ) > $@.new
158 + @if cmp -s $@ $@.new; then \
159 + rm -f $@.new; \
160 + else \
161 + mv $@.new $@; \
162 + fi
163 @echo " done."
164
165 .PHONY: modules