diff --git a/Makefile b/Makefile index 957a7e7..8854064 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,9 @@ CHECK_TARGETS = check_files check_binaries check_manifests check_services all: $(DB).lz check ifneq ($(wildcard $(MY_INTERNALS)),) -internals.txt: $(MY_INTERNALS) - textutil -cat txt "$<" -output $@ +internals.tsv: $(MY_INTERNALS) + printf 'Term\tDescription\n' > $@ + textutil -cat txt $@ "$<" -output $@ xattr -c $@ endif @@ -27,8 +28,8 @@ $(DB).lz: $(DB) rm -rf dyld endif -check: internals.txt - @LANG=en sort --ignore-case $< | diff -uw $< - +check: internals.tsv + @(head --lines=1 ; LANG=en sort --ignore-case) < $< | diff -uw $< - @$(MAKE) --silent --jobs=1 $(CHECK_TARGETS) define VIEW @@ -163,15 +164,15 @@ $(DB_TARGETS):: echo 'COMMIT TRANSACTION;' -# MARK: - check targets for internals.txt +# MARK: - check targets for internals.tsv -check_files: internals.txt $(DB) +check_files: internals.tsv $(DB) printf '\033[1mchecking files...\033[m\n' >&2 grep -ow '~\?/[^,;]*' $< | sed -E 's/ \(.*\)$$//;s/^\/(etc|var)\//\/private&/' | \ sed "s/'/''/g;s|.*|SELECT count(*), '&' FROM files WHERE path GLOB '&';|" | \ sqlite3 $(DB) | sed -n "/^0|/{s/^0|//;p;}" -check_binaries: internals.txt $(DB) +check_binaries: internals.tsv $(DB) printf '\033[1mchecking command line tools...\033[m\n' >&2 grep -o 'command line tools\?: [^;]*' $< | sed 's/^[^:]*: //;s/ //g;s/([^)]*)//g' | tr , '\n' | \ sed "s/'/''/g;s|.*|SELECT count(*), '&' FROM files WHERE executable = true AND path GLOB '*/&';|" | \ @@ -185,13 +186,13 @@ 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) +check_manifests: internals.tsv $(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) +check_services: internals.tsv $(DB) printf '\033[1mchecking launchd services...\033[m\n' >&2 grep -o 'launchd services\?: [^;]*' $< | sed 's/^[^:]*: //;s/ //g;s/([^)]*)//g' | tr , '\n' | \ sed "s/'/''/g;s|.*|SELECT count(*), '&' FROM services, json_each(plist) WHERE key = 'Label' AND value = '&';|" | \ diff --git a/index.html b/index.html index c297ed3..7a292d8 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ class Converter { generate() { const dl = document.createElement("dl"); dl.setAttribute("class", "row"); - for (const rowText of this.text.split("\n")) + for (const rowText of this.text.split("\n").slice(1)) if (rowText.length && rowText.toLowerCase().includes(this.filter.toLowerCase())) dl.append.apply(dl, this.generateRow(rowText)); return dl; @@ -54,7 +54,7 @@ class Converter { document.addEventListener("DOMContentLoaded", event => { // load main content - fetch("internals.txt").then(function(response) { + fetch("internals.tsv").then(function(response) { if (!response.ok) return ""; return response.text(); }).then(function(text) { diff --git a/internals.txt b/internals.tsv similarity index 99% rename from internals.txt rename to internals.tsv index 431b489..1ae7b1e 100644 --- a/internals.txt +++ b/internals.tsv @@ -1,3 +1,4 @@ +Term Description 1TR One True Recovery; booting into macOS recovery on Apple Silicon by holding the power button to verify physical presence; enables interaction with SEP to change Boot Policy AA Apple account AAC Automatic Assessment Configuration; AutomaticAssessmentConfiguration.framework; puts device in a locked mode for exam-style test applications