diff --git a/checkin_notes b/checkin_notes index c0760a6063..c433e653ce 100755 --- a/checkin_notes +++ b/checkin_notes @@ -11320,3 +11320,13 @@ David 1 Sept 2005 client_state.C,h cs_statefile.C gui_rpc_server_ops.C + +Charlie 1 Sept 2005 + - Mac: create a UNIX shell script to automate creation of installers. + + clientgui/ + mac/ + SetVersion.C + mac_installer/ + release_boinc.sh (new) + diff --git a/clientgui/mac/SetVersion.C b/clientgui/mac/SetVersion.C index dae2f7503b..85f78dcd99 100644 --- a/clientgui/mac/SetVersion.C +++ b/clientgui/mac/SetVersion.C @@ -22,6 +22,7 @@ int IsFileCurrent(char* filePath); int FixInfoPlistFile(char* myPath); int FixInfoPlist_Strings(void); +int MakeInstallerInfoPlistFile(void); int main(int argc, char** argv) { int retval = 0, err; @@ -37,14 +38,15 @@ int main(int argc, char** argv) { err = FixInfoPlist_Strings(); if (err) retval = err; - FixInfoPlistFile("./Info.plist"); + err = FixInfoPlistFile("./Info.plist"); if (err) retval = err; - FixInfoPlistFile("./Installer-Info.plist"); + err = FixInfoPlistFile("./Installer-Info.plist"); if (err) retval = err; - FixInfoPlistFile("./ScreenSaver-Info.plist"); + err = FixInfoPlistFile("./ScreenSaver-Info.plist"); if (err) retval = err; - FixInfoPlistFile("./SystemMenu-Info.plist"); + err = FixInfoPlistFile("./SystemMenu-Info.plist"); if (err) retval = err; + err = MakeInstallerInfoPlistFile(); return retval; } @@ -170,3 +172,50 @@ bail: printf("Error updating version number in file %s\n", myPath); return -1; } + + +int MakeInstallerInfoPlistFile() { + int retval = 0; + FILE *f; + char *myPath = "./Pkg-Info.plist"; + + if (IsFileCurrent(myPath)) + return 0; + + f = fopen(myPath, "w"); + if (f) + { + fprintf(f, "\n"); + fprintf(f, "\n"); + fprintf(f, "\n\n"); + fprintf(f, "\tCFBundleGetInfoString\n"); + fprintf(f, "\tBOINC Manager %s\n", BOINC_VERSION_STRING); + fprintf(f, "\tCFBundleIdentifier\n\tedu.berkeley.boinc\n"); + fprintf(f, "\tCFBundleShortVersionString\n"); + fprintf(f, "\t%s\n", BOINC_VERSION_STRING); + fprintf(f, "\tIFPkgFlagAllowBackRev\n\t1\n"); + fprintf(f, "\tIFPkgFlagAuthorizationAction\n\tAdminAuthorization\n"); + fprintf(f, "\tIFPkgFlagDefaultLocation\n\t/\n"); + fprintf(f, "\tIFPkgFlagFollowLinks\n\t0\n"); + fprintf(f, "\tIFPkgFlagInstallFat\n\t0\n"); + fprintf(f, "\tIFPkgFlagInstalledSize\n\t6680\n"); + fprintf(f, "\tIFPkgFlagIsRequired\n\t0\n"); + fprintf(f, "\tIFPkgFlagOverwritePermissions\n\t0\n"); + fprintf(f, "\tIFPkgFlagRelocatable\n\t0\n"); + fprintf(f, "\tIFPkgFlagRestartAction\n\tNoRestart\n"); + fprintf(f, "\tIFPkgFlagRootVolumeOnly\n\t1\n"); + fprintf(f, "\tIFPkgFlagUpdateInstalledLanguages\n\t0\n"); + fprintf(f, "\tIFPkgFormatVersion\n\t0.10000000149011612\n"); + fprintf(f, "\n\n"); + + retval = fclose(f); + } + else { + puts("Error creating file Pkg-Info.plist\n"); + retval = -1; + } + + return retval; +} + + diff --git a/mac_build/English.lproj/InfoPlist.strings b/mac_build/English.lproj/InfoPlist.strings index 6cc5e66ee2..d6e7f8148a 100755 --- a/mac_build/English.lproj/InfoPlist.strings +++ b/mac_build/English.lproj/InfoPlist.strings @@ -1,5 +1,5 @@ /* Localized versions of Info.plist keys */ CFBundleName = "BOINC"; -CFBundleShortVersionString = "BOINC version 4.72"; -CFBundleGetInfoString = "BOINC version 4.72, Copyright 2005 University of California."; +CFBundleShortVersionString = "BOINC version 5.3.1"; +CFBundleGetInfoString = "BOINC version 5.3.1, Copyright 2005 University of California."; diff --git a/mac_build/Info.plist b/mac_build/Info.plist index 6c9729c928..e7aeeb9645 100644 --- a/mac_build/Info.plist +++ b/mac_build/Info.plist @@ -17,6 +17,6 @@ CFBundleSignature BNC! CFBundleVersion - 4.72 + 5.3.1 diff --git a/mac_build/Installer-info.plist b/mac_build/Installer-info.plist index b467c67a48..8b8e9c2d97 100644 --- a/mac_build/Installer-info.plist +++ b/mac_build/Installer-info.plist @@ -15,6 +15,6 @@ CFBundleSignature ???? CFBundleVersion - 4.72 + 5.3.1 diff --git a/mac_build/ScreenSaver-Info.plist b/mac_build/ScreenSaver-Info.plist index 0d45518917..72e35b2d80 100644 --- a/mac_build/ScreenSaver-Info.plist +++ b/mac_build/ScreenSaver-Info.plist @@ -17,7 +17,7 @@ CFBundleSignature ???? CFBundleVersion - 4.72 + 5.3.1 NSPrincipalClass BOINC_Saver_ModuleView diff --git a/mac_build/SystemMenu-Info.plist b/mac_build/SystemMenu-Info.plist index abb7f7a441..daae90d914 100644 --- a/mac_build/SystemMenu-Info.plist +++ b/mac_build/SystemMenu-Info.plist @@ -15,6 +15,6 @@ CFBundleSignature ???? CFBundleVersion - 4.72 + 5.3.1 diff --git a/mac_installer/release_boinc.sh b/mac_installer/release_boinc.sh new file mode 100644 index 0000000000..2a53021086 --- /dev/null +++ b/mac_installer/release_boinc.sh @@ -0,0 +1,79 @@ +#!/bin/csh + +## +# Release Script for Macintosh BOINC Manager 9/1/05 by Charlie Fenton +## + +## Usage: +## cd to the root directory of the boinc tree, for example: +## cd [path]/boinc +## +## Invoke this script with the three parts of version number as arguments. +## For example, if the version is 3.2.1: +## source [path_to_this_script] 3 2 1 +## +## This will create a director "BOINC_Installer" in the parent directory of +## the current directory + + +rm -dfR ../BOINC_Installer/Installer\ Resources/ +rm -dfR ../BOINC_Installer/Pkg_Root + +mkdir -p ../BOINC_Installer/Installer\ Resources/ + +cp -fp mac_Installer/License.rtf ../BOINC_Installer/Installer\ Resources/ +cp -fp mac_installer/ReadMe.rtf ../BOINC_Installer/Installer\ Resources/ +cp -fp mac_installer/postinstall ../BOINC_Installer/Installer\ Resources/ +cp -fp mac_installer/postupgrade ../BOINC_Installer/Installer\ Resources/ + +cp -fpR mac_build/build/Postinstall.app ../BOINC_Installer/Installer\ Resources/ + +mkdir -p ../BOINC_Installer/Pkg_Root +mkdir -p ../BOINC_Installer/Pkg_Root/Applications +mkdir -p ../BOINC_Installer/Pkg_Root/Library +mkdir -p ../BOINC_Installer/Pkg_Root/Library/Screen\ Savers +mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support +mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data +mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/locale + +cp -fpR mac_build/build/BOINCManager.app ../BOINC_Installer/Pkg_Root/Applications/ + +cp -fpR mac_build/build/BOINCSaver.saver ../BOINC_Installer/Pkg_Root/Library/Screen\ Savers/ + +cp -fpR locale/client/ ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/locale +rm -dfR ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/locale/CVS + +sudo chown -R root:admin ../BOINC_Installer/Pkg_Root/* +sudo chmod -R 775 ../BOINC_Installer/Pkg_Root/* + +sudo chown -R 501:wheel ../BOINC_Installer/Pkg_Root/Applications/* +sudo chmod -R 755 ../BOINC_Installer/Pkg_Root/Applications/* + +sudo chown -R 501:wheel ../BOINC_Installer/Pkg_Root/Library/Application\ Support/* +sudo chmod -R 755 ../BOINC_Installer/Pkg_Root/Library/Application\ Support/* + +sudo chown -R 501:wheel ../BOINC_Installer/Pkg_Root/Library/Screen\ Savers/* +sudo chmod -R 755 ../BOINC_Installer/Pkg_Root/Library/Screen\ Savers/* + +mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/ +mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX +mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc-apple-darwin +mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/SymbolTables + +cp -fp mac_installer/ReadMe.rtf ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX +sudo chown -R 501:wheel ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX/ReadMe.rtf +sudo chmod -R 755 ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX/ReadMe.rtf + +cp -fpR mac_build/build/boinc ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc-apple-darwin/ +cp -fpR mac_build/build/boinc_cmd ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc-apple-darwin/ +sudo chown -R root:admin ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc-apple-darwin/* +sudo chmod -R 755 ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc-apple-darwin/* + +cp -fpR mac_build/build/SymbolTables ../BOINC_Installer/New_Release_$1_$2_$3/SymbolTables/ + +/Developer/Tools/packagemaker -build -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX/BOINC.pkg -f ../BOINC_Installer/Pkg_Root -r ../BOINC_Installer/Installer\ Resources/ -i mac_build/build/Pkg-Info.plist -ds + +cd ../BOINC_Installer/New_Release_$1_$2_$3 +zip -rq boinc_$1.$2.$3_macOSX.zip boinc_$1.$2.$3_macOSX +zip -rq boinc_$1.$2.$3_powerpc-apple-darwin.zip boinc_$1.$2.$3_powerpc-apple-darwin +