0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-08 10:31:50 -05:00

gitian: use signapple to apply the MacOS code signature

This commit is contained in:
Andrew Chow 2021-01-07 13:42:07 -05:00
parent 42bb1ea363
commit 95b06d2185
2 changed files with 7 additions and 36 deletions

View file

@ -42,11 +42,12 @@ script: |
export PATH="$HOME/.local/bin":$PATH export PATH="$HOME/.local/bin":$PATH
cd .. cd ..
UNSIGNED=bitcoin-osx-unsigned.tar.gz UNSIGNED_TARBALL=bitcoin-osx-unsigned.tar.gz
UNSIGNED_APP=dist/Bitcoin-Qt.app
SIGNED=bitcoin-osx-signed.dmg SIGNED=bitcoin-osx-signed.dmg
tar -xf ${UNSIGNED} tar -xf ${UNSIGNED_TARBALL}
OSX_VOLNAME="$(cat osx_volname)" OSX_VOLNAME="$(cat osx_volname)"
./detached-sig-apply.sh ${UNSIGNED} signature/osx ./detached-sig-apply.sh ${UNSIGNED_APP} signature/osx/dist
${WRAP_DIR}/xorrisofs -D -l -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -o uncompressed.dmg signed-app ${WRAP_DIR}/xorrisofs -D -l -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -o uncompressed.dmg signed-app
${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED} ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}

View file

@ -8,10 +8,9 @@ set -e
UNSIGNED="$1" UNSIGNED="$1"
SIGNATURE="$2" SIGNATURE="$2"
ARCH=x86_64
ROOTDIR=dist ROOTDIR=dist
TEMPDIR=signed.temp
OUTDIR=signed-app OUTDIR=signed-app
SIGNAPPLE=signapple
if [ -z "$UNSIGNED" ]; then if [ -z "$UNSIGNED" ]; then
echo "usage: $0 <unsigned app> <signature>" echo "usage: $0 <unsigned app> <signature>"
@ -23,35 +22,6 @@ if [ -z "$SIGNATURE" ]; then
exit 1 exit 1
fi fi
rm -rf ${TEMPDIR} && mkdir -p ${TEMPDIR} ${SIGNAPPLE} apply ${UNSIGNED} ${SIGNATURE}
tar -C ${TEMPDIR} -xf ${UNSIGNED} mv ${ROOTDIR} ${OUTDIR}
cp -rf "${SIGNATURE}"/* ${TEMPDIR}
if [ -z "${PAGESTUFF}" ]; then
PAGESTUFF=${TEMPDIR}/pagestuff
fi
if [ -z "${CODESIGN_ALLOCATE}" ]; then
CODESIGN_ALLOCATE=${TEMPDIR}/codesign_allocate
fi
find ${TEMPDIR} -name "*.sign" | while read i; do
SIZE=$(stat -c %s "${i}")
TARGET_FILE="$(echo "${i}" | sed 's/\.sign$//')"
echo "Allocating space for the signature of size ${SIZE} in ${TARGET_FILE}"
${CODESIGN_ALLOCATE} -i "${TARGET_FILE}" -a ${ARCH} ${SIZE} -o "${i}.tmp"
OFFSET=$(${PAGESTUFF} "${i}.tmp" -p | tail -2 | grep offset | sed 's/[^0-9]*//g')
if [ -z ${QUIET} ]; then
echo "Attaching signature at offset ${OFFSET}"
fi
dd if="$i" of="${i}.tmp" bs=1 seek=${OFFSET} count=${SIZE} 2>/dev/null
mv "${i}.tmp" "${TARGET_FILE}"
rm "${i}"
echo "Success."
done
mv ${TEMPDIR}/${ROOTDIR} ${OUTDIR}
rm -rf ${TEMPDIR}
echo "Signed: ${OUTDIR}" echo "Signed: ${OUTDIR}"