DF-5505 / extract.sh
#!/bin/sh # DF-5505 extraction: pull the production code VERBATIM out of the # guest's own /usr/src tree (md5-gated). set -e UC=/usr/src/sys/bus/u4b/serial/ucycom.c UH=/usr/src/sys/bus/u4b/usb_hid.c UC_MD5=c7b432ce2b994b1e580f3b00a7bb13e0 UH_MD5=3329879bc9c2af96f71dd0888154d4f2 [ "`md5 -q $UC`" = "$UC_MD5" ] || { echo "MD5 MISMATCH: $UC"; exit 1; } [ "`md5 -q $UH`" = "$UH_MD5" ] || { echo "MD5 MISMATCH: $UH"; exit 1; } OUT=${1:-.} { echo "/* VERBATIM ucycom.c:62-101 + 181-182 (md5 $UC_MD5) */" sed -n '62,101p;181,182p' $UC } > $OUT/ua5505_ucycom_defs.inc { echo "/* VERBATIM usb_hid.c:801-843 usbd_req_get_hid_desc (md5 $UH_MD5) */" sed -n '801,843p' $UH } > $OUT/ua5505_gethiddesc.inc { echo "/* VERBATIM ucycom.c:229-254: attach-time report-descriptor" echo " * fetch + error path + report-size validation */" sed -n '229,254p' $UC } > $OUT/ua5505_attach.inc md5 $OUT/*.inc echo "extraction OK" |