include/scan.mk: Add -a argument to the grep to treat all Makefiles as a text file.
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 14 Jun 2015 17:43:22 +0000 (17:43 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 14 Jun 2015 17:43:22 +0000 (17:43 +0000)
Hello,

I found out that in some rare cases grep can treat Makefile as a binary file. That happened to me on UTF-8 Gentoo if Makefile contained a character which was from extended ASCII table.
Without this patch the output of the grep command in the $(FILELIST) target is not valid (contains line "Binary file matches") and following commands fail to create feed index file.

Best Regards,
Martin Strbacka

Signed-off-by: Martin Strbacka <martin.strbacka@nic.cz>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45966 3c298f89-4303-0410-b956-a3cf2f4a3e73

include/scan.mk

index c2a8f7e..5af0359 100644 (file)
@@ -55,7 +55,7 @@ endif
 
 $(FILELIST): $(OVERRIDELIST)
        rm -f $(TMP_DIR)/info/.files-$(SCAN_TARGET)-*
-       $(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call $(GREP_STRING)' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq | awk -v of=$(OVERRIDELIST) -f include/scan.awk > $@
+       $(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -aHE 'call $(GREP_STRING)' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq | awk -v of=$(OVERRIDELIST) -f include/scan.awk > $@
 
 $(TMP_DIR)/info/.files-$(SCAN_TARGET).mk: $(FILELIST)
        ( \