mac80211: update to wireless-testing 2013-06-13 + latest backport infrastructure
[openwrt/openwrt.git] / package / mac80211 / patches / 001-fix_build.patch
diff --git a/package/mac80211/patches/001-fix_build.patch b/package/mac80211/patches/001-fix_build.patch
new file mode 100644 (file)
index 0000000..c541985
--- /dev/null
@@ -0,0 +1,156 @@
+--- a/Makefile
++++ b/Makefile
+@@ -19,6 +19,7 @@ KLIB_BUILD ?= $(KLIB)/build/
+ KERNEL_CONFIG := $(KLIB_BUILD)/.config
+ KERNEL_MAKEFILE := $(KLIB_BUILD)/Makefile
+ CONFIG_MD5 := $(shell md5sum $(KERNEL_CONFIG) 2>/dev/null | sed 's/\s.*//')
++STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5)
+ export KLIB KLIB_BUILD BACKPORT_PWD KMODDIR KMODPATH_ARG
+@@ -36,7 +37,8 @@ mrproper:
+       @rm -f .kernel_config_md5 Kconfig.versions Kconfig.kernel
+       @rm -f backport-include/backport/autoconf.h
+-.DEFAULT:
++.SILENT: $(STAMP_KERNEL_CONFIG)
++$(STAMP_KERNEL_CONFIG):
+       @set -e ; test -f .local-symbols || (                                           \
+       echo "/--------------"                                                          ;\
+       echo "| You shouldn't run make in the backports tree, but only in"              ;\
+@@ -60,56 +62,60 @@ mrproper:
+       echo "| (that isn't currently running.)"                                        ;\
+       echo "\\--"                                                                     ;\
+       false)
+-      @set -e ; if [ "$$(cat .kernel_config_md5 2>/dev/null)" != "$(CONFIG_MD5)" ]    ;\
+-      then                                                                            \
+-              echo -n "Generating local configuration database from kernel ..."       ;\
+-              grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | (                 \
+-                      while read l ; do                                               \
+-                              if [ "$${l:0:7}" != "CONFIG_" ] ; then                  \
+-                                      continue                                        ;\
+-                              fi                                                      ;\
+-                              l=$${l:7}                                               ;\
+-                              n=$${l%%=*}                                             ;\
+-                              v=$${l#*=}                                              ;\
+-                              if [ "$$v" = "m" ] ; then                               \
+-                                      echo config $$n                                 ;\
+-                                      echo '    tristate'                             ;\
+-                              elif [ "$$v" = "y" ] ; then                             \
+-                                      echo config $$n                                 ;\
+-                                      echo '    bool'                                 ;\
+-                              else                                                    \
+-                                      continue                                        ;\
+-                              fi                                                      ;\
+-                              echo "    default $$v"                                  ;\
+-                              echo ""                                                 ;\
+-                      done                                                            \
+-              ) > Kconfig.kernel                                                      ;\
+-              kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion |   \
+-                      sed 's/^\(\(3\|2\.6\)\.[0-9]\+\).*/\1/;t;d')                    ;\
+-              test "$$kver" != "" || echo "Kernel version parse failed!"              ;\
+-              test "$$kver" != ""                                                     ;\
+-              kvers="$$(seq 14 39 | sed 's/^/2.6./')"                                 ;\
+-              kvers="$$kvers $$(seq 0 99 | sed 's/^/3./')"                            ;\
+-              print=0                                                                 ;\
+-              for v in $$kvers ; do                                                   \
+-                      if [ "$$print" = "1" ] ; then                                   \
+-                              echo config BACKPORT_KERNEL_$$(echo $$v | tr . _)       ;\
+-                              echo "    def_bool y"                                   ;\
+-                      fi                                                              ;\
+-                      if [ "$$v" = "$$kver" ] ; then print=1 ; fi                     ;\
+-              done > Kconfig.versions                                                 ;\
+-              # RHEL as well, sadly we need to grep for it                            ;\
+-              RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) |                   \
+-                                      sed 's/.*=\s*\([0-9]*\)/\1/;t;d')               ;\
+-              RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) |                   \
+-                                      sed 's/.*=\s*\([0-9]*\)/\1/;t;d')               ;\
+-              for v in $$(seq 0 $$RHEL_MINOR) ; do                                    \
+-                      echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v             ;\
+-                      echo "    def_bool y"                                           ;\
+-              done >> Kconfig.versions                                                ;\
+-              echo " done."                                                           ;\
+-      fi                                                                              ;\
+-      echo "$(CONFIG_MD5)" > .kernel_config_md5
++      @rm -f .kernel_config_md5_*
++      @touch $@
++
++Kconfig.kernel: $(STAMP_KERNEL_CONFIG) .local-symbols
++      @printf "Generating local configuration database from kernel ..."
++      @grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | (                        \
++              while read l ; do                                               \
++                      if [ "$${l:0:7}" != "CONFIG_" ] ; then                  \
++                              continue                                        ;\
++                      fi                                                      ;\
++                      l=$${l:7}                                               ;\
++                      n=$${l%%=*}                                             ;\
++                      v=$${l#*=}                                              ;\
++                      if [ "$$v" = "m" ] ; then                               \
++                              echo config $$n                                 ;\
++                              echo '    tristate'                             ;\
++                      elif [ "$$v" = "y" ] ; then                             \
++                              echo config $$n                                 ;\
++                              echo '    bool'                                 ;\
++                      else                                                    \
++                              continue                                        ;\
++                      fi                                                      ;\
++                      echo "    default $$v"                                  ;\
++                      echo ""                                                 ;\
++              done                                                            \
++      ) > $@
++      @echo " done."
++
++Kconfig.versions: Kconfig.kernel
++      @kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion |  \
++              sed 's/^\(\(3\|2\.6\)\.[0-9]\+\).*/\1/;t;d')                    ;\
++      test "$$kver" != "" || echo "Kernel version parse failed!"              ;\
++      test "$$kver" != ""                                                     ;\
++      kvers="$$(seq 14 39 | sed 's/^/2.6./')"                                 ;\
++      kvers="$$kvers $$(seq 0 99 | sed 's/^/3./')"                            ;\
++      print=0                                                                 ;\
++      for v in $$kvers ; do                                                   \
++              if [ "$$print" = "1" ] ; then                                   \
++                      echo config BACKPORT_KERNEL_$$(echo $$v | tr . _)       ;\
++                      echo "    def_bool y"                                   ;\
++              fi                                                              ;\
++              if [ "$$v" = "$$kver" ] ; then print=1 ; fi                     ;\
++      done > $@
++      @RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) |                  \
++                              sed 's/.*=\s*\([0-9]*\)/\1/;t;d')               ;\
++      RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) |                   \
++                              sed 's/.*=\s*\([0-9]*\)/\1/;t;d')               ;\
++      for v in $$(seq 0 $$RHEL_MINOR) ; do                                    \
++              echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v             ;\
++              echo "    def_bool y"                                           ;\
++      done >> $@
++
++.DEFAULT:
++      @$(MAKE) Kconfig.versions
+       @$(MAKE) -f Makefile.real "$@"
+ else
+--- a/Makefile.real
++++ b/Makefile.real
+@@ -54,7 +54,7 @@ defconfig-%::
+ backport-include/backport/autoconf.h: .config Kconfig.versions Kconfig.kernel
+       @$(MAKE) oldconfig
+-      @echo -n "Building backport-include/backport/autoconf.h ..."
++      @printf "Building backport-include/backport/autoconf.h ..."
+       @grep -f .local-symbols .config | (                             \
+               echo "#ifndef COMPAT_AUTOCONF_INCLUDED"                 ;\
+               echo "#define COMPAT_AUTOCONF_INCLUDED"                 ;\
+@@ -75,7 +75,12 @@ backport-include/backport/autoconf.h: .c
+                       esac                                            ;\
+               done                                                    ;\
+               echo "#endif /* COMPAT_AUTOCONF_INCLUDED */"            ;\
+-      ) > backport-include/backport/autoconf.h
++      ) > $@.new
++      @if cmp -s $@ $@.new; then \
++              rm -f $@.new; \
++      else \
++              mv $@.new $@; \
++      fi
+       @echo " done."
+ .PHONY: modules