add chaos_calmer branch
[15.05/openwrt.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_DIR := $(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_DIR 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 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 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