tools: let build-auxkc-desktop.sh take a SnapI2CHID profile

I2C_PROFILE (default desktop) picks the SnapI2CHID profile the desktop
AuxKC is built with, as KEXT_PROFILE does for AdrenoX2, and
sources.txt records it. I2C_PROFILE=desktop-fnkeys builds the
collection for a --input-fnkeys run. Unset, the script runs exactly
the earlier commands.

bash -n passes. Not run: it needs the J700 kernelcache, the KDK and
sudo (build-auxkc-user.py).
This commit is contained in:
Acelogic committed 2026-10-24 01:30:24 -04:00
1 parent 2e0f049e81
commit d576b6d18b
1 file changed
+7 -3
+7 -3
View File
@@ -1,7 +1,8 @@
#!/bin/bash
# SPDX-License-Identifier: MIT
# Build the A16 desktop AuxKC from this checkout: AdrenoX2 (SnapAdreno, PROFILE=desktop unless KEXT_PROFILE says
# otherwise) and SnapI2CHID (PROFILE=desktop), linked the way the deployed desktop collections were:
# otherwise) and SnapI2CHID (PROFILE=desktop unless I2C_PROFILE says otherwise), linked the way the deployed desktop
# collections were:
# 1. tools/build-auxkc-user.py kmutil links both kexts against the J700 kernelcache and the KDK
# 2. tools/auxkc-autoload.py marks both bundles to autoload and writes packaging.json
# 3. build/build-auxkc.py pin admits the collection for the installed desktop guest profile (<kc>.json)
@@ -12,6 +13,8 @@
# Environment:
# KEXT_PROFILE SnapAdreno profile (gpu/adreno-kext/kext/profiles/), default desktop; desktop-nocoherent for a
# monitor without --gpu-coherent
# I2C_PROFILE SnapI2CHID profile (drivers/snap-i2c-hid/profiles/), default desktop; desktop-fnkeys for the
# keyboard's Fn-key layer (boot it with tools/cycle.py --input-fnkeys)
# REFERENCE optional folder holding AdrenoX2.kext and SnapI2CHID.kext to compare with, section by section
# (tools/macho-sections.py): for example a deployed collection's folder
# ZERO_AR_DATE exported as 1 unless set: object times in the kexts' debug maps are zeroed, so two builds in the
@@ -33,6 +36,7 @@ R=$(cd "$(dirname "$0")/.." && pwd)
NAME=${1:?usage: tools/build-auxkc-desktop.sh NAME}
case "$NAME" in */*|.*|'') echo "error: NAME is a folder name under build/current-assets" >&2; exit 2;; esac
KEXT_PROFILE=${KEXT_PROFILE:-desktop}
I2C_PROFILE=${I2C_PROFILE:-desktop}
export ZERO_AR_DATE=${ZERO_AR_DATE:-1}
export PYTHONDONTWRITEBYTECODE=1
DEST=$R/build/current-assets/$NAME
@@ -44,7 +48,7 @@ rm -rf "$WORK"; mkdir -p "$WORK"
OUT=$WORK/adrenox2 PROFILE=$KEXT_PROFILE sh "$R/gpu/adreno-kext/kext/build.sh" > "$WORK/adrenox2.log" 2>&1 ||
{ tail -20 "$WORK/adrenox2.log" >&2; exit 1; }
OUT=$WORK/snapi2chid PROFILE=desktop sh "$R/drivers/snap-i2c-hid/build.sh" > "$WORK/snapi2chid.log" 2>&1 ||
OUT=$WORK/snapi2chid PROFILE=$I2C_PROFILE sh "$R/drivers/snap-i2c-hid/build.sh" > "$WORK/snapi2chid.log" 2>&1 ||
{ tail -20 "$WORK/snapi2chid.log" >&2; exit 1; }
mkdir -p "$DEST"
@@ -57,7 +61,7 @@ cp "$WORK/snapi2chid/DEFINES.txt" "$DEST/SnapI2CHID-DEFINES.txt"
printf '%s %s%s\n' "$d" "$(git -C "$R/$d" rev-parse HEAD)" \
"$(git -C "$R/$d" diff --quiet HEAD -- && echo '' || echo ' (uncommitted changes)')"
done
echo "AdrenoX2 profile $KEXT_PROFILE, SnapI2CHID profile desktop, ZERO_AR_DATE=$ZERO_AR_DATE"
echo "AdrenoX2 profile $KEXT_PROFILE, SnapI2CHID profile $I2C_PROFILE, ZERO_AR_DATE=$ZERO_AR_DATE"
} > "$DEST/sources.txt"
cd "$R"