diff --git a/.hgignore b/.hgignore index 648ea3eabbfd5c7f85e4962cf32a4150f83f4157..6ed2a0c5f71a70dc0f683a12700af8e720f80103 100644 --- a/.hgignore +++ b/.hgignore @@ -1,36 +1,36 @@ -syntax: glob - -*.pyc -*~ -.*.swp -LICENSES -indra/.distcc -indra/build-darwin-* -indra/build-vc[0-9]* -indra/lib/mono/1.0/*.dll -indra/lib/mono/indra/*.dll -indra/lib/mono/indra/*.exe -indra/lib/mono/indra/*.pdb -indra/lib/python/eventlet/ -indra/llwindow/glh/glh_linear.h -indra/newview/app_settings/mozilla -indra/newview/app_settings/mozilla-runtime-* -indra/newview/app_settings/mozilla_debug -indra/newview/app_settings/static_*.db2 -indra/newview/character -indra/newview/fmod.dll -indra/newview/mozilla-theme -indra/newview/mozilla-universal-darwin.tgz -indra/newview/res-sdl -indra/newview/skins -indra/newview/vivox-runtime -indra/server-linux-* -indra/test_apps/llmediatest/dependencies/i686-win32 -indra/test_apps/terrain_mule/*.dll -indra/viewer-linux-* -indra/web/doc/asset-upload/plugins/lsl_compiler/lslc -indra/web/doc/asset-upload/plugins/verify-notecard -indra/web/doc/asset-upload/plugins/verify-texture -installed.xml -libraries -tarfile_tmp +syntax: glob + +*.pyc +*~ +.*.swp +LICENSES +indra/.distcc +indra/build-darwin-* +indra/build-vc[0-9]* +indra/lib/mono/1.0/*.dll +indra/lib/mono/indra/*.dll +indra/lib/mono/indra/*.exe +indra/lib/mono/indra/*.pdb +indra/lib/python/eventlet/ +indra/llwindow/glh/glh_linear.h +indra/newview/app_settings/mozilla +indra/newview/app_settings/mozilla-runtime-* +indra/newview/app_settings/mozilla_debug +indra/newview/app_settings/static_*.db2 +indra/newview/character +indra/newview/fmod.dll +indra/newview/mozilla-theme +indra/newview/mozilla-universal-darwin.tgz +indra/newview/res-sdl +indra/newview/skins +indra/newview/vivox-runtime +indra/server-linux-* +indra/test_apps/llmediatest/dependencies/i686-win32 +indra/test_apps/terrain_mule/*.dll +indra/viewer-linux-* +indra/web/doc/asset-upload/plugins/lsl_compiler/lslc +indra/web/doc/asset-upload/plugins/verify-notecard +indra/web/doc/asset-upload/plugins/verify-texture +installed.xml +libraries +tarfile_tmp diff --git a/indra/lib/python/indra/util/llversion.py b/indra/lib/python/indra/util/llversion.py index 770b861ddc1604e6dd2d133aa94513560c154455..2718a85f414cb958db30e8035bf21742583a084b 100644 --- a/indra/lib/python/indra/util/llversion.py +++ b/indra/lib/python/indra/util/llversion.py @@ -1,7 +1,7 @@ """@file llversion.py @brief Utility for parsing llcommon/llversion${server}.h for the version string and channel string - Utility that parses svn info for branch and revision + Utility that parses hg or svn info for branch and revision $LicenseInfo:firstyear=2006&license=mit$ @@ -79,8 +79,8 @@ def get_svn_status_matching(regular_expression): status, output = commands.getstatusoutput('svn info %s' % get_src_root()) m = regular_expression.search(output) if not m: - print "Failed to parse svn info output, resultfollows:" - print output + print >> sys.stderr, "Failed to parse svn info output, result follows:" + print >> sys.stderr, output raise Exception, "No matching svn status in "+src_root return m.group(1) @@ -92,4 +92,35 @@ def get_svn_revision(): last_rev_re = re.compile('Last Changed Rev: (\d+)') return get_svn_status_matching(last_rev_re) - +def get_hg_repo(): + status, output = commands.getstatusoutput('hg showconfig paths.default') + if status: + print >> sys.stderr, output + sys.exit(1) + if not output: + print >> sys.stderr, 'ERROR: cannot find repo we cloned from' + sys.exit(1) + return output + +def get_hg_changeset(): + # The right thing to do: + # status, output = commands.getstatusoutput('hg id -i') + # if status: + # print >> sys.stderr, output + # sys.exit(1) + + # The temporary hack: + status, output = commands.getstatusoutput('hg parents --template "{rev}"') + if status: + print >> sys.stderr, output + sys.exit(1) + lines = output.splitlines() + if len(lines) > 1: + print >> sys.stderr, 'ERROR: working directory has %d parents' % len(lines) + return lines[0] + +def using_svn(): + return os.path.isdir(os.path.join(get_src_root(), '.svn')) + +def using_hg(): + return os.path.isdir(os.path.join(get_src_root(), '.hg')) diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h index 23e39ceb08f0f02d5848c45f2cf7d0e56d485b2d..e9e21cffb6950315ffa025a605bc63c2a3f399e6 100644 --- a/indra/llcommon/llversionserver.h +++ b/indra/llcommon/llversionserver.h @@ -36,7 +36,7 @@ const S32 LL_VERSION_MAJOR = 1; const S32 LL_VERSION_MINOR = 29; const S32 LL_VERSION_PATCH = 0; -const S32 LL_VERSION_BUILD = 0; +const S32 LL_VERSION_BUILD = 2425; const char * const LL_CHANNEL = "Second Life Server"; diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 45810a101d66b711ba7b4006e7f0342234008133..04cf98ce19c6464a425945fc33d5f9a7544de03c 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -36,7 +36,7 @@ const S32 LL_VERSION_MAJOR = 2; const S32 LL_VERSION_MINOR = 0; const S32 LL_VERSION_PATCH = 0; -const S32 LL_VERSION_BUILD = 0; +const S32 LL_VERSION_BUILD = 2425; const char * const LL_CHANNEL = "Second Life 2009"; diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp index a4304596de59a05aed4cebff37404d57a6079edd..a403c44b71f92c9cea4887c796993977bb4b3d6f 100644 --- a/indra/llmessage/llcachename.cpp +++ b/indra/llmessage/llcachename.cpp @@ -551,7 +551,7 @@ BOOL LLCacheName::getGroupName(const LLUUID& id, std::string& group) // This is a little bit kludgy. LLCacheNameCallback is a slot instead of a function pointer. // The reason it is a slot is so that the legacy get() function below can bind an old callback // and pass it as a slot. The reason it isn't a boost::function is so that trackable behavior -// deson't get lost. As a result, we have to bind the slot to a signal to call it, even when +// doesn't get lost. As a result, we have to bind the slot to a signal to call it, even when // we call it immediately. -Steve // NOTE: Even though passing first and last name is a bit of extra overhead, it eliminates the // potential need for any parsing should any code need to handle first and last name independently. diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings index 735424c64787ac02ecb5a4944adee4c8aab6efe2..28853ba032ecf9c6080571f3c3b989acf6aa7753 100644 --- a/indra/newview/English.lproj/InfoPlist.strings +++ b/indra/newview/English.lproj/InfoPlist.strings @@ -2,6 +2,6 @@ CFBundleName = "Second Life"; -CFBundleShortVersionString = "Second Life version 2.0.0.0"; -CFBundleGetInfoString = "Second Life version 2.0.0.0, Copyright 2004-2009 Linden Research, Inc."; +CFBundleShortVersionString = "Second Life version 2.0.0.2425"; +CFBundleGetInfoString = "Second Life version 2.0.0.2425, Copyright 2004-2009 Linden Research, Inc."; diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist index 7264044d37c0a3c3bddc7a599cd99d43150fdd06..c0a33feaeca0c4c7e887c09cc39d1a4f689702f1 100644 --- a/indra/newview/Info-SecondLife.plist +++ b/indra/newview/Info-SecondLife.plist @@ -32,7 +32,7 @@ </dict> </array> <key>CFBundleVersion</key> - <string>2.0.0.0</string> + <string>2.0.0.2425</string> <key>CSResourcesFileMapped</key> <true/> </dict> diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc index 87a8bd5787a2e240630222c819a5fcb3511cbfab..a5ee78df2c48ba7b894ad3245ae7afa4a2e85b0b 100644 --- a/indra/newview/res/viewerRes.rc +++ b/indra/newview/res/viewerRes.rc @@ -138,8 +138,8 @@ TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,0,0,0 - PRODUCTVERSION 2,0,0,0 + FILEVERSION 2,0,0,2425 + PRODUCTVERSION 2,0,0,2425 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -156,12 +156,12 @@ BEGIN BEGIN VALUE "CompanyName", "Linden Lab" VALUE "FileDescription", "Second Life" - VALUE "FileVersion", "2.0.0.0" + VALUE "FileVersion", "2.0.0.2425" VALUE "InternalName", "Second Life" VALUE "LegalCopyright", "Copyright © 2001-2008, Linden Research, Inc." VALUE "OriginalFilename", "SecondLife.exe" VALUE "ProductName", "Second Life" - VALUE "ProductVersion", "2.0.0.0" + VALUE "ProductVersion", "2.0.0.2425" END END BLOCK "VarFileInfo" diff --git a/indra/newview/skins/default/xui/da/floater_bulk_perms.xml b/indra/newview/skins/default/xui/da/floater_bulk_perms.xml new file mode 100644 index 0000000000000000000000000000000000000000..77ae7fe060892097cdce8ca386abb61f6a23bdd5 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_bulk_perms.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floaterbulkperms" title="Masse-ændring af rettigheder pÃ¥ indhold"> + <text name="applyto"> + Indholdstyper + </text> + <check_box label="Animationer" name="check_animation"/> + <check_box label="Kropsdele" name="check_bodypart"/> + <check_box label="Tøj" name="check_clothing"/> + <check_box label="Bevægelser" name="check_gesture"/> + <check_box label="Landemærker" name="check_landmark"/> + <check_box label="Noter" name="check_notecard"/> + <check_box label="Objekter" name="check_object"/> + <check_box label="Scripts" name="check_script"/> + <check_box label="Lyde" name="check_sound"/> + <check_box label="Teksturer" name="check_texture"/> + <button label="Vælg alle" label_selected="Alle" name="check_all"/> + <button label="Fravælg alle" label_selected="Ingen" name="check_none"/> + <text name="newperms"> + Nye rettigheder + </text> + <check_box label="Del med gruppe" name="share_with_group"/> + <check_box label="Tillad enhver at kopiere" name="everyone_copy"/> + <text name="NextOwnerLabel"> + Næste ejer kan: + </text> + <check_box label="Redigere" name="next_owner_modify"/> + <check_box label="Kopiére" name="next_owner_copy"/> + <check_box label="Sælge/Give væk" name="next_owner_transfer"/> + <button label="Hjælp" name="help"/> + <button label="Gem" name="apply"/> + <button label="Luk" name="close"/> + <string name="nothing_to_modify_text"> + Valgte indeholder ikke noget som kan redigeres. + </string> + <string name="status_text"> + Sætter rettigheder pÃ¥ [NAME] + </string> + <string name="start_text"> + PÃ¥begynder forespørgsel pÃ¥ rettighedsændringer... + </string> + <string name="done_text"> + Afsluttet forespørgsel pÃ¥ rettighedsændringer. + </string> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_font_test.xml b/indra/newview/skins/default/xui/da/floater_font_test.xml new file mode 100644 index 0000000000000000000000000000000000000000..7d8ef1b310566220ac5a97ab2387fdf888db5483 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_font_test.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="contents" title="Font test"> + <text name="linea"> + OverrideTest, skal vises her som fonten 'Times'. (Fra default/xui/en-us) + </text> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_perm_prefs.xml b/indra/newview/skins/default/xui/da/floater_perm_prefs.xml new file mode 100644 index 0000000000000000000000000000000000000000..f4b9b0a664e3e786a9294ce5a9a49ee3f0df4380 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_perm_prefs.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="perm prefs" title="Standard tilladelser ved hentning"> + <panel label="Tilladelser" name="permissions"> + <button label="?" label_selected="?" name="help"/> + <check_box label="Del med gruppe" name="share_with_group"/> + <check_box label="Tillad enhver at kopiere" name="everyone_copy"/> + <text name="NextOwnerLabel"> + Næste ejer kan: + </text> + <check_box label="Redigere" name="next_owner_modify"/> + <check_box label="Kopiére" name="next_owner_copy"/> + <check_box label="Sælge/Give væk" name="next_owner_transfer"/> + </panel> + <button label="OK" label_selected="OK" name="ok"/> + <button label="Annullér" label_selected="Annullér" name="cancel"/> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_statistics.xml b/indra/newview/skins/default/xui/da/floater_statistics.xml new file mode 100644 index 0000000000000000000000000000000000000000..0443553d5091e5d802171d0891be32c214c28c66 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_statistics.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="stats floater" title="Statistik"/> diff --git a/indra/newview/skins/default/xui/da/menu_mini_map.xml b/indra/newview/skins/default/xui/da/menu_mini_map.xml new file mode 100644 index 0000000000000000000000000000000000000000..2a711dc5be1060074d80394d9c6e4cbc0e6f68c0 --- /dev/null +++ b/indra/newview/skins/default/xui/da/menu_mini_map.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<menu name="popup"> + <menu_item_call label="Zoom tæt" name="Zoom Close"/> + <menu_item_call label="Zoom mellem" name="Zoom Medium"/> + <menu_item_call label="Zoom langt" name="Zoom Far"/> + <menu_item_call label="Stop Tracking" name="Stop Tracking"/> + <menu_item_call label="Profil..." name="Profile"/> +</menu> diff --git a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml index d7736832a3594355118fba903bb23adee3426abf..a34b00544819d2fda4d97b48c6375fecc19719ff 100644 --- a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml +++ b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml @@ -1,8 +1,8 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<filter_editor select_on_focus="true" - background_image_disabled="TextField_Search_Disabled" - background_image_focused="TextField_Search_Active"> - <clear_filter_button label="" - image_unselected="Icon_Close_Foreground" - image_selected="Icon_Close_Press" /> -</filter_editor> +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<filter_editor select_on_focus="true" + background_image_disabled="TextField_Search_Disabled" + background_image_focused="TextField_Search_Active"> + <clear_filter_button label="" + image_unselected="Icon_Close_Foreground" + image_selected="Icon_Close_Press" /> +</filter_editor> diff --git a/indra/newview/skins/default/xui/en/widgets/list_view.xml b/indra/newview/skins/default/xui/en/widgets/list_view.xml index c66aeb57a0da8b7464ea83839d60e3967eac8667..2e976bc7556dafcbbbbf62aacaf4724fce393a60 100644 --- a/indra/newview/skins/default/xui/en/widgets/list_view.xml +++ b/indra/newview/skins/default/xui/en/widgets/list_view.xml @@ -1,6 +1,6 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<list_view - fg_selected_color="ListViewSelectedFgColor" - bg_selected_color="ListViewSelectedBgColor" - bg_color="ListViewBgColor" - /> +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<list_view + fg_selected_color="ListViewSelectedFgColor" + bg_selected_color="ListViewSelectedBgColor" + bg_color="ListViewBgColor" + /> diff --git a/indra/newview/skins/default/xui/en/widgets/split_button.xml b/indra/newview/skins/default/xui/en/widgets/split_button.xml index b0367b599b66efc85e912949515e0dc27672f291..c0d3c6d7f6f58cc5347a78a3eea3ae982a1c7911 100644 --- a/indra/newview/skins/default/xui/en/widgets/split_button.xml +++ b/indra/newview/skins/default/xui/en/widgets/split_button.xml @@ -1,24 +1,24 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<split_button - font="SansSerifSmall" - arrow_position="left" - follows="right|top"> - <split_button.arrow_button - name="Arrow Button" - label="" - font="SansSerifSmall" - scale_image="true" - image_selected="camera_presets/camera_presets_arrow.png" - image_unselected="camera_presets/camera_presets_arrow.png" - image_disabled_selected="camera_presets/camera_presets_arrow.png" - image_disabled="camera_presets/camera_presets_arrow.png" - width="10"/> - <split_button.items_panel - background_visible="true" - border="true" - bg_alpha_color="1 1 1 1" - bg_opaq_color="1 1 1 1" - layout="topleft" - name="item_buttons" - /> -</split_button> +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<split_button + font="SansSerifSmall" + arrow_position="left" + follows="right|top"> + <split_button.arrow_button + name="Arrow Button" + label="" + font="SansSerifSmall" + scale_image="true" + image_selected="camera_presets/camera_presets_arrow.png" + image_unselected="camera_presets/camera_presets_arrow.png" + image_disabled_selected="camera_presets/camera_presets_arrow.png" + image_disabled="camera_presets/camera_presets_arrow.png" + width="10"/> + <split_button.items_panel + background_visible="true" + border="true" + bg_alpha_color="1 1 1 1" + bg_opaq_color="1 1 1 1" + layout="topleft" + name="item_buttons" + /> +</split_button> diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 91c091283ab2b05cf442f771ad565338012b7b51..bb48e8e572064cbcc240cdf35797e375aedf47fc 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -408,9 +408,16 @@ def package_finish(self): self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile)) # self.remove(self.dst_path_of(tempfile)) # If we're on a build machine, sign the code using our Authenticode certificate. JC - sign_py = 'C:\\buildscripts\\code-signing\\sign.py' + sign_py = os.path.expandvars("${SIGN}") + if not sign_py or sign_py == "${SIGN}": + sign_py = 'C:\\buildscripts\\code-signing\\sign.py' + else: + sign_py = sign_py.replace('\\', '\\\\\\\\') + python = os.path.expandvars("${PYTHON}") + if not python or python == "${PYTHON}": + python = 'python' if os.path.exists(sign_py): - self.run_command(sign_py + ' ' + self.dst_path_of(installer_file)) + self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of(installer_file).replace('\\', '\\\\\\\\'))) else: print "Skipping code signing,", sign_py, "does not exist" self.created_path(self.dst_path_of(installer_file)) diff --git a/scripts/update_version_files.py b/scripts/update_version_files.py index 9081941521709e01df401be093179d5a7017f32f..ee1ce69a15bb5d865f3f6c6a4e0a647e15b23b43 100755 --- a/scripts/update_version_files.py +++ b/scripts/update_version_files.py @@ -241,23 +241,17 @@ def main(): if update_server: server_version = new_version else: - # Assume we're updating just the build number - cl = '%s info "%s"' % (svn, src_root) - status, output = _getstatusoutput(cl) - if verbose: - print - print "svn info output:" - print "----------------" - print output - - branch_match = svn_branch_re.search(output) - revision_match = svn_revision_re.search(output) - if not branch_match or not revision_match: - print "Failed to execute svn info, output follows:" - print output + + if llversion.using_svn(): + revision = llversion.get_svn_revision() + branch = llversion.get_svn_branch() + elif llversion.using_hg(): + revision = llversion.get_hg_changeset() + branch = llversion.get_hg_repo() + else: + print >>sys.stderr, "ERROR: could not determine revision and branch" return -1 - branch = branch_match.group(1) - revision = revision_match.group(1) + if skip_on_branch_re and skip_on_branch_re.match(branch): print "Release Candidate Build, leaving version files untouched." return 0