mirror of https://github.com/BOINC/boinc.git
183 lines
5.8 KiB
Plaintext
183 lines
5.8 KiB
Plaintext
Generating and releasing core client installers
|
|
|
|
|
|
|
|
<verno> represents the new version number.
|
|
At the time of this update, the latest version was 2.17,
|
|
so the new version number would be 2.18.
|
|
Substitute 2.18 everywhere you see <verno>
|
|
|
|
Required:
|
|
Unix/Linux/Mac:
|
|
These machines should have everything you need by default, but make
|
|
sure you have the following:
|
|
gmake
|
|
gcc 3.3 - especially on the Mac
|
|
autoconf (v2.54 or greater)
|
|
screen - this is useful for managing the builds and tests on
|
|
all *nix platforms
|
|
Windows:
|
|
Visual C++ 7.0
|
|
InstallShield 5.5 Pro
|
|
InstallShield Package for the Web v2
|
|
|
|
boinc\win_build\installer\Media folder
|
|
|
|
Administrivia:
|
|
do this on a unix machine:
|
|
(note: the make in your default path must be gmake
|
|
IN BOTH YOUR NORMAL SHELL AND SH
|
|
or else set-version will fail towards the end)
|
|
|
|
Check out a new copy of the BOINC source tree
|
|
Make an entry in checkin_notes w/ platforms, version#
|
|
|
|
Set the version number:
|
|
see clien/win/win_config.h to find last version#
|
|
(or look on web site)
|
|
|
|
% ./set-version <verno>
|
|
(this revises client/win/win_config.h, makefile.in's)
|
|
% cvs commit -m 'version <verno>'
|
|
|
|
Make a source tarball and zip:
|
|
% make dist
|
|
(if you have problems here, such as the make choking on
|
|
emacs save files, try "make -i dist")
|
|
% cp boinc-<verno>.tar.gz boinc-<verno>.zip ~davea/boinc/doc/source/
|
|
|
|
Build
|
|
Windows:
|
|
NOTE: currently we are distributing the debug version of the core client.
|
|
This is reflected in:
|
|
- where you copy dbghelp.dll to
|
|
- the "File Groups" tab of Installshield (link type)
|
|
|
|
Use the HP Kayak windows box (bart) in 329 or the Dell (skinner) in 325.
|
|
|
|
set up:
|
|
check out new source tree
|
|
copy Media.zip into win_build/installer; unzip
|
|
make sure "Media" is at top level of installer
|
|
Right-click on top BOINC folder;
|
|
CVS/preferences/policy; clear "prune empty folders" checkbox
|
|
copy "client/win/dbghelp.dll" to "win_build/Build/Debug"
|
|
|
|
Open 'BOINC'
|
|
|
|
Right click in the folder; select 'cvs update'
|
|
resolve any M(erge) problems
|
|
|
|
Open 'win_build'
|
|
|
|
Open 'BOINC.sln' (or .dsw if VC6.0)
|
|
|
|
in the visual c++ menu, pick
|
|
Build->Clean solution
|
|
Build->build solution
|
|
the exe will be in win_build\Build\Debug
|
|
|
|
Open 'win_build/installer'
|
|
|
|
open 'BOINC.ipr' (installshield project)
|
|
|
|
in the installshield menu, pick
|
|
Build->Media->Build Default Media
|
|
[bonus: automate this process]
|
|
exit installshield
|
|
|
|
open 'BOINC.pfw' (package for the web project)
|
|
build everything, changing only the version numbers
|
|
[note: there are nine screens to go through. the version
|
|
numbers are on screen #1 and screen #9. Do not
|
|
change anything else]
|
|
[bonus: automate this process]
|
|
|
|
The new windows installer (BOINC_<verno>_intelx86_windows.exe)
|
|
will be left in this folder when you exit Package for the Web
|
|
|
|
Do a CVS commit of win_build/installer/BOINC.pfw (to get version#, year)
|
|
(possibly)
|
|
|
|
SFTP to boincadm@koloth:
|
|
|
|
copy BOINC_<verno>_intelx86_windows.exe to the projects/AstroPulse_Beta/apps/boinc directory
|
|
|
|
|
|
Linux/Solaris:
|
|
use these hosts:
|
|
Linux: milhouse
|
|
solaris2.7: milkyway
|
|
|
|
note 1: The solaris 2.7 build should be statically linked, and should support
|
|
solaris 2.7-2.9
|
|
|
|
do a clean check out; compile; copy to koloth:
|
|
% cd ~
|
|
% mkdir proj
|
|
% cd proj
|
|
% mkdir <platform name>
|
|
% cd <platform name>
|
|
% cvs co boinc
|
|
% cd boinc
|
|
% ./configure && make
|
|
(tee to a file if you want to look at logs later)
|
|
% scp client/boinc_<verno>_<platform>.gz boincadm@koloth:projects/AstroPulse_Beta/apps/boinc/
|
|
|
|
[bonus: automate this process]
|
|
|
|
Mac OS X:
|
|
use the G3 OS X 10.2 mac in 329 (setisf2):
|
|
|
|
note: The mac os x build is identical to the unix/linux builds, except that
|
|
the configure step requires the --build argument to set a generic
|
|
host type (see below). The mac os x client will run on either os x
|
|
10.2 or 10.3 [10.1 or earlier is not supported])
|
|
|
|
do a clean check out; compile; copy to koloth:
|
|
% cd ~
|
|
% mkdir proj
|
|
% cd proj
|
|
% cvs co boinc
|
|
% cd boinc
|
|
% ./configure --build=powerpc-apple-darwin
|
|
% make
|
|
% cd client
|
|
% rename boinc_<verno>_<plat>.gz to b_<verno>_<plat>.gz
|
|
(to work around Mac IE 31-char filename bug)
|
|
% scp b_<verno>_*.gz boincadm@koloth:projects/AstroPulse_Beta/apps/boinc/
|
|
|
|
Note1: This same technique applies to building the setiathome application.
|
|
Note2: The .gz filename is longer than the maximum filename length imposed
|
|
by some macintosh browsers, such as IE and Safari (this limit was
|
|
left over from OS 9, and doesn't exist in OS X. Why the OS X browsers
|
|
continue to enforce it is a mystery). For the next release and going
|
|
forward, we should change the os x .gz file name to something shorter,
|
|
such as boinc_<verno>_OSX.gz (but leave the platform name the same
|
|
as before: powerpc-apple-darwin). This will solve a lot of download
|
|
problems for mac users.
|
|
|
|
[bonus: automate this process]
|
|
|
|
Test
|
|
Test the installer(s) and start the new version on each test machine:
|
|
Solaris 2.7 - milkyway
|
|
Solaris 2.8 - kodos
|
|
Solaris 2.9 - setisf1
|
|
Linux - shaggy
|
|
Mac OS X 10.2 - setisf2
|
|
Mac OS X 10.3 - seti2
|
|
WinXP - bart (329) or skinner (325)
|
|
Win2K - kent (Aaron's desk)
|
|
Win98 - marge [aka drake] (Matt's desk)
|
|
|
|
If all is well...
|
|
|
|
Update the server:
|
|
ssh boincadm@koloth
|
|
cd projects/Astropulse_Beta/bin
|
|
./update_versions
|
|
./stop
|
|
./start
|
|
|