mirror of
https://github.com/mroi/apple-internals.git
synced 2026-02-12 17:12:44 +00:00
formally conform to the TSV file format
• move internals.txt to internals.tsv (bonus: GitHub built-in rendering) • add a header in the first line • ignore first line for sort checking • ignore first line for HTML rendering
This commit is contained in:
19
Makefile
19
Makefile
@@ -9,8 +9,9 @@ CHECK_TARGETS = check_files check_binaries check_manifests check_services
|
|||||||
all: $(DB).lz check
|
all: $(DB).lz check
|
||||||
|
|
||||||
ifneq ($(wildcard $(MY_INTERNALS)),)
|
ifneq ($(wildcard $(MY_INTERNALS)),)
|
||||||
internals.txt: $(MY_INTERNALS)
|
internals.tsv: $(MY_INTERNALS)
|
||||||
textutil -cat txt "$<" -output $@
|
printf 'Term\tDescription\n' > $@
|
||||||
|
textutil -cat txt $@ "$<" -output $@
|
||||||
xattr -c $@
|
xattr -c $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -27,8 +28,8 @@ $(DB).lz: $(DB)
|
|||||||
rm -rf dyld
|
rm -rf dyld
|
||||||
endif
|
endif
|
||||||
|
|
||||||
check: internals.txt
|
check: internals.tsv
|
||||||
@LANG=en sort --ignore-case $< | diff -uw $< -
|
@(head --lines=1 ; LANG=en sort --ignore-case) < $< | diff -uw $< -
|
||||||
@$(MAKE) --silent --jobs=1 $(CHECK_TARGETS)
|
@$(MAKE) --silent --jobs=1 $(CHECK_TARGETS)
|
||||||
|
|
||||||
define VIEW
|
define VIEW
|
||||||
@@ -163,15 +164,15 @@ $(DB_TARGETS)::
|
|||||||
echo 'COMMIT TRANSACTION;'
|
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
|
printf '\033[1mchecking files...\033[m\n' >&2
|
||||||
grep -ow '~\?/[^,;]*' $< | sed -E 's/ \(.*\)$$//;s/^\/(etc|var)\//\/private&/' | \
|
grep -ow '~\?/[^,;]*' $< | sed -E 's/ \(.*\)$$//;s/^\/(etc|var)\//\/private&/' | \
|
||||||
sed "s/'/''/g;s|.*|SELECT count(*), '&' FROM files WHERE path GLOB '&';|" | \
|
sed "s/'/''/g;s|.*|SELECT count(*), '&' FROM files WHERE path GLOB '&';|" | \
|
||||||
sqlite3 $(DB) | sed -n "/^0|/{s/^0|//;p;}"
|
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
|
printf '\033[1mchecking command line tools...\033[m\n' >&2
|
||||||
grep -o 'command line tools\?: [^;]*' $< | sed 's/^[^:]*: //;s/ //g;s/([^)]*)//g' | tr , '\n' | \
|
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 '*/&';|" | \
|
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 '*&*';/" | \
|
sed "s/'/''/g;s/.*/SELECT count(*), '&' FROM strings WHERE string GLOB '*&*';/" | \
|
||||||
sqlite3 $(DB) | sed -n "/^0|/{s/^0|//;p;}"
|
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
|
printf '\033[1mchecking extension points...\033[m\n' >&2
|
||||||
grep -o 'extension points\?: [^;]*' $< | sed 's/^[^:]*: //;s/ //g;s/([^)]*)//g' | tr , '\n' | \
|
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 = '&';|" | \
|
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;}"
|
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
|
printf '\033[1mchecking launchd services...\033[m\n' >&2
|
||||||
grep -o 'launchd services\?: [^;]*' $< | sed 's/^[^:]*: //;s/ //g;s/([^)]*)//g' | tr , '\n' | \
|
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 = '&';|" | \
|
sed "s/'/''/g;s|.*|SELECT count(*), '&' FROM services, json_each(plist) WHERE key = 'Label' AND value = '&';|" | \
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class Converter {
|
|||||||
generate() {
|
generate() {
|
||||||
const dl = document.createElement("dl");
|
const dl = document.createElement("dl");
|
||||||
dl.setAttribute("class", "row");
|
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()))
|
if (rowText.length && rowText.toLowerCase().includes(this.filter.toLowerCase()))
|
||||||
dl.append.apply(dl, this.generateRow(rowText));
|
dl.append.apply(dl, this.generateRow(rowText));
|
||||||
return dl;
|
return dl;
|
||||||
@@ -54,7 +54,7 @@ class Converter {
|
|||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", event => {
|
document.addEventListener("DOMContentLoaded", event => {
|
||||||
// load main content
|
// load main content
|
||||||
fetch("internals.txt").then(function(response) {
|
fetch("internals.tsv").then(function(response) {
|
||||||
if (!response.ok) return "";
|
if (!response.ok) return "";
|
||||||
return response.text();
|
return response.text();
|
||||||
}).then(function(text) {
|
}).then(function(text) {
|
||||||
|
|||||||
@@ -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
|
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
|
AA Apple account
|
||||||
AAC Automatic Assessment Configuration; AutomaticAssessmentConfiguration.framework; puts device in a locked mode for exam-style test applications
|
AAC Automatic Assessment Configuration; AutomaticAssessmentConfiguration.framework; puts device in a locked mode for exam-style test applications
|
||||||
|
Reference in New Issue
Block a user