mirror of
https://github.com/ipxe/ipxe
synced 2026-01-21 01:28:02 +03:00
[build] Check for standalone FILE_LICENCE() and FILE_SECBOOT() declarations
Tighten up the regular expression used to check for FILE_LICENCE() and FILE_SECBOOT() declarations: ensure that they appear at the start of a line (with optional whitespace) and include the expected opening parenthesis. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -12,6 +12,8 @@ COMMA := ,
|
|||||||
EMPTY :=
|
EMPTY :=
|
||||||
SPACE := $(EMPTY) $(EMPTY)
|
SPACE := $(EMPTY) $(EMPTY)
|
||||||
HASH := \#
|
HASH := \#
|
||||||
|
LPAREN := (
|
||||||
|
RPAREN := )
|
||||||
define NEWLINE
|
define NEWLINE
|
||||||
|
|
||||||
|
|
||||||
@@ -1295,16 +1297,24 @@ $(BIN)/%.nodeps : $(BIN)/%.tmp
|
|||||||
$(Q)$(ECHO) $(call nodeps_list,$<)
|
$(Q)$(ECHO) $(call nodeps_list,$<)
|
||||||
|
|
||||||
# Get annotated dependency list for the specified target
|
# Get annotated dependency list for the specified target
|
||||||
|
#
|
||||||
define annotated_deps_list
|
define annotated_deps_list
|
||||||
$(filter-out config/local/%.h,\
|
$(filter-out config/local/%.h,\
|
||||||
$(filter-out $(BIN)/.%.list,\
|
$(filter-out $(BIN)/.%.list,\
|
||||||
$(call deps_list,$(1))))
|
$(call deps_list,$(1))))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# Get dependency list missing specified declaration for the specified target
|
||||||
|
#
|
||||||
|
define undeclared_deps_list
|
||||||
|
$(shell grep -L '^[[:space:]]*$(2)[[:space:]]*$(LPAREN)' \
|
||||||
|
$(call annotated_deps_list,$(1)))
|
||||||
|
endef
|
||||||
|
|
||||||
# Get licensing verdict for the specified target
|
# Get licensing verdict for the specified target
|
||||||
#
|
#
|
||||||
define unlicensed_deps_list
|
define unlicensed_deps_list
|
||||||
$(shell grep -L FILE_LICENCE $(call annotated_deps_list,$(1)))
|
$(call undeclared_deps_list,$(1),FILE_LICENCE)
|
||||||
endef
|
endef
|
||||||
define licence_list
|
define licence_list
|
||||||
$(sort $(foreach LICENCE,\
|
$(sort $(foreach LICENCE,\
|
||||||
@@ -1325,7 +1335,7 @@ $(BIN)/%.licence : $(BIN)/%.tmp
|
|||||||
# Get Secure Boot permissibility verdict for the specified target
|
# Get Secure Boot permissibility verdict for the specified target
|
||||||
#
|
#
|
||||||
define nosecboot_deps_list
|
define nosecboot_deps_list
|
||||||
$(shell grep -L FILE_SECBOOT $(call annotated_deps_list,$(1)))
|
$(call undeclared_deps_list,$(1),FILE_SECBOOT)
|
||||||
endef
|
endef
|
||||||
define secboot_list
|
define secboot_list
|
||||||
$(sort $(foreach SECBOOT,\
|
$(sort $(foreach SECBOOT,\
|
||||||
@@ -1339,7 +1349,6 @@ $(BIN)/%.secboot : $(BIN)/%.tmp
|
|||||||
echo "declaration:" ;\
|
echo "declaration:" ;\
|
||||||
echo $(call nosecboot_deps_list,$<);\
|
echo $(call nosecboot_deps_list,$<);\
|
||||||
exit 1)
|
exit 1)
|
||||||
echo $(call secboot_list,$<)
|
|
||||||
$(Q)$(if $(strip $(filter-out permitted,$(call secboot_list,$<))),\
|
$(Q)$(if $(strip $(filter-out permitted,$(call secboot_list,$<))),\
|
||||||
echo -n "This build includes files that are not permitted " ;\
|
echo -n "This build includes files that are not permitted " ;\
|
||||||
echo "to be signed for UEFI Secure Boot" ;\
|
echo "to be signed for UEFI Secure Boot" ;\
|
||||||
|
|||||||
Reference in New Issue
Block a user