2 BuildClientProcedure
Vitalii Koshura edited this page 2023-04-10 02:37:17 +02:00

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.

  1. Right-click on the 'boinc' directory from trunk, and then select 'TortoiseSVN | Branch/Tag'
  2. 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.
  3. 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.

  1. Right-click on the branch directory, and then select 'TortoiseSVN\Branch/Tag'
  2. 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.