From 7a892360c8e238b8fd24a826f0d7e9c80f2c012b Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Tue, 24 Nov 2020 14:33:25 +0100 Subject: [PATCH] check: extension points listed extension points should be valid NSExtensionPointIdentifiers --- Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4774b25..61a71bf 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ MY_INTERNALS = $(HOME)/Library/Mobile\ Documents/com~apple~TextEdit/Documents/Apple\ Internals.rtf DB := $(if $(DB),$(DB:.lz=),internals-$(shell sw_vers -productVersion).db) DB_TARGETS = db_files db_binaries db_manifests db_assets db_services -CHECK_TARGETS = check_files check_binaries check_services +CHECK_TARGETS = check_files check_binaries check_manifests check_services .PHONY: all check $(DB_TARGETS) $(CHECK_TARGETS) .INTERMEDIATE: $(DB) @@ -160,6 +160,12 @@ check_binaries: internals.txt $(DB) sed "s/'/''/g;s/.*/SELECT count(*), '&' FROM strings WHERE string GLOB '*&*';/" | \ sqlite3 $(DB) | sed -n "/^0|/{s/^0|//;p;}" +check_manifests: internals.txt $(DB) + printf '\033[1mchecking extension points...\033[m\n' >&2 + grep -o 'extension points\?: [^;]*' $< | sed 's/^[^:]*: //;s/ //g;s/([^)]*)//g' | tr , '\n' | \ + sed "s/'/''/g;s|.*|SELECT count(*), '&' FROM info, json_each(plist, '$$.NSExtension') WHERE key = 'NSExtensionPointIdentifier' AND value = '&';|" | \ + sqlite3 $(DB) | sed -n "/^0|/{s/^0|//;p;}" + check_services: internals.txt $(DB) printf '\033[1mchecking launchd services...\033[m\n' >&2 grep -o 'launchd services\?: [^;]*' $< | sed 's/^[^:]*: //;s/ //g;s/([^)]*)//g' | tr , '\n' | \