diff --git a/create-dmg b/create-dmg index 5edd66d..68bedb9 100755 --- a/create-dmg +++ b/create-dmg @@ -418,15 +418,35 @@ rm -f "${DMG_TEMP_NAME}" # Adding EULA resources if [[ -n "${EULA_RSRC}" && "${EULA_RSRC}" != "-null-" ]]; then echo "Adding EULA resources..." - REZ_ARG="" - if [[ -n "${REZ_PATH}" && "${REZ_PATH}" != "-null-" ]]; then - REZ_ARG="--rez ${REZ_PATH}" + # + # Use udifrez instead flatten/rez/unflatten + # https://github.com/create-dmg/create-dmg/issues/109 + # + # Based on a thread from dawn2dusk & peterguy + # https://developer.apple.com/forums/thread/668084 + # + EULA_RESOURCES_FILE=$(mktemp -t createdmg.tmp.XXXXXXXXXX) + EULA_FORMAT=$(file -b ${EULA_RSRC}) + if [[ ${EULA_FORMAT} == 'Rich Text Format data'* ]] ; then + EULA_FORMAT='RTF ' else - xcode_path=$(xcode-select -p) - default_rez="$xcode_path/Tools/Rez" - REZ_ARG="--rez ${default_rez}" + EULA_FORMAT='TEXT' fi - "${CDMG_SUPPORT_DIR}/licenseDMG.py" "${DMG_DIR}/${DMG_NAME}" "${EULA_RSRC}" ${REZ_ARG} + # Encode the EULA to base64 + # Replace 'openssl base64' with 'base64' if Mac OS X 10.6 support is no more needed + # EULA_DATA="$(base64 -b 52 "${EULA_RSRC}" | sed s$'/^\(.*\)$/\t\t\t\\1/')" + EULA_DATA="$(openssl base64 -in "${EULA_RSRC}" | tr -d '\n' | awk '{gsub(/.{52}/,"&\n")}1' | sed s$'/^\(.*\)$/\t\t\t\\1/')" + # Fill the template with the custom EULA contents + eval "cat > \"${EULA_RESOURCES_FILE}\" < + + + + LPic + + + Attributes + 0x0000 + Data + + AAAAAgAAAAAAAAAAAAQAAA== + + ID + 5000 + Name + + + + STR# + + + Attributes + 0x0000 + Data + + AAYNRW5nbGlzaCB0ZXN0MQVBZ3JlZQhEaXNhZ3JlZQVQcmludAdT + YXZlLi4ueklmIHlvdSBhZ3JlZSB3aXRoIHRoZSB0ZXJtcyBvZiB0 + aGlzIGxpY2Vuc2UsIGNsaWNrICJBZ3JlZSIgdG8gYWNjZXNzIHRo + ZSBzb2Z0d2FyZS4gIElmIHlvdSBkbyBub3QgYWdyZWUsIHByZXNz + ICJEaXNhZ3JlZS4i + + ID + 5000 + Name + English buttons + + + Attributes + 0x0000 + Data + + AAYHRW5nbGlzaAVBZ3JlZQhEaXNhZ3JlZQVQcmludAdTYXZlLi4u + e0lmIHlvdSBhZ3JlZSB3aXRoIHRoZSB0ZXJtcyBvZiB0aGlzIGxp + Y2Vuc2UsIHByZXNzICJBZ3JlZSIgdG8gaW5zdGFsbCB0aGUgc29m + dHdhcmUuICBJZiB5b3UgZG8gbm90IGFncmVlLCBwcmVzcyAiRGlz + YWdyZWUiLg== + + ID + 5002 + Name + English + + + ${EULA_FORMAT} + + + Attributes + 0x0000 + Data + +${EULA_DATA} + + ID + 5000 + Name + English + + + TMPL + + + Attributes + 0x0000 + Data + + E0RlZmF1bHQgTGFuZ3VhZ2UgSUREV1JEBUNvdW50T0NOVAQqKioq + TFNUQwtzeXMgbGFuZyBJRERXUkQebG9jYWwgcmVzIElEIChvZmZz + ZXQgZnJvbSA1MDAwRFdSRBAyLWJ5dGUgbGFuZ3VhZ2U/RFdSRAQq + KioqTFNURQ== + + ID + 128 + Name + LPic + + + styl + + + Attributes + 0x0000 + Data + + AAMAAAAAAAwACQAUAAAAAAAAAAAAAAAAACcADAAJABQBAAAAAAAA + AAAAAAAAKgAMAAkAFAAAAAAAAAAAAAA= + + ID + 5000 + Name + English + + + +