Difference between revisions of "Channel and Version Requirements"
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
* The Version Number is in the form Major.Minor.Patch.Build | * The Version Number is in the form Major.Minor.Patch.Build | ||
* The Version Number can be any four numbers, separated by periods. | * The Version Number can be any four numbers, separated by periods. | ||
* We recommend using the Major | * We recommend using the Major and Minor numbers from the most recently merged Linden Lab source code. | ||
** Linden Lab uses an internal number from our source control system for the Build number. | ** Linden Lab uses an internal number from our source control system for the Build number. | ||
3. Set the Channel and Version in the code | 3. Set the Channel and Version in the code |
Revision as of 11:13, 24 January 2011
Setting a Viewer Identifier for an Open Source Viewer
A Viewer Identifier is unique to a particular release of a viewer. It is composed of three parts: the Version Name, the Version Variant, and the Version Number. The combination of the Version Name and the Version Variant form the Channel Name.
1. Choose a Version Name
- The default Version Name is "Second Life"
2. Choose a Version Variant. The default variant is "Release"
- The combination of the Name and Variant should be combined to make the Channel Name.
- The default Channel Name is "Second Life Release"
- Other standard Linden Lab Channel Names are "Second Life Release Candidate" and "Second Life First Look [Feature]". Please note that any Channel Name containing "Second Life" is reserved for use by Linden Lab.
- The Channel Name can be any ASCII string. It should not violate Linden Lab's trademark policy. We recommend that the Channel Name be the name of the Open Source Viewer.
2. Choose a Version Number
- The Version Number is in the form Major.Minor.Patch.Build
- The Version Number can be any four numbers, separated by periods.
- We recommend using the Major and Minor numbers from the most recently merged Linden Lab source code.
- Linden Lab uses an internal number from our source control system for the Build number.
3. Set the Channel and Version in the code
- Edit indra/llcommon/llversionviewer.h
- Modify LL_CHANNEL with the Channel Name
- Modify LL_VERSION_BUILD with the appropriate build number
- Update the Version Number in the following files:
- indra/newview/res/newViewRes.rc - "FileVersion" and "ProductVersion" in the Version section
- indra/newview/Info-SecondLife.plist - CFBundleVersion
- indra/newview/English.lproj/InfoPlist.strings - CFBundleShortVersionString
- Build the code
Packaging for Distribution
- From the indra/newview directory run viewer_manifest.py with the following arguments:
- viewer_manifest.py --login_url=http://your.login.url.com
- See http://wiki.secondlife.com/wiki/Viewer_Manifest for more information on packaging the Viewer
Updating an Open Source Viewer
- Anyone distributing an Open Source version of the Viewer is responsible for messaging updates to residents using that client.
- We recommend using your login url for directing residents to updates.
- Clients not based on the Linden viewer code base should ensure that the XMLRPC login connection sends:
- channel = the channel name, e.g. "My Viewer"
- version = the channel name and a four-part version, e.g. "My Viewer 1.2.3.4"
Linden Lab Updates
- Linden Lab updates will not affect non Linden Lab channels. This includes optional and mandatory updates. It is the responsibility of other distributors to ensure that security patches are provided to residents using their client.
- NOTE: If Linden Lab determines that a particular client distribution contains security vulnerabilities or exploits, Linden Lab may block that particular version of the client from logging in.
- NOTE: If Linden Lab introduces a server update that requires a particular capability in order to connect to the server, Viewers that do not include the required capability will be unable to connect to regions running that version of the server. It is the intention of Linden Lab to make these required updates infrequent, and to make the Viewer code available well in advance of the server update.