From 03f89a318dfc60da4e8d3db73f9a900676283f90 Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Sun, 30 Jan 2022 06:45:52 -0800 Subject: [PATCH] readme: Add speed comparison with LineageOS extract-utils --- README.md | 5 +++- docs/commands.md | 68 +++++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index da9cec4..a740658 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,10 @@ This typically results in better device support with fewer bugs and issues, and Pixel devices will benefit from the most automation, but several features can still be used to ease manual bringup on other devices: -- **Extract** files from proprietary-files.txt **up to 10x faster than LineageOS extract-utils** +- **Extract** files from proprietary-files.txt **[up to 2000% faster than LineageOS extract-utils (speed comparison)](https://asciinema.org/a/eUMNIrKtBrln1CwE1zCUnJO8w)** + - LineageOS extract-utils: 1 min 27 sec + - **adevtool: 4 sec** + - Tested with Pixel 5 (redfin), cache cleared before testing - **Compare** a built system against stock images to find missing files, properties, and vendor interface declarations - **List** system files relevant to bringup (in all partitions) - **Resolve overridden** build rules from build warnings diff --git a/docs/commands.md b/docs/commands.md index 1ee0c7d..e8495cd 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -2,6 +2,41 @@ This documents individual adevtool commands, most of which can be used independently without a config or full device bringup. +## Extract proprietary files + +Given a device codename, vendor name, stock system source, and LineageOS proprietary-files.txt list, extract proprietary files and generate build files. + +[![Speed comparison with LineageOS extract-utils](https://asciinema.org/a/eUMNIrKtBrln1CwE1zCUnJO8w.svg)](https://asciinema.org/a/eUMNIrKtBrln1CwE1zCUnJO8w) + +
+Command-line help + +``` +extract proprietary files + +USAGE + $ adevtool extract LISTPATH + +ARGUMENTS + LISTPATH path to LineageOS-compatible proprietary-files.txt list + +OPTIONS + -b, --buildId=buildId build ID of the stock images (optional, only used for locating factory images) + -d, --device=device (required) device codename + -h, --help show CLI help + -k, --skipCopy skip file copying and only generate build files + + -s, --stockSrc=stockSrc (required) path to (extracted) factory images, (mounted) images, (extracted) OTA package, + OTA payload, or directory containing any such files (optionally under device and/or build ID + directory) + + -t, --useTemp use a temporary directory for all extraction (prevents reusing extracted files across runs) + + -v, --vendor=vendor (required) device vendor/OEM name +``` + +
+ ## Identify presigned apps Given a list of SELinux policy directories and a stock system source, identify APKs that should be presigned. @@ -166,39 +201,6 @@ OPTIONS -## Extract proprietary files - -Given a device codename, vendor name, stock system source, and LineageOS proprietary-files.txt list, extract proprietary files and generate build files. - -
-Command-line help - -``` -extract proprietary files - -USAGE - $ adevtool extract LISTPATH - -ARGUMENTS - LISTPATH path to LineageOS-compatible proprietary-files.txt list - -OPTIONS - -b, --buildId=buildId build ID of the stock images (optional, only used for locating factory images) - -d, --device=device (required) device codename - -h, --help show CLI help - -k, --skipCopy skip file copying and only generate build files - - -s, --stockSrc=stockSrc (required) path to (extracted) factory images, (mounted) images, (extracted) OTA package, - OTA payload, or directory containing any such files (optionally under device and/or build ID - directory) - - -t, --useTemp use a temporary directory for all extraction (prevents reusing extracted files across runs) - - -v, --vendor=vendor (required) device vendor/OEM name -``` - -
- ## Generate full vendor module Given a device config and stock system source, automatically generate a full vendor module.