include/scan.mk: Add -a argument to the grep to treat all Makefiles as a text file.
authorFelix Fietkau <nbd@openwrt.org>
Sun, 14 Jun 2015 17:43:22 +0000 (17:43 +0000)
committerFelix Fietkau <nbd@openwrt.org>
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>
SVN-Revision: 45966

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)
        ( \