初始化奇妙小屏幕控制器项目

This commit is contained in:
2026-09-08 22:56:52 +08:00
commit 8d368de3b5
491 changed files with 67678 additions and 0 deletions
@@ -0,0 +1,44 @@
set -eu
ROOT=/var/tmp/matrix-ota110-validation
export ROOT
mkdir -p "$ROOT/fs/sudoers"
python3 - "$ROOT/fs/sudoers/90-matrix-screen-controller-account" <<'PY'
from pathlib import Path
import re,pwd,sys
text=Path('/etc/systemd/system/matrix-screen-frpc.service.d/user.conf').read_text(encoding='utf-8')
users=re.findall(r'^User=([a-zA-Z0-9_-]+)$',text,re.M)
assert len(users)==1 and pwd.getpwnam(users[0]).pw_uid!=0
Path(sys.argv[1]).write_text(users[0]+' ALL=(ALL:ALL) ALL'+chr(10),encoding='utf-8')
PY
mkdir -p "$ROOT/fs/opt" "$ROOT/fs/varlib" "$ROOT/fs/run" "$ROOT/fs/bin" "$ROOT/fs/units" "$ROOT/fake-bin"
cat > "$ROOT/fake-bin/systemctl" <<'PY'
#!/usr/bin/python3
import sys,json
from pathlib import Path
if Path(sys.argv[0]).name=='systemd-run': sys.exit(0)
args=sys.argv[1:];state_path=Path('/run/fake-systemctl.json')
state=json.loads(state_path.read_text()) if state_path.exists() else {}
cmd=args[0] if args else '';unit=args[-1] if args else ''
if cmd in ('is-active','is-enabled'): sys.exit(0 if state.get(unit,{}).get('active' if cmd=='is-active' else 'enabled',False) else 1)
if cmd=='show': print('inactive')
if cmd in ('enable','disable','start','stop'):
if cmd=='start' and state.get('start_fail_once')==unit:
del state['start_fail_once'];state_path.write_text(json.dumps(state));sys.exit(1)
entry=state.setdefault(unit,{})
entry['active' if cmd in ('start','stop') else 'enabled']=cmd in ('start','enable')
state_path.write_text(json.dumps(state))
sys.exit(0)
PY
cp "$ROOT/fake-bin/systemctl" "$ROOT/fake-bin/systemd-run"
chmod 755 "$ROOT/fake-bin/systemctl" "$ROOT/fake-bin/systemd-run"
export PATH="$ROOT/fake-bin:$PATH"
unshare --mount --propagation private /bin/sh -c '
set -eu
mount --bind "$ROOT/fs/opt" /opt
mount --bind "$ROOT/fs/varlib" /var/lib
mount --bind "$ROOT/fs/run" /run
mount --bind "$ROOT/fs/bin" /usr/local/bin
mount --bind "$ROOT/fs/units" /etc/systemd/system
mount --bind "$ROOT/fs/sudoers" /etc/sudoers.d
python3 "$ROOT/${TEST_SCRIPT:-ota110_integration.py}" ${TEST_ARG:-}
'