aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/Makefile
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2015-07-20 16:16:34 -0400
committerDavid Howells <dhowells@redhat.com>2015-08-12 12:01:01 -0400
commit770f2b98760ef0500183d7206724aac762433e2d (patch)
tree014b2558c14bfdb67f2e6b464f9fcddf1194afc3 /kernel/Makefile
parent84706caae9e06363db4f956cde4f9715ce5c0ef3 (diff)
modsign: Use extract-cert to process CONFIG_SYSTEM_TRUSTED_KEYS
Fix up the dependencies somewhat too, while we're at it. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'kernel/Makefile')
-rw-r--r--kernel/Makefile25
1 files changed, 12 insertions, 13 deletions
diff --git a/kernel/Makefile b/kernel/Makefile
index 575329777d9e..65ef3846fbe8 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -166,23 +166,22 @@ endef
166# 166#
167############################################################################### 167###############################################################################
168 168
169
170ifeq ($(CONFIG_SYSTEM_TRUSTED_KEYRING),y) 169ifeq ($(CONFIG_SYSTEM_TRUSTED_KEYRING),y)
171 170
172$(eval $(call config_filename,SYSTEM_TRUSTED_KEYS)) 171$(eval $(call config_filename,SYSTEM_TRUSTED_KEYS))
173 172
174SIGNING_X509-$(CONFIG_MODULE_SIG) += signing_key.x509 173# GCC doesn't include .incbin files in -MD generated dependencies (PR#66871)
175 174$(obj)/system_certificates.o: $(obj)/x509_certificate_list
176kernel/system_certificates.o: $(obj)/x509_certificate_list
177 175
178quiet_cmd_x509certs = CERTS $(SIGNING_X509-y) $(patsubst "%",%,$(2)) 176# Cope with signing_key.x509 existing in $(srctree) not $(objtree)
179 cmd_x509certs = ( cat $(SIGNING_X509-y) /dev/null; \ 177AFLAGS_system_certificates.o := -I$(srctree)
180 awk '/-----BEGIN CERTIFICATE-----/{flag=1;next}/-----END CERTIFICATE-----/{flag=0}flag' $(2) /dev/null | base64 -d ) > $@ || ( rm $@; exit 1)
181 178
182targets += $(obj)/x509_certificate_list 179quiet_cmd_extract_certs = EXTRACT_CERTS $(patsubst "%",%,$(2))
183$(obj)/x509_certificate_list: $(SIGNING_X509-y) include/config/system/trusted/keys.h $(wildcard include/config/module/sig.h) $(SYSTEM_TRUSTED_KEYS_SRCPREFIX)$(SYSTEM_TRUSTED_KEYS_FILENAME) 180 cmd_extract_certs = scripts/extract-cert $(2) $@ || ( rm $@; exit 1)
184 $(call if_changed,x509certs,$(SYSTEM_TRUSTED_KEYS_SRCPREFIX)$(CONFIG_SYSTEM_TRUSTED_KEYS))
185 181
182targets += x509_certificate_list
183$(obj)/x509_certificate_list: scripts/extract-cert $(SYSTEM_TRUSTED_KEYS_SRCPREFIX)$(SYSTEM_TRUSTED_KEYS_FILENAME) FORCE
184 $(call if_changed,extract_certs,$(SYSTEM_TRUSTED_KEYS_SRCPREFIX)$(CONFIG_SYSTEM_TRUSTED_KEYS))
186endif 185endif
187 186
188clean-files := x509_certificate_list .x509.list 187clean-files := x509_certificate_list .x509.list
@@ -248,9 +247,9 @@ ifeq ($(patsubst pkcs11:%,%,$(firstword $(MODULE_SIG_KEY_FILENAME))),$(firstword
248X509_DEP := $(MODULE_SIG_KEY_SRCPREFIX)$(MODULE_SIG_KEY_FILENAME) 247X509_DEP := $(MODULE_SIG_KEY_SRCPREFIX)$(MODULE_SIG_KEY_FILENAME)
249endif 248endif
250 249
251quiet_cmd_extract_der = SIGNING_CERT $(patsubst "%",%,$(2)) 250# GCC PR#66871 again.
252 cmd_extract_der = scripts/extract-cert $(2) signing_key.x509 251$(obj)/system_certificates.o: signing_key.x509
253 252
254signing_key.x509: scripts/extract-cert include/config/module/sig/key.h $(X509_DEP) 253signing_key.x509: scripts/extract-cert include/config/module/sig/key.h $(X509_DEP)
255 $(call cmd,extract_der,$(MODULE_SIG_KEY_SRCPREFIX)$(CONFIG_MODULE_SIG_KEY)) 254 $(call cmd,extract_certs,$(MODULE_SIG_KEY_SRCPREFIX)$(CONFIG_MODULE_SIG_KEY))
256endif 255endif