Mac Installer: Updates for OS 10.6.5 compatibility

svn path=/branches/boinc_core_release_6_12/; revision=22798
This commit is contained in:
Charlie Fenton 2010-12-02 14:08:27 +00:00
parent 9261572a7d
commit c96aa81655
5 changed files with 21 additions and 38 deletions

View File

@ -8111,3 +8111,13 @@ Charlie 2 Dec 2010
lib/ lib/
mac/ mac/
mac_backtrace.cpp mac_backtrace.cpp
Charlie 2 Dec 2010
- Mac Installer: Updates for OS 10.6.5 compatibility.
(Checked into 6.12.7 tag.)
mac_installer/
LoginItemAPI.c
PostInstall.cpp
release_boinc.sh
WaitPermissions.cpp

View File

@ -688,4 +688,3 @@ Boolean PrintNumberOfLoginItems(CFStringRef WhosPreferencesToList)
} }
const char *BOINC_RCSID_e2d32e1aca="$Id$";

View File

@ -149,7 +149,6 @@ int main(int argc, char *argv[])
OSStatus err, err_fsref; OSStatus err, err_fsref;
FILE *f; FILE *f;
char s[256]; char s[256];
char *q;
#ifdef SANDBOX #ifdef SANDBOX
uid_t saved_euid, saved_uid, b_m_uid; uid_t saved_euid, saved_uid, b_m_uid;
passwd *pw; passwd *pw;
@ -396,37 +395,10 @@ int main(int argc, char *argv[])
seteuid(saved_euid); seteuid(saved_euid);
ProcessSerialNumber ourPSN; FSRef theFSRef;
ProcessInfoRec pInfo;
FSRef ourFSRef, theFSRef;
char thePath[MAXPATHLEN];
// Get the full path to this PostInstall application's bundle
err = GetCurrentProcess (&ourPSN);
if (err)
return -1000; // Should never happen
memset(&pInfo, 0, sizeof(pInfo));
pInfo.processInfoLength = sizeof( ProcessInfoRec );
err = GetProcessInformation(&ourPSN, &pInfo);
if (err)
return -1001; // Should never happen
err = GetProcessBundleLocation(&ourPSN, &ourFSRef);
if (err)
return -1002; // Should never happen
err = FSRefMakePath (&ourFSRef, (UInt8*)thePath, sizeof(thePath)); err = FSPathMakeRef((StringPtr)"/Library/Application Support/BOINC Data/WaitPermissions.app",
if (err) &theFSRef, NULL);
return -1003; // Should never happen
q = strrchr(thePath, '/');
if (q == NULL)
return -1004; // Should never happen
*++q = '\0';
strlcat(thePath, "WaitPermissions.app", sizeof(thePath));
err = FSPathMakeRef((StringPtr)thePath, &theFSRef, NULL);
// When we first create the boinc_master group and add the current user to the // When we first create the boinc_master group and add the current user to the
// new group, there is a delay before the new group membership is recognized. // new group, there is a delay before the new group membership is recognized.
@ -1529,4 +1501,3 @@ void print_to_log_file(const char *format, ...) {
#endif #endif
} }
const char *BOINC_RCSID_c7abe0490e="$Id$";

View File

@ -47,6 +47,8 @@ int main(int argc, char *argv[])
int retval = 0; int retval = 0;
DIR *dirp; DIR *dirp;
printf("WaitPermissions launched\n");
for (i=0; i<180; i++) { // Limit delay to 3 minutes for (i=0; i<180; i++) { // Limit delay to 3 minutes
retval = stat("/Library/Application Support/BOINC Data/projects", &sbuf); retval = stat("/Library/Application Support/BOINC Data/projects", &sbuf);

View File

@ -21,7 +21,7 @@
# Release Script for Macintosh BOINC Manager 10/31/07 by Charlie Fenton # Release Script for Macintosh BOINC Manager 10/31/07 by Charlie Fenton
## updated 11/18/09 by Charlie Fenton for OS 10.6 Snow Leopard ## updated 11/18/09 by Charlie Fenton for OS 10.6 Snow Leopard
## updated 9/28/10 by Charlie Fenton for new BOINC skins ## updated 9/28/10 by Charlie Fenton for new BOINC skins
## updated 11/23/10 by Charlie Fenton to remove obsolete items ## updated 12/2/10 by Charlie Fenton to remove obsolete items
## ##
## NOTE: This script uses PackageMaker, which is installed as part of the ## NOTE: This script uses PackageMaker, which is installed as part of the
## XCode developer tools. So you must have installed XCode Developer ## XCode developer tools. So you must have installed XCode Developer
@ -92,7 +92,6 @@ cp -fp mac_installer/postinstall ../BOINC_Installer/Installer\ Scripts/
cp -fp mac_installer/postupgrade ../BOINC_Installer/Installer\ Scripts/ cp -fp mac_installer/postupgrade ../BOINC_Installer/Installer\ Scripts/
cp -fpR $BUILDPATH/PostInstall.app ../BOINC_Installer/Installer\ Resources/ cp -fpR $BUILDPATH/PostInstall.app ../BOINC_Installer/Installer\ Resources/
cp -fpR $BUILDPATH/WaitPermissions.app ../BOINC_Installer/Installer\ Resources/
mkdir -p ../BOINC_Installer/Pkg_Root mkdir -p ../BOINC_Installer/Pkg_Root
mkdir -p ../BOINC_Installer/Pkg_Root/Applications mkdir -p ../BOINC_Installer/Pkg_Root/Applications
@ -104,6 +103,8 @@ mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/lo
mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher
mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/skins mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/skins
cp -fpR $BUILDPATH/WaitPermissions.app ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/
cp -fpR $BUILDPATH/switcher ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher/ cp -fpR $BUILDPATH/switcher ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher/
cp -fpR $BUILDPATH/setprojectgrp ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher/ cp -fpR $BUILDPATH/setprojectgrp ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher/
## cp -fpR $BUILDPATH/AppStats ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher/ ## cp -fpR $BUILDPATH/AppStats ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/switcher/
@ -233,9 +234,9 @@ cp -fpR $BUILDPATH/SymbolTables/ ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$
cd ../BOINC_Installer/New_Release_$1_$2_$3 cd ../BOINC_Installer/New_Release_$1_$2_$3
## Use ditto instead of zip utility to preserve resource forks and Finder attributes (custom icon, hide extension) ## Use ditto instead of zip utility to preserve resource forks and Finder attributes (custom icon, hide extension)
ditto -ck boinc_$1.$2.$3_macOSX_universal boinc_$1.$2.$3_macOSX_universal.zip ditto -ck --sequesterRsrc --keepParent boinc_$1.$2.$3_macOSX_universal boinc_$1.$2.$3_macOSX_universal.zip
ditto -ck boinc_$1.$2.$3_universal-apple-darwin boinc_$1.$2.$3_universal-apple-darwin.zip ditto -ck --sequesterRsrc --keepParent boinc_$1.$2.$3_universal-apple-darwin boinc_$1.$2.$3_universal-apple-darwin.zip
ditto -ck boinc_$1.$2.$3_macOSX_SymbolTables boinc_$1.$2.$3_macOSX_SymbolTables.zip ditto -ck --sequesterRsrc --keepParent boinc_$1.$2.$3_macOSX_SymbolTables boinc_$1.$2.$3_macOSX_SymbolTables.zip
#popd #popd
cd "${BOINCPath}" cd "${BOINCPath}"