Table of Contents
Rom, please don't overwrite my formatting changes when you add new content! --Nicolas
Client Build Procedure
Note: All instructions on this page assume you're building on a Windows machine with TortoiseSVN installed. Macintosh build instructions can be found here.
Fork Tree
If this is a major or minor version change to an even numbered minor revision you'll need to fork the tree.
- Right-click on the 'boinc' directory from trunk, and then select 'TortoiseSVN | Branch/Tag'
- Change the "To URL:" to
https://boinc.berkeley.edu/svn/branches/boinc_core_release_\<major>_<minor>
, where\<major>
is the major version number and<minor>
is the minor version number. - Adjust version numbers in both the new branch and truck so that the new branch and trunk reflect the current development efforts.
The branch should represent the new stable major and even minor version numbers. Trunk should represent the next major and odd minor version number.
The files that need to be modified are configure.ac
and version.h
.
Example: Branch 5.10.x and Trunk 5.11.0.
Commit all changes to SVN.
Tag Tree
Increment the revision number in the files dealing with version numbers.
The files that need to be modified are configure.ac
and version.h
.
Commit all changes to SVN.
- Right-click on the branch directory, and then select 'TortoiseSVN\Branch/Tag'
- Change the "To URL:" to
https://boinc.berkeley.edu/svn/branches/boinc_core_release_\<major>_<minor>_<revision>
Where <major>
is the major version number, <minor>
is the minor version number, and <revision>
is the revision number.
Build Client
Launch the boinc.sln
project file and build both the 'Win32' and 'x64' targets of the 'ReleaseSigned' built type.
Sanity Test New Binaries
Run the BOINC manager and attach to the BOINC alpha test project, let run for 15 minutes. Traverse all the tabs, verify the status fields as a result traverses the crunching process.
Code Sign Binaries
Rum the SignCode.cmd file from the win_build
directory. This batch file should be run from within a Visual Studio command shell. SignCode should contain a series of the following line:
signtool sign /f "boinc.pfx" /p "<password>" /d "BOINC Client Software" /du "https://boinc.berkeley.edu"
/t "http://timestamp.verisign.com/scripts/timstamp.dll" /sha1 "2F0BDC8DD84A56417C68B53B29DD12155760652D"
.\Build\Win32\ReleaseSigned\boinc.dll
A call to signtool should be executed for each binary shipped in the setup package.
Use pvk2pfx to convert the spc/pvk certificate pair into a pfx file.
Replace '<password>' with the correct private key password used to create the private/public key pair.
Build Setup Packages
Launch BOINC.ism
and BOINCx64.ism
from the win_build/installerv2
directory.
With each file you'll need to change the following items before building the new setup package:
1. Switch the the 'Installation Designer' tab.
2. Expand the 'Installation Information' node.
3. Click on the 'General Information' tree item.
4. Click on the 'Product Properties' from the 'General Information' secondary tree.
5. Update version number in the 'Version' field.
6. Update the product code GUID by highlighting it all and then clicking on the 'Generate GUID'
button below.
7. Expand the 'Media' tree item.
8. Click on the 'Releases' tree item.
9. Click on the tree item below the 'Releases' secondary tree.
10. Update the file name with the correct version number.
NOTE: If this is the first time you have built from the build tree you'll need to update the
path variables in the 'Media' tree. Click on the 'Path Variables' tree item and update the
`PATH_TO_BOINC_FILES`, `PATH_TO_LOCALE_FILES`, and `PATH_TO_RELEASE_FILES` environment variables.
11. Build Setup packages by selecting 'Build/Batch Build' from the menu.
Test Setup Package
Copy the setup package from 'win_build/Installerv2/BOINC/Web32/Web/DiskImages/Disk1' to a temporary location and execute the installer. Verify single user installation.
Deploy Setup Packages
Use scp to upload the completed setup packages to boincadm@isaac.ssl.berkeley.edu:boinc/doc/dl/
.
Deploy Symbol Files
Copy the Win32 PDB files to c:\Src\symbols
and execute the following command:
symstore.exe add /l /f c:\src\symbols\*.pdb /s c:\src\symstore /compress /t "BOINC x86" /v "5.10.17" /o /c "Application Release"
Copy the x64 PDB files to c:\Src\symbols
and execute the following command:
symstore.exe add /l /f c:\src\symbols\*.pdb /s c:\src\symstore /compress /t "BOINC x64" /v "5.10.17" /o /c "Application Release"
Upload the new symbol files to isaac.
pscp.exe -r -C c:\src\symstore boincadm@isaac.ssl.berkeley.edu:boinc/doc/
Update Versions.inc in doc directory
Update the versions.inc
file in the doc directory to point to the new version.
Update Tests.inc in boinc_alpha directory
SSH into isaac and cd into 'boinc_alpha'.
Update the tests.inc
file to include the new version for testing.
Announce new version on mailing list
Send out the announcement email to boinc_alpha@ssl.berkeley.edu.