From af41ce033962ed3a38071ae8ecc46db6480fbc7c Mon Sep 17 00:00:00 2001 From: Charlie Fenton Date: Thu, 11 Jun 2009 10:28:58 +0000 Subject: [PATCH] Mac: Fix script to properly handle UTF-16 encoded InfoPlist.strings files;; reverse previous checkin to XCode project svn path=/trunk/boinc/; revision=18369 --- checkin_notes | 8 +++---- mac_build/boinc.xcodeproj/project.pbxproj | 14 ++++++------ mac_installer/make_ProgThruProc.sh | 26 ++++++++++++++++++----- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/checkin_notes b/checkin_notes index 9a73e661da..aba70029b9 100644 --- a/checkin_notes +++ b/checkin_notes @@ -5313,9 +5313,7 @@ Charlie 10 June 2009 uninstall.cpp Charlie 11 June 2009 - Mac: Ensure that InfoPlist.strings file is encoded UTF-8 so make_ProgThruProc.sh - works properly. + Mac: Fix script to properly handle UTF-16 encoded InfoPlist.strings files. - mac_build/ - boinc.xcodeproj/ - project.pbxproj + mac_installer/ + make_ProgThruProc.sh diff --git a/mac_build/boinc.xcodeproj/project.pbxproj b/mac_build/boinc.xcodeproj/project.pbxproj index 5ddd161c6d..2e09c79938 100755 --- a/mac_build/boinc.xcodeproj/project.pbxproj +++ b/mac_build/boinc.xcodeproj/project.pbxproj @@ -3219,7 +3219,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = SetVersion; - STRINGS_FILE_OUTPUT_ENCODING = "UTF-8"; + STRINGS_FILE_OUTPUT_ENCODING = "UTF-16"; }; name = Dev_noSandbox; }; @@ -3227,7 +3227,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = SetVersion; - STRINGS_FILE_OUTPUT_ENCODING = "UTF-8"; + STRINGS_FILE_OUTPUT_ENCODING = "UTF-16"; }; name = Deploy_noSandbox; }; @@ -3988,7 +3988,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = SetVersion; - STRINGS_FILE_OUTPUT_ENCODING = "UTF-8"; + STRINGS_FILE_OUTPUT_ENCODING = "UTF-16"; }; name = "Deployment-no64"; }; @@ -4221,7 +4221,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = SetVersion; - STRINGS_FILE_OUTPUT_ENCODING = "UTF-8"; + STRINGS_FILE_OUTPUT_ENCODING = "UTF-16"; }; name = Deployment; }; @@ -4440,7 +4440,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = SetVersion; - STRINGS_FILE_OUTPUT_ENCODING = "UTF-8"; + STRINGS_FILE_OUTPUT_ENCODING = "UTF-16"; }; name = Development; }; @@ -4448,7 +4448,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = SetVersion; - STRINGS_FILE_OUTPUT_ENCODING = "UTF-8"; + STRINGS_FILE_OUTPUT_ENCODING = "UTF-16"; }; name = ppc_Deployment; }; @@ -4773,7 +4773,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = SetVersion; - STRINGS_FILE_OUTPUT_ENCODING = "UTF-8"; + STRINGS_FILE_OUTPUT_ENCODING = "UTF-16"; }; name = i386_Deployment; }; diff --git a/mac_installer/make_ProgThruProc.sh b/mac_installer/make_ProgThruProc.sh index 82c46f760a..cc5e829712 100644 --- a/mac_installer/make_ProgThruProc.sh +++ b/mac_installer/make_ProgThruProc.sh @@ -19,7 +19,7 @@ ## # Script to convert Macintosh BOINC installer to Progress Thru Processors Desktop installer -# updated 6/10/09 by Charlie Fenton +# updated 6/11/09 by Charlie Fenton ## ## Usage: @@ -173,7 +173,11 @@ sudo mv -f "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/MacOS/BOINCMana # Update the Manager's info.plist, InfoPlist.strings files sudo sed -i "" s/BOINCManager/"${MANAGER_NAME}"/g "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/Info.plist" sudo sed -i "" s/BOINCMgr.icns/"${ICNS_FILE}"/g "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/Info.plist" -sudo sed -i "" s/BOINC/"${MANAGER_NAME}"/g "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" +# InfoPlist.strings file uses UTF-16 encoding +sudo chmod u+w "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" +sudo iconv -f UTF-16 -t UTF-8 "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" > "${PR_PATH}/tempUTF81" +sudo sed -i "" s/BOINC/"${MANAGER_NAME}"/g "${PR_PATH}/tempUTF81" +sudo iconv -f UTF-8 -t UTF-16 "${PR_PATH}/tempUTF81" > "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" # Replace the Manager's BOINCMgr.icns file sudo cp -fp "${ICNS_FILE}" "${PR_PATH}/Applications/${MANAGER_NAME}.app/Contents/Resources/${ICNS_FILE}" @@ -189,7 +193,11 @@ sudo mv -f "${PR_PATH}/Library/Screen Savers/${BRAND_NAME}.saver/Contents/MacOS/ # Update screensaver coordinator's info.plist, InfoPlist.strings files sudo sed -i "" s/BOINCSaver/"${BRAND_NAME}"/g "${PR_PATH}/Library/Screen Savers/${BRAND_NAME}.saver/Contents/Info.plist" -sudo sed -i "" s/BOINC/"${BRAND_NAME}"/g "${PR_PATH}/Library/Screen Savers/${BRAND_NAME}.saver/Contents/Resources/English.lproj/InfoPlist.strings" +# InfoPlist.strings file uses UTF-16 encoding +sudo chmod u+w "${PR_PATH}/Library/Screen Savers/${BRAND_NAME}.saver/Contents/Resources/English.lproj/InfoPlist.strings" +sudo iconv -f UTF-16 -t UTF-8 "${PR_PATH}/Library/Screen Savers/${BRAND_NAME}.saver/Contents/Resources/English.lproj/InfoPlist.strings" > "${PR_PATH}/tempUTF82" +sudo sed -i "" s/BOINC/"${BRAND_NAME}"/g "${PR_PATH}/tempUTF82" +sudo iconv -f UTF-8 -t UTF-16 "${PR_PATH}/tempUTF82" > "${PR_PATH}/Library/Screen Savers/${BRAND_NAME}.saver/Contents/Resources/English.lproj/InfoPlist.strings" # Replace screensaver coordinator's boinc.tiff or boinc.jpg file sudo rm -f "${PR_PATH}/Library/Screen Savers/${BRAND_NAME}.saver/Contents/Resources/boinc.jpg" @@ -215,7 +223,11 @@ sudo mv -f "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Un # Update Uninstall application's info.plist, InfoPlist.strings files sudo sed -i "" s/BOINC/"${BRAND_NAME}"/g "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Uninstall ${BRAND_NAME}.app/Contents/Info.plist" sudo sed -i "" s/MacUninstaller.icns/"${UNINSTALLER_ICNS_FILE}"/g "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Uninstall ${BRAND_NAME}.app/Contents/Info.plist" -sudo sed -i "" s/BOINC/"${BRAND_NAME}"/g "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Uninstall ${BRAND_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" +# InfoPlist.strings file uses UTF-16 encoding +sudo chmod u+w "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Uninstall ${BRAND_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" +sudo iconv -f UTF-16 -t UTF-8 "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Uninstall ${BRAND_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" > "${PR_PATH}/tempUTF83" +sudo sed -i "" s/BOINC/"${BRAND_NAME}"/g "${PR_PATH}/tempUTF83" +sudo iconv -f UTF-8 -t UTF-16 "${PR_PATH}/tempUTF83" > "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Uninstall ${BRAND_NAME}.app/Contents/Resources/English.lproj/InfoPlist.strings" # Replace the Uninstall application's MacUninstaller.icns file sudo cp -fp "${UNINSTALLER_ICNS_FILE}" "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/extras/Uninstall ${BRAND_NAME}.app/Contents/Resources/${UNINSTALLER_ICNS_FILE}" @@ -283,7 +295,11 @@ sudo rm -dfR "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND # Update the installer wrapper application's info.plist, InfoPlist.strings files sudo sed -i "" s/BOINC/"${BRAND_NAME}"/g "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND_NAME} Installer.app/Contents/Info.plist" sudo sed -i "" s/MacInstaller.icns/"${INSTALLER_ICNS_FILE}"/g "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND_NAME} Installer.app/Contents/Info.plist" -sudo sed -i "" s/BOINC/"${MANAGER_NAME}"/g "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND_NAME} Installer.app/Contents/Resources/English.lproj/InfoPlist.strings" +# InfoPlist.strings file uses UTF-16 encoding +sudo chmod u+w "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND_NAME} Installer.app/Contents/Resources/English.lproj/InfoPlist.strings" +sudo iconv -f UTF-16 -t UTF-8 "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND_NAME} Installer.app/Contents/Resources/English.lproj/InfoPlist.strings" > "${PR_PATH}/tempUTF84" +sudo sed -i "" s/BOINC/"${MANAGER_NAME}"/g "${PR_PATH}/tempUTF84" +sudo iconv -f UTF-8 -t UTF-16 "${PR_PATH}/tempUTF84" > "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND_NAME} Installer.app/Contents/Resources/English.lproj/InfoPlist.strings" # Replace the installer wrapper application's MacInstaller.icns file sudo cp -fp "${INSTALLER_ICNS_FILE}" "${NEW_DIR_PATH}/${LC_BRAND_NAME}_$1.$2.$3_macOSX_universal/${BRAND_NAME} Installer.app/Contents/Resources/${INSTALLER_ICNS_FILE}"