From 6ec89207c5163535b0114b0853a577e9fd60a94b Mon Sep 17 00:00:00 2001 From: Charlie Fenton Date: Sat, 21 Jan 2006 12:42:04 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=9280 --- checkin_notes | 39 ++++++ clientgui/BOINCGUIApp.cpp | 20 ++-- clientgui/mac/SetVersion.C | 28 +++-- clientgui/mac/mac_saver_module.cpp | 6 +- mac_build/GR-InfoPlist.strings | 5 + mac_build/GR-ScreenSaver-Info.plist | 24 ++++ mac_build/boinc.xcodeproj/project.pbxproj | 20 +++- mac_installer/GR-Description.plist | 10 ++ mac_installer/GR-ReadMe.rtf | 76 ++++++++++++ mac_installer/GR-preinstall | 11 ++ mac_installer/GR-preupgrade | 11 ++ mac_installer/PostInstall.cpp | 83 +++++++------ mac_installer/postinstall | 4 +- mac_installer/postupgrade | 4 +- mac_installer/preinstall | 11 ++ mac_installer/preupgrade | 11 ++ mac_installer/release_GridRepublic.sh | 137 ++++++++++++++++++++++ mac_installer/release_boinc.sh | 28 +++-- 18 files changed, 445 insertions(+), 83 deletions(-) create mode 100644 mac_build/GR-InfoPlist.strings create mode 100644 mac_build/GR-ScreenSaver-Info.plist create mode 100644 mac_installer/GR-Description.plist create mode 100644 mac_installer/GR-ReadMe.rtf create mode 100644 mac_installer/GR-preinstall create mode 100644 mac_installer/GR-preupgrade create mode 100644 mac_installer/preinstall create mode 100644 mac_installer/preupgrade create mode 100644 mac_installer/release_GridRepublic.sh diff --git a/checkin_notes b/checkin_notes index 6448388722..5a0e561fd7 100755 --- a/checkin_notes +++ b/checkin_notes @@ -717,3 +717,42 @@ David 20 Jan 2006 clientgui/ Events.h ViewStatistics.C,h + +Charlie 21 Jan 2006 + -Mac: Changes for Grid Republic: manager determinea branding before + launching client; create new release script for GR; GR screen saver + displays GR icon in system preferences dialog; data directory is + "GridRepublic Data" if a GR install; installing BOINC over an + existing GR installation or GR over existing BOINC installation + renames data directory and performs other necessary tasks to ensure + continued processing of existing work. (But user's screensaver + selection is not changed automatically.) + + clientgui/ + BOINCGUIApp.cpp - Set up branding before launching boinc client. + mac/ + mac_saver_module.cpp + gridrepublic.tiff + SetVersion.C + + mac_installer/ + release_boinc.sh + PostInstall.cpp + postinstall + postupgrade + preinstall (new) + preupgrade (new) + release_GridRepublic.sh (new) + GR-preinstall (new) + GR-preupgrade (new) + GR-Description.plist (new) + GR_Branding (new) + GR-ReadMe.rtf (new) + GR-Description.plist (new) + + mac_build/ + GR-InfoPlist.strings (new) + GR-ScreenSaver-Info.plist (new) + boinc.xcodeproj/ + project.pbxproj + diff --git a/clientgui/BOINCGUIApp.cpp b/clientgui/BOINCGUIApp.cpp index 614deb2744..81b44ac097 100644 --- a/clientgui/BOINCGUIApp.cpp +++ b/clientgui/BOINCGUIApp.cpp @@ -199,6 +199,12 @@ bool CBOINCGUIApp::OnInit() { #endif + // Setup the branding scheme + m_pBranding = new CBrandingScheme; + wxASSERT(m_pBranding); + + m_pBranding->OnInit(m_pConfig); + #ifdef __WXMAC__ wxString strDirectory = wxEmptyString; @@ -214,15 +220,16 @@ bool CBOINCGUIApp::OnInit() { // The mac installer sets the "setuid & setgid" bits for the // BOINC Manager and core client so any user can run them and // they can operate on shared data. - strDirectory = wxT("/Library/Application Support"); + strDirectory = wxT("/Library/Application Support/"); #endif success = ::wxSetWorkingDirectory(strDirectory); if (success) { // If SetWD failed, don't create a directory in wrong place - strDirectory += wxT("/BOINC Data"); + strDirectory += m_pBranding->GetProjectName(); + strDirectory += wxT(" Data"); if (! wxDirExists(strDirectory)) - success = wxMkdir(wxT("BOINC Data"), 0777); // Does nothing if dir exists + success = wxMkdir(m_pBranding->GetProjectName() + wxT(" Data"), 0777); // Does nothing if dir exists success = ::wxSetWorkingDirectory(strDirectory); // wxChar *wd = wxGetWorkingDirectory(buf, 1000); // For debugging } @@ -303,13 +310,6 @@ bool CBOINCGUIApp::OnInit() { return false; } - // Setup the branding scheme - m_pBranding = new CBrandingScheme; - wxASSERT(m_pBranding); - - m_pBranding->OnInit(m_pConfig); - - // Initialize the main document m_pDocument = new CMainDocument(); wxASSERT(m_pDocument); diff --git a/clientgui/mac/SetVersion.C b/clientgui/mac/SetVersion.C index 919d982e0c..5958bc3e36 100644 --- a/clientgui/mac/SetVersion.C +++ b/clientgui/mac/SetVersion.C @@ -21,8 +21,8 @@ int IsFileCurrent(char* filePath); int FixInfoPlistFile(char* myPath); -int FixInfoPlist_Strings(void); -int MakeInstallerInfoPlistFile(void); +int FixInfoPlist_Strings(char* myPath, char* brand); +int MakeInstallerInfoPlistFile(char* myPath, char* brand); int main(int argc, char** argv) { int retval = 0, err; @@ -36,7 +36,9 @@ int main(int argc, char** argv) { printf("%s\n", myPath); // For debugging #endif - err = FixInfoPlist_Strings(); + err = FixInfoPlist_Strings("./English.lproj/InfoPlist.strings", "BOINC"); + if (err) retval = err; + err = FixInfoPlist_Strings("./GR-InfoPlist.strings", "GridRepublic"); if (err) retval = err; err = FixInfoPlistFile("./Info.plist"); if (err) retval = err; @@ -46,9 +48,13 @@ int main(int argc, char** argv) { if (err) retval = err; err = FixInfoPlistFile("./ScreenSaver-Info.plist"); if (err) retval = err; + err = FixInfoPlistFile("./GR-ScreenSaver-Info.plist"); + if (err) retval = err; err = FixInfoPlistFile("./SystemMenu-Info.plist"); if (err) retval = err; - err = MakeInstallerInfoPlistFile(); + err = MakeInstallerInfoPlistFile("./Pkg-Info.plist", "BOINC Manager"); + if (err) retval = err; + err = MakeInstallerInfoPlistFile("./GR-Pkg-Info.plist", "GridRepublic"); return retval; } @@ -75,10 +81,9 @@ int IsFileCurrent(char* filePath) { } -int FixInfoPlist_Strings() { +int FixInfoPlist_Strings(char* myPath, char* brand) { int retval = 0; FILE *f; - char *myPath = "./English.lproj/InfoPlist.strings"; if (IsFileCurrent(myPath)) return 0; @@ -87,9 +92,9 @@ int FixInfoPlist_Strings() { if (f) { fprintf(f, "/* Localized versions of Info.plist keys */\n\n"); - fprintf(f, "CFBundleName = \"BOINC\";\n"); - fprintf(f, "CFBundleShortVersionString = \"BOINC version %s\";\n", BOINC_VERSION_STRING); - fprintf(f, "CFBundleGetInfoString = \"BOINC version %s, Copyright 2005 University of California.\";\n", BOINC_VERSION_STRING); + fprintf(f, "CFBundleName = \"%s\";\n", brand); + fprintf(f, "CFBundleShortVersionString = \"%s version %s\";\n", brand, BOINC_VERSION_STRING); + fprintf(f, "CFBundleGetInfoString = \"%s version %s, Copyright 2005 University of California.\";\n", brand, BOINC_VERSION_STRING); retval = fclose(f); } else { @@ -176,10 +181,9 @@ bail: } -int MakeInstallerInfoPlistFile() { +int MakeInstallerInfoPlistFile(char* myPath, char* brand) { int retval = 0; FILE *f; - char *myPath = "./Pkg-Info.plist"; if (IsFileCurrent(myPath)) return 0; @@ -191,7 +195,7 @@ int MakeInstallerInfoPlistFile() { fprintf(f, "\n"); fprintf(f, "\n\n"); fprintf(f, "\tCFBundleGetInfoString\n"); - fprintf(f, "\tBOINC Manager %s\n", BOINC_VERSION_STRING); + fprintf(f, "\t%s %s\n", brand, BOINC_VERSION_STRING); fprintf(f, "\tCFBundleIdentifier\n\tedu.berkeley.boinc\n"); fprintf(f, "\tCFBundleShortVersionString\n"); fprintf(f, "\t%s\n", BOINC_VERSION_STRING); diff --git a/clientgui/mac/mac_saver_module.cpp b/clientgui/mac/mac_saver_module.cpp index 3b7b261c31..d3d89b4417 100755 --- a/clientgui/mac/mac_saver_module.cpp +++ b/clientgui/mac/mac_saver_module.cpp @@ -242,10 +242,12 @@ OSStatus initBOINCApp() { { #if 0 // Code for separate data in each user's private directory strcpy(buf, getenv("HOME")); - strcat(buf, "/Library/Application Support/BOINC Data"); + strcat(buf, "/Library/Application Support/"); #else // All users share the same data - strcpy(buf, "/Library/Application Support/BOINC Data"); + strcpy(buf, "/Library/Application Support/"); #endif + strcat(buf, gBrandText); + strcat(buf, " Data"); status = chdir(buf); if (status) { perror("chdir"); diff --git a/mac_build/GR-InfoPlist.strings b/mac_build/GR-InfoPlist.strings new file mode 100644 index 0000000000..3ef7f33b8b --- /dev/null +++ b/mac_build/GR-InfoPlist.strings @@ -0,0 +1,5 @@ +/* Localized versions of Info.plist keys */ + +CFBundleName = "GridRepublic"; +CFBundleShortVersionString = "GridRepublic version 5.3.13"; +CFBundleGetInfoString = "GridRepublic version 5.3.13, Copyright 2005 University of California."; diff --git a/mac_build/GR-ScreenSaver-Info.plist b/mac_build/GR-ScreenSaver-Info.plist new file mode 100644 index 0000000000..b2ab7528d1 --- /dev/null +++ b/mac_build/GR-ScreenSaver-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GridRepublic + CFBundleIdentifier + edu.berkeley.boincsaver + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + GridRepublic + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleVersion + 5.3.13 + NSPrincipalClass + BOINC_Saver_ModuleView + + diff --git a/mac_build/boinc.xcodeproj/project.pbxproj b/mac_build/boinc.xcodeproj/project.pbxproj index 0dba6fee3d..e226d5760a 100755 --- a/mac_build/boinc.xcodeproj/project.pbxproj +++ b/mac_build/boinc.xcodeproj/project.pbxproj @@ -225,8 +225,6 @@ DDD7EF4707F0526E00BA3B90 /* SystemMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = DD40CDFE07F038990096C645 /* SystemMenu.m */; }; DDD7F08007F0686100BA3B90 /* SystemMenu.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = DD40CDF907F0386A0096C645 /* SystemMenu.bundle */; }; DDDC35260909212D006076EC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F51BDF4903086C46012012A7 /* InfoPlist.strings */; }; - DDEB3AD50980CD180087E200 /* GR_Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DDEB3AD40980CD180087E200 /* GR_Info.plist */; }; - DDEB3CA90981084A0087E200 /* GridRepublic.icns in Resources */ = {isa = PBXBuildFile; fileRef = DDEB3CA80981084A0087E200 /* GridRepublic.icns */; }; DDEF38900802B73500E87552 /* ViewStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDEF388E0802B73500E87552 /* ViewStatistics.cpp */; }; DDF166AB08DF898A00C8C4A5 /* mac_backtrace.C in Sources */ = {isa = PBXBuildFile; fileRef = DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */; }; DDF166C308DF8AEE00C8C4A5 /* mac_backtrace.C in Sources */ = {isa = PBXBuildFile; fileRef = DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */; }; @@ -873,6 +871,12 @@ DDEF388F0802B73500E87552 /* ViewStatistics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ViewStatistics.h; path = ../clientgui/ViewStatistics.h; sourceTree = SOURCE_ROOT; }; DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = mac_backtrace.C; path = ../lib/mac_backtrace.C; sourceTree = SOURCE_ROOT; }; DDF166AA08DF898A00C8C4A5 /* mac_backtrace.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = mac_backtrace.h; path = ../lib/mac_backtrace.h; sourceTree = SOURCE_ROOT; }; + DDF1F47A09822C3400482C89 /* preinstall */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.csh; name = preinstall; path = ../mac_installer/preinstall; sourceTree = SOURCE_ROOT; }; + DDF1F47B09822C3400482C89 /* preupgrade */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.csh; name = preupgrade; path = ../mac_installer/preupgrade; sourceTree = SOURCE_ROOT; }; + DDF1F4A409822F8A00482C89 /* GR-Branding */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = "GR-Branding"; path = "../mac_installer/GR-Branding"; sourceTree = SOURCE_ROOT; }; + DDF1F4BC0982307300482C89 /* GR-preinstall */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.csh; name = "GR-preinstall"; path = "../mac_installer/GR-preinstall"; sourceTree = SOURCE_ROOT; }; + DDF1F4BD0982307300482C89 /* GR-preupgrade */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.csh; name = "GR-preupgrade"; path = "../mac_installer/GR-preupgrade"; sourceTree = SOURCE_ROOT; }; + DDF1F5550982531600482C89 /* GR-ScreenSaver-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = "GR-ScreenSaver-Info.plist"; sourceTree = SOURCE_ROOT; }; DDF3028907CCCE2C00701169 /* BOINCMgr.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = BOINCMgr.icns; path = ../client/mac/BOINCMgr.icns; sourceTree = SOURCE_ROOT; }; DDF9385407E28906004DC076 /* checkin_notes */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = checkin_notes; path = ../checkin_notes; sourceTree = SOURCE_ROOT; }; F5159562029EB02001F5651B /* md5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = md5.c; path = ../lib/md5.c; sourceTree = SOURCE_ROOT; }; @@ -1044,6 +1048,7 @@ DD40CDFA07F0386B0096C645 /* SystemMenu-Info.plist */, DD96AFFA0811075100A06F22 /* ScreenSaver-Info.plist */, DD1277B5081F3D67007B5DE1 /* Installer-Info.plist */, + DDF1F5550982531600482C89 /* GR-ScreenSaver-Info.plist */, ); name = "«PROJECTNAME»"; sourceTree = ""; @@ -1054,10 +1059,11 @@ DD0C5A8A0816711400CEC5D7 /* boinc.tiff */, DD48091E081A66F100A174AA /* BOINCSaver.nib */, DD64E7D507D89DB800B176C8 /* Info.plist */, - DDEB3AD40980CD180087E200 /* GR_Info.plist */, DDF3028907CCCE2C00701169 /* BOINCMgr.icns */, - DDEB3CA80981084A0087E200 /* GridRepublic.icns */, F51BDF4903086C46012012A7 /* InfoPlist.strings */, + DDEB3AD40980CD180087E200 /* GR_Info.plist */, + DDEB3CA80981084A0087E200 /* GridRepublic.icns */, + DDF1F4A409822F8A00482C89 /* GR-Branding */, ); name = Resources; sourceTree = SOURCE_ROOT; @@ -1080,8 +1086,12 @@ DD1277BE081F3E73007B5DE1 /* LoginItemAPI.c */, DD1277BF081F3E73007B5DE1 /* LoginItemAPI.h */, DD1277C0081F3E73007B5DE1 /* PostInstall.cpp */, + DDF1F47A09822C3400482C89 /* preinstall */, + DDF1F47B09822C3400482C89 /* preupgrade */, DDB8D5A5081FC8C700A5A1E8 /* postinstall */, DD127880081F464E007B5DE1 /* postupgrade */, + DDF1F4BC0982307300482C89 /* GR-preinstall */, + DDF1F4BD0982307300482C89 /* GR-preupgrade */, ); name = mac_installer; sourceTree = SOURCE_ROOT; @@ -2053,8 +2063,6 @@ DD095EF407D87B1600362260 /* boinc in Resources */, DD095F5A07D883E500362260 /* BOINCMgr.icns in Resources */, DD095F5B07D883E600362260 /* InfoPlist.strings in Resources */, - DDEB3AD50980CD180087E200 /* GR_Info.plist in Resources */, - DDEB3CA90981084A0087E200 /* GridRepublic.icns in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/mac_installer/GR-Description.plist b/mac_installer/GR-Description.plist new file mode 100644 index 0000000000..aeb3dbff00 --- /dev/null +++ b/mac_installer/GR-Description.plist @@ -0,0 +1,10 @@ + + + + + IFPkgDescriptionDescription + + IFPkgDescriptionTitle + GridRepublic + + diff --git a/mac_installer/GR-ReadMe.rtf b/mac_installer/GR-ReadMe.rtf new file mode 100644 index 0000000000..6a2b303d99 --- /dev/null +++ b/mac_installer/GR-ReadMe.rtf @@ -0,0 +1,76 @@ +{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf330 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid1}} +{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}} +\margl1440\margr1440\vieww9000\viewh9000\viewkind0 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc + +\f0\b\fs28 \cf0 Macintosh GridRepublic Version 5.2.14 Release Notes\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural + +\f1\b0\fs24 \cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc +\cf0 http://gridrepublic.org\ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural +\cf0 \ +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural + +\f0\b \cf0 Troubleshooting tip: +\f1\b0 The installer writes a file /Library/Receipts/GridRepublic.pkg. If the installer refuses to let you install, trash this file and try again.\ +\ +GridRepublic requires Macintosh OS X version 10.3 or greater.\ +\ +Although this installer adds the GridRepublic screen saver to your system, it does not change your screen saver settings. To select GridRepublic as your screen saver, use the Screen Saver or Screen Effects panel in the System Preferences (accessible from the Apple menu). \ +\ +It may take a minute after the screen saver starts before the science application graphics appear. At the time of this release, SETI@home and Einstein@home are the only GridRepublic projects which have implemented screen saver support for the Macintosh. We expect other GridRepublic projects to do so soon.\ +\ +Note: on some versions of the Mac OS, you may not be able to exit the GridRepublic screen saver by moving the mouse; you may need to press the mouse button or press any key on the keyboard to exit. \ +\ +The installer places two items onto your hard drive: GridRepublic.app in your /Applications folder and GridRepublicSaver.saver in your /Library/Screen Savers folder. \ +\ +It also sets GridRepublic as one of the items to automatically start whenever the user is logged in. You can add or remove Login Items by using the Accounts Pane in the System Preferences (accessible from the Apple menu). (These items are called "Login Items" in OS 10.4 or "Startup Items" in OS 10.3.)\ +\ +The installer creates the GridRepublic Data folder in your /Library/Application Support folder. If you have previously been running GridRepublic in a different folder, copy your data into this folder. \ +\ +All users who log in on the same Macintosh will share one set of GridRepublic data, ensuring that work units are processed in the most timely manner. However, the installer sets GridRepublic as a Startup item only for the user who ran the installer. To have GridRepublic start automatically when other users log in, add it to each user's Startup Items as described above.\ +\ +You can move GridRepublic to any folder you wish. If you do so, you will need to update the information in each user's Startup Items. In most cases, the GridRepublic screen saver should still work properly. If it does not, move GridRepublic back to the Applications folder.\ +\ +The installer sets the "setuid" permission flag for the GridRepublic, which allows it to write to the shared GridRepublic Data regardless of which user is logged in. If you copy GridRepublic or the GridRepublic core client to your computer without using the installer, some users may not be able to run it properly.\ +\ +\pard\pardeftab720\ql\qnatural +\cf0 To completely remove ( +\f0\b uninstall +\f1\b0 ) GridRepublic from your Macintosh:\ +\pard\tx220\tx720\pardeftab720\li720\fi-720\ql\qnatural +\ls1\ilvl0\cf0 \'a5 Move the following files to the trash:\ +\pard\tx940\tx1440\pardeftab720\li1200\fi-1200\ql\qnatural +\ls1\ilvl1\cf0 \'a5 GridRepublic.app (from your +\f0\b /Applications/ +\f1\b0 folder)\ + \'a5 GridRepublicSaver.saver (from your +\f0\b /Library/Screen Savers/ +\f1\b0 folder)\ + \'a5 the +\f0\b GridRepublic Data/ +\f1\b0 folder (from your +\f0\b /Library/Applications Support/ +\f1\b0 folder.)\ +\pard\tx220\tx720\pardeftab720\li400\fi-400\ql\qnatural +\ls1\ilvl0\cf0 \'a5 Open the +\f0\b Accounts +\f1\b0 pane in the +\f0\b System Preferences +\f1\b0 (accessible from the Apple menu), and remove GridRepublic from your list of +\f0\b Login Items +\f1\b0 (or +\f0\b Startup Items +\f1\b0 under OS 10.3.)\ +\pard\tx220\tx720\pardeftab720\li360\fi-360\ql\qnatural +\ls1\ilvl0\cf0 \'a5 Open +\f0\b System Preferences +\f1\b0 from the Apple menu. Select +\f0\b Desktop & Screen Saver +\f1\b0 and select a different screen saver.\ +} \ No newline at end of file diff --git a/mac_installer/GR-preinstall b/mac_installer/GR-preinstall new file mode 100644 index 0000000000..d4bbb28016 --- /dev/null +++ b/mac_installer/GR-preinstall @@ -0,0 +1,11 @@ +#!/bin/csh + +## +# Pre-Install Script for Macintosh GridRepublic for OS X revised 1/21/06 +## + + +# If we are replacing an earlier BOINC installation, fix the data directory name before installing +mv -n "/Library/Application Support/BOINC Data" "/Library/Application Support/GridRepublic Data" + +exit 0 diff --git a/mac_installer/GR-preupgrade b/mac_installer/GR-preupgrade new file mode 100644 index 0000000000..ae8e2a81d2 --- /dev/null +++ b/mac_installer/GR-preupgrade @@ -0,0 +1,11 @@ +#!/bin/csh + +## +# Pre-Upgrade Script for Macintosh GridRepublic for OS X revised 1/21/06 +## + + +# If we are replacing an earlier BOINC installation, fix the data directory name before installing +mv -n "/Library/Application Support/BOINC Data" "/Library/Application Support/GridRepublic Data" + +exit 0 diff --git a/mac_installer/PostInstall.cpp b/mac_installer/PostInstall.cpp index 5522a7806d..ff2bec12a8 100755 --- a/mac_installer/PostInstall.cpp +++ b/mac_installer/PostInstall.cpp @@ -73,23 +73,33 @@ int main(int argc, char *argv[]) if (err == noErr) err = GetProcessPID(&installerPSN , &installerPID); + brandID = GetBrandID(); + err = Gestalt(gestaltSystemVersion, &response); if (err != noErr) return err; if (response < 0x1030) { ::SetFrontProcess(&ourProcess); - StandardAlert (kAlertStopAlert, "\pSorry, BOINC requires system 10.3 or higher.", + // Remove everything we've installed + if (brandID == 1) { + StandardAlert (kAlertStopAlert, "\pSorry, GridRepublic requires system 10.3 or higher.", NULL, NULL, &itemHit); + system ("rm -rf /Applications/GridRepublic.app"); + system ("rm -rf /Library/Screen\\ Savers/GridRepublic.saver"); + system ("rm -rf /Library/Application\\ Support/GridRepublic\\ Data"); + system ("rm -rf /Library/Receipts/GridRepublic.pkg"); + StandardAlert (kAlertStopAlert, "\pSorry, BOINC requires system 10.3 or higher.", + NULL, NULL, &itemHit); + } else { + system ("rm -rf /Applications/BOINCManager.app"); + system ("rm -rf /Library/Screen\\ Savers/BOINCSaver.saver"); + system ("rm -rf /Library/Application\\ Support/BOINC\\ Data"); + system ("rm -rf /Library/Receipts/BOINC.pkg"); + } err = kill(installerPID, SIGKILL); - // Remove everything we've installed - system ("rm -rf /Applications/BOINCManager.app"); - system ("rm -rf /Library/Screen\\ Savers/BOINCSaver.saver"); - system ("rm -rf /Library/Application\\ Support/BOINC\\ Data"); - system ("rm -rf /Library/Receipts/BOINC.pkg"); - ExitToShell(); } @@ -124,40 +134,48 @@ int main(int argc, char *argv[]) } // Set owner of BOINCManager and contents, including core client - sprintf(s, "chown -Rf %s /Applications/BOINCManager.app", p); - system (s); + if (brandID == 1) { + sprintf(s, "chown -Rf %s /Applications/GridRepublic.app", p); + system (s); - // Set owner of BOINC Screen Saver - sprintf(s, "chown -Rf %s /Library/Screen\\ Savers/BOINCSaver.saver", p); - system (s); + // Set owner of BOINC Screen Saver + sprintf(s, "chown -Rf %s /Library/Screen\\ Savers/GridRepublic.saver", p); + system (s); - // Set owner of BOINC Data - sprintf(s, "chown -Rf %s /Library/Application\\ Support/BOINC\\ Data", p); - system (s); + // Set owner of BOINC Data + sprintf(s, "chown -Rf %s /Library/Application\\ Support/GridRepublic\\ Data", p); + system (s); - brandID = GetBrandID(); - if (brandID == 1) { - system ("rm -rf /Applications/GridRepublic.app"); - system ("mv -f /Applications/BOINCManager.app/ /Applications/GridRepublic.app/"); - system ("mv -f /Applications/GridRepublic.app/Contents/Info.plist /Applications/GridRepublic.app/Contents/BOINC_Info.plist"); - system ("cp -fp /Applications/GridRepublic.app/Contents/Resources/GR_Info.plist /Applications/GridRepublic.app/Contents/Info.plist"); - system ("mv -f /Applications/GridRepublic.app/Contents/MacOS/BOINCManager /Applications/GridRepublic.app/Contents/MacOS/GridRepublic"); - system ("cp -fp Contents/Resources/Branding /Applications/GridRepublic.app/Contents/Resources/Branding"); - system ("rm -rf /Library/Screen\\ Savers/GridRepublic.saver"); - system ("mv -f /Library/Screen\\ Savers/BOINCSaver.saver /Library/Screen\\ Savers/GridRepublic.saver"); + system ("rm -rf /Applications/BOINCManager.app"); + system ("rm -rf /Library/Screen\\ Savers/BOINCSaver.saver"); + system ("chmod -R a+s /Applications/GridRepublic.app"); + + err_fsref = FSPathMakeRef((StringPtr)"/Applications/GridRepublic.app", &fileRef, NULL); } else { + sprintf(s, "chown -Rf %s /Applications/BOINCManager.app", p); + system (s); + + // Set owner of BOINC Screen Saver + sprintf(s, "chown -Rf %s /Library/Screen\\ Savers/BOINCSaver.saver", p); + system (s); + + // Set owner of BOINC Data + sprintf(s, "chown -Rf %s /Library/Application\\ Support/BOINC\\ Data", p); + system (s); + system ("rm -rf /Applications/GridRepublic.app"); // Installing BOINC over GridRepublic system ("rm -rf /Library/Screen\\ Savers/GridRepublic.saver"); // Installing BOINC over GridRepublic - } + system ("chmod -R a+s /Applications/BOINCManager.app"); - if (brandID == 1) - err_fsref = FSPathMakeRef((StringPtr)"/Applications/GridRepublic.app", &fileRef, NULL); - else err_fsref = FSPathMakeRef((StringPtr)"/Applications/BOINCManager.app", &fileRef, NULL); + } - if (err_fsref == noErr) + if (err_fsref == noErr) { err = LSRegisterFSRef(&fileRef, true); - + if (err_fsref == noErr) + err = LSOpenFSRef(&fileRef, NULL); + } + // Installer is running as root. We must setuid back to the logged in user // in order to add a startup item to the user's login preferences @@ -200,9 +218,6 @@ int main(int argc, char *argv[]) break; } - if (err_fsref == noErr) - err = LSOpenFSRef(&fileRef, NULL); - return 0; } diff --git a/mac_installer/postinstall b/mac_installer/postinstall index 996a3ad4c5..14e73d1635 100644 --- a/mac_installer/postinstall +++ b/mac_installer/postinstall @@ -1,11 +1,9 @@ #!/bin/csh ## -# post-Install Script for Macintosh BOINC Manager for OS X revised 5/21/05 +# post-Install Script for Macintosh BOINC Manager for OS X revised 1/21/06 ## -chmod -R a+s /Applications/BOINCManager.app - cd "$1" # Run the Postinstall Application Contents/Resources/PostInstall.app/Contents/MacOS/PostInstall & diff --git a/mac_installer/postupgrade b/mac_installer/postupgrade index d8970ebfd7..6ac0688f99 100755 --- a/mac_installer/postupgrade +++ b/mac_installer/postupgrade @@ -1,11 +1,9 @@ #!/bin/csh ## -# post-Upgrade Script for Macintosh BOINC Manager for OS X revised 5/21/05 +# post-Upgrade Script for Macintosh BOINC Manager for OS X revised 1/21/06 ## -chmod -R a+s /Applications/BOINCManager.app - cd "$1" # Run the Postinstall Application Contents/Resources/PostInstall.app/Contents/MacOS/PostInstall & diff --git a/mac_installer/preinstall b/mac_installer/preinstall new file mode 100644 index 0000000000..83fc5c3304 --- /dev/null +++ b/mac_installer/preinstall @@ -0,0 +1,11 @@ +#!/bin/csh + +## +# Pre-Install Script for Macintosh BOINC Manager for OS X revised 1/21/06 +## + + +# If we are replacing an earlier GridRepublic installation, fix the data directory name before installing +mv -n "/Library/Application Support/GridRepublic Data" "/Library/Application Support/BOINC Data" + +exit 0 diff --git a/mac_installer/preupgrade b/mac_installer/preupgrade new file mode 100644 index 0000000000..48a2845710 --- /dev/null +++ b/mac_installer/preupgrade @@ -0,0 +1,11 @@ +#!/bin/csh + +## +# Pre-Upgrade Script for Macintosh BOINC Manager for OS X revised 1/21/06 +## + + +# If we are replacing an earlier GridRepublic installation, fix the data directory name before installing +mv -n "/Library/Application Support/GridRepublic Data" "/Library/Application Support/BOINC Data" + +exit 0 diff --git a/mac_installer/release_GridRepublic.sh b/mac_installer/release_GridRepublic.sh new file mode 100644 index 0000000000..eb56d0c491 --- /dev/null +++ b/mac_installer/release_GridRepublic.sh @@ -0,0 +1,137 @@ +#!/bin/csh + +## +# Release Script for Macintosh BOINC Manager 1/21/06 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 + +if [ $# -lt 3 ]; then +echo "Usage:" +echo " cd [path]/boinc" +echo " source [path_to_this_script] major_version minor_version revision_number" +exit 0 +fi + +pushd ./ + +## XCode 2.x has separate directories for Development and Deployment build products +if [ "$4" = "-dev" ]; then + if [ -d mac_build/build/Development/ ]; then + BUILDPATH="mac_build/build/Development" + else + BUILDPATH="mac_build/build" + fi +else + if [ -d mac_build/build/Deployment/ ]; then + BUILDPATH="mac_build/build/Deployment" + else + BUILDPATH="mac_build/build" + fi +fi + +sudo rm -dfR ../BOINC_Installer/GR_Installer\ Resources/ +sudo rm -dfR ../BOINC_Installer/GR_Pkg_Root + +mkdir -p ../BOINC_Installer/GR_Installer\ Resources/ + +cp -fp mac_Installer/License.rtf ../BOINC_Installer/GR_Installer\ Resources/ +cp -fp mac_installer/GR-ReadMe.rtf ../BOINC_Installer/GR_Installer\ Resources/ReadMe.rtf +cp -fp mac_installer/GR-preinstall ../BOINC_Installer/GR_Installer\ Resources/preinstall +cp -fp mac_installer/GR-preupgrade ../BOINC_Installer/GR_Installer\ Resources/preupgrade +cp -fp mac_installer/postinstall ../BOINC_Installer/GR_Installer\ Resources/ +cp -fp mac_installer/postupgrade ../BOINC_Installer/GR_Installer\ Resources/ + +cp -fpR $BUILDPATH/Postinstall.app ../BOINC_Installer/GR_Installer\ Resources/ + +mkdir -p ../BOINC_Installer/GR_Pkg_Root +mkdir -p ../BOINC_Installer/GR_Pkg_Root/Applications +mkdir -p ../BOINC_Installer/GR_Pkg_Root/Library +mkdir -p ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers +mkdir -p ../BOINC_Installer/GR_Pkg_Root/Library/Application\ Support +mkdir -p ../BOINC_Installer/GR_Pkg_Root/Library/Application\ Support/GridRepublic\ Data +mkdir -p ../BOINC_Installer/GR_Pkg_Root/Library/Application\ Support/GridRepublic\ Data/locale + +cp -fpR $BUILDPATH/BOINCManager.app ../BOINC_Installer/GR_Pkg_Root/Applications/ + +cp -fpR $BUILDPATH/BOINCSaver.saver ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/ + +## Copy the localization files into the installer tree +## Old way copies CVS and *.po files which are not needed +## cp -fpR locale/client/ ../BOINC_Installer/GR_Pkg_Root/Library/Application\ Support/BOINC\ Data/locale +## sudo rm -dfR ../BOINC_Installer/GR_Pkg_Root/Library/Application\ Support/BOINC\ Data/locale/CVS +## New way copies only *.mo files (adapted from boinc/sea/make-tar.sh) +find locale/client -name '*.mo' | cut -d '/' -f 3 | awk '{print "-p \"../BOINC_Installer/GR_Pkg_Root/Library/Application Support/GridRepublic\ Data/locale/"$0"\""}' | xargs mkdir +find locale/client -name '*.mo' | cut -d '/' -f 3,4 | awk '{print "cp \"locale/client/"$0"\" \"../BOINC_Installer/GR_Pkg_Root/Library/Application Support/GridRepublic\ Data/locale/"$0"\""}' | bash + +## Modify for Grid Republic +# Rename the Manager's bundle and its executable inside the bundle +mv -f ../BOINC_Installer/GR_Pkg_Root/Applications/BOINCManager.app/ ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/ +mv -f ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/Contents/MacOS/BOINCManager ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/Contents/MacOS/GridRepublic + +# Replace the Manager's info.plist, InfoPlist.strings, BOINCMgr.icns +cp -fp mac_build/GR_Info.plist ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/Contents/Info.plist +cp -fp mac_build/GR-InfoPlist.strings ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/Contents/Resources/English.lproj/InfoPlist.strings +cp -fp client/mac/GridRepublic.icns ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/Contents/Resources/GridRepublic.icns +rm -f ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/Contents/Resources/BOINCMgr.icns + +# Copy Branding file into both Application Bundle and Installer Package +cp -fp mac_installer/GR-Branding ../BOINC_Installer/GR_Pkg_Root/Applications/GridRepublic.app/Contents/Resources/Branding +cp -fp mac_installer/GR-Branding ../BOINC_Installer/GR_Installer\ Resources/Branding + +# Rename the screensaver bundle and its executable inside the bundle +mv -f ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/BOINCSaver.saver ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/GridRepublic.saver +mv -f ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/GridRepublic.saver/Contents/MacOS/BOINCSaver ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/GridRepublic.saver/Contents/MacOS/GridRepublic + +# Replace screensaver's info.plist, InfoPlist.strings, boinc.tif +cp -fp mac_build/GR-ScreenSaver-Info.plist ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/GridRepublic.saver/Contents/Info.plist +cp -fp mac_build/GR-InfoPlist.strings ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/GridRepublic.saver/Contents/Resources/English.lproj/InfoPlist.strings +cp -fp clientgui/mac/gridrepublic.tiff ../BOINC_Installer/GR_Pkg_Root/Library/Screen\ Savers/GridRepublic.saver/Contents/Resources/boinc.tiff + +## Fix up ownership and permissions +sudo chown -R root:admin ../BOINC_Installer/GR_Pkg_Root/* +sudo chmod -R 775 ../BOINC_Installer/GR_Pkg_Root/* +sudo chmod 1775 ../BOINC_Installer/GR_Pkg_Root/Library + +sudo chown -R 501:admin ../BOINC_Installer/GR_Pkg_Root/Library/Application\ Support/* +sudo chmod -R 755 ../BOINC_Installer/GR_Pkg_Root/Library/Application\ Support/* + +sudo chown -R root:admin ../BOINC_Installer/GR_Installer\ Resources/* +sudo chmod -R 755 ../BOINC_Installer/GR_Installer\ Resources/* + +sudo rm -dfR ../BOINC_Installer/New_Release_GR_$1_$2_$3/ + +mkdir -p ../BOINC_Installer/New_Release_GR_$1_$2_$3/ +mkdir -p ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_macOSX_powerpc +mkdir -p ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_powerpc-apple-darwin +mkdir -p ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_macOSX_SymbolTables + +cp -fp mac_installer/GR-ReadMe.rtf ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_macOSX_powerpc/ReadMe.rtf +sudo chown -R 501:admin ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_macOSX_powerpc/ReadMe.rtf +sudo chmod -R 755 ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_macOSX_powerpc/ReadMe.rtf + +cp -fpR $BUILDPATH/boinc ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_powerpc-apple-darwin/ +cp -fpR $BUILDPATH/boinc_cmd ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_powerpc-apple-darwin/ +sudo chown -R root:admin ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_powerpc-apple-darwin/* +sudo chmod -R 755 ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_powerpc-apple-darwin/* + +cp -fpR $BUILDPATH/SymbolTables ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_macOSX_SymbolTables/ + +/Developer/Tools/packagemaker -build -p ../BOINC_Installer/New_Release_GR_$1_$2_$3/gridrepublic_$1.$2.$3_macOSX_powerpc/GridRepublic.pkg -f ../BOINC_Installer/GR_Pkg_Root -r ../BOINC_Installer/GR_Installer\ Resources/ -i mac_build/GR-Pkg-Info.plist -d mac_Installer/GR-Description.plist -ds + +cd ../BOINC_Installer/New_Release_GR_$1_$2_$3 +zip -rq gridrepublic_$1.$2.$3_macOSX_powerpc.zip gridrepublic_$1.$2.$3_macOSX_powerpc +zip -rq gridrepublic_$1.$2.$3_powerpc-apple-darwin.zip gridrepublic_$1.$2.$3_powerpc-apple-darwin +zip -rq gridrepublic_$1.$2.$3_macOSX_SymbolTables.zip gridrepublic_$1.$2.$3_macOSX_SymbolTables + +popd +return 0 diff --git a/mac_installer/release_boinc.sh b/mac_installer/release_boinc.sh index 501120a2a9..24baa9551b 100644 --- a/mac_installer/release_boinc.sh +++ b/mac_installer/release_boinc.sh @@ -22,6 +22,8 @@ echo " source [path_to_this_script] major_version minor_version revision_numbe exit 0 fi +pushd ./ + ## XCode 2.x has separate directories for Development and Deployment build products if [ "$4" = "-dev" ]; then if [ -d mac_build/build/Development/ ]; then @@ -44,6 +46,8 @@ 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/preinstall ../BOINC_Installer/Installer\ Resources/ +cp -fp mac_installer/preupgrade ../BOINC_Installer/Installer\ Resources/ cp -fp mac_installer/postinstall ../BOINC_Installer/Installer\ Resources/ cp -fp mac_installer/postupgrade ../BOINC_Installer/Installer\ Resources/ @@ -69,31 +73,27 @@ cp -fpR $BUILDPATH/BOINCSaver.saver ../BOINC_Installer/Pkg_Root/Library/Screen\ find locale/client -name '*.mo' | cut -d '/' -f 3 | awk '{print "-p \"../BOINC_Installer/Pkg_Root/Library/Application Support/BOINC Data/locale/"$0"\""}' | xargs mkdir find locale/client -name '*.mo' | cut -d '/' -f 3,4 | awk '{print "cp \"locale/client/"$0"\" \"../BOINC_Installer/Pkg_Root/Library/Application Support/BOINC Data/locale/"$0"\""}' | bash +## Fix up ownership and permissions sudo chown -R root:admin ../BOINC_Installer/Pkg_Root/* sudo chmod -R 775 ../BOINC_Installer/Pkg_Root/* +sudo chmod 1775 ../BOINC_Installer/Pkg_Root/Library -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 chown -R 501:admin ../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/* - sudo chown -R root:admin ../BOINC_Installer/Installer\ Resources/* sudo chmod -R 755 ../BOINC_Installer/Installer\ Resources/* sudo rm -dfR ../BOINC_Installer/New_Release_$1_$2_$3/ 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_macOSX_powerpc 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/boinc_$1.$2.$3_macOSX_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 -fp mac_installer/ReadMe.rtf ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_powerpc +sudo chown -R 501:admin ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_powerpc/ReadMe.rtf +sudo chmod -R 755 ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_powerpc/ReadMe.rtf cp -fpR $BUILDPATH/boinc ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc-apple-darwin/ cp -fpR $BUILDPATH/boinc_cmd ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc-apple-darwin/ @@ -102,10 +102,12 @@ sudo chmod -R 755 ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_powerpc cp -fpR $BUILDPATH/SymbolTables ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_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/Pkg-Info.plist -d mac_Installer/Description.plist -ds +/Developer/Tools/packagemaker -build -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_powerpc/BOINC.pkg -f ../BOINC_Installer/Pkg_Root -r ../BOINC_Installer/Installer\ Resources/ -i mac_build/Pkg-Info.plist -d mac_Installer/Description.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_macOSX_powerpc.zip boinc_$1.$2.$3_macOSX_powerpc zip -rq boinc_$1.$2.$3_powerpc-apple-darwin.zip boinc_$1.$2.$3_powerpc-apple-darwin zip -rq boinc_$1.$2.$3_macOSX_SymbolTables.zip boinc_$1.$2.$3_macOSX_SymbolTables +popd +return 0