diff options
| -rwxr-xr-x | BuildParams | 15 | ||||
| -rwxr-xr-x | build.sh | 28 | ||||
| -rwxr-xr-x | doc/contributions.txt | 6 | ||||
| -rwxr-xr-x | indra/lib/python/indra/util/llmanifest.py | 87 | ||||
| -rw-r--r-- | indra/llcommon/llversionviewer.h | 41 | ||||
| -rwxr-xr-x | indra/llwindow/llwindowmacosx-objc.h | 5 | ||||
| -rwxr-xr-x | indra/newview/llfloaterpreference.cpp | 5 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/de/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/menu_viewer.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/panel_preferences_move.xml | 12 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/es/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/fr/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/it/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/ja/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/pt/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/ru/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/tr/strings.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 62 | 
19 files changed, 196 insertions, 85 deletions
| diff --git a/BuildParams b/BuildParams index 9752e5298d..31e7e841ad 100755 --- a/BuildParams +++ b/BuildParams @@ -27,9 +27,6 @@ Linux.distcc_version =  Linux.gcc_version = /usr/bin/gcc-4.6  Linux.cxx_version = /usr/bin/g++-4.6 -# Setup default sourceid so Windows can pick up the TeamCity override -sourceid = "" -  ################################################################  ####      Examples of how to set the viewer_channel         ####  # @@ -50,6 +47,18 @@ sourceid = ""  ################################################################  viewer_channel = "Second Life Test" +# Setup default packaging parameters. +sourceid = "" +additional_packages = "Amazon Desura B C" +Amazon_sourceid = "1207v_Amazon" +Amazon_viewer_channel_suffix = " Amazon" +Desura_sourceid = "1208_desura" +Desura_viewer_channel_suffix = " Desura" +B_sourceid = "1301_B" +B_viewer_channel_suffix = " B" +C_sourceid = "1302_C" +C_viewer_channel_suffix = " C" +  # Report changes since...  viewer-development.show_changes_since = last_sprint @@ -38,22 +38,22 @@ build_dir_CYGWIN()  installer_Darwin()  { -  ls -1td "$(build_dir_Darwin ${last_built_variant:-Release})/newview/"*.dmg 2>/dev/null | sed 1q +  ls -1tr "$(build_dir_Darwin ${last_built_variant:-Release})/newview/"*"$additional_package_name"*.dmg 2>/dev/null | sed 1q  }  installer_Linux()  { -  ls -1td "$(build_dir_Linux ${last_built_variant:-Release})/newview/"*.tar.bz2 2>/dev/null | sed 1q +  ls -1tr "$(build_dir_Linux ${last_built_variant:-Release})/newview/"*"$additional_package_name"*.tar.bz2 2>/dev/null | grep -v symbols | sed 1q  }  installer_CYGWIN()  {    v=${last_built_variant:-Release}    d=$(build_dir_CYGWIN $v) -  if [ -r "$d/newview/$v/touched.bat" ] +  if [ -r "$d/newview/$additional_package_name$v/touched.bat" ]    then -    p=$(sed 's:.*=::' "$d/newview/$v/touched.bat") -    echo "$d/newview/$v/$p" +    p=$(sed 's:.*=::' "$d/newview/$additional_package_name$v/touched.bat") +    echo "$d/newview/$additional_package_name$v/$p"    fi  } @@ -355,10 +355,28 @@ then        # Coverity doesn't package, so it's ok, anything else is fail        succeeded=$build_coverity      else +      # Upload base package.        upload_item installer "$package" binary/octet-stream        upload_item quicklink "$package" binary/octet-stream        [ -f $build_dir/summary.json ] && upload_item installer $build_dir/summary.json text/plain +      # Upload additional packages. +      for package_id in $additional_packages +      do +        case $arch in +        CYGWIN) export additional_package_name="$package_id/" ;; +        *) export additional_package_name=$package_id ;; +        esac +        package=$(installer_$arch) +        if [ x"$package" != x ] +        then +          upload_item installer "$package" binary/octet-stream +        else +          record_failure "Failed to upload $package_id package." +        fi +      done +      export additional_package_name="" +        case "$last_built_variant" in        Release)          # Upload crash reporter files diff --git a/doc/contributions.txt b/doc/contributions.txt index 0c7ba24712..99527c0587 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -310,6 +310,7 @@ Cinder Roxley      OPEN-185      STORM-1703  	STORM-1948 +    STORM-1888      STORM-1958      STORM-1952      STORM-1951 @@ -688,6 +689,7 @@ Kagehi Kohn  Kaimen Takahe  Katharine Berry  	STORM-1900 +    OPEN-149  	STORM-1940      OPEN-149  	STORM-1941 @@ -938,6 +940,7 @@ Nicky Dasmijn  	STORM-1936  	BUG-3605  	CHUIBUG-197 +	OPEN-187  	STORM-1937  	OPEN-187  Nicky Perian @@ -1136,6 +1139,7 @@ Slee Mayo  snowy Sidran  Sovereign Engineer      MAINT-2334 +    OPEN-189  SpacedOut Frye  	VWR-34  	VWR-45 @@ -1304,6 +1308,7 @@ Westley Streeter  Whimsy Winx  Whirly Fizzle  	STORM-1895 +	VWR-29543  	MAINT-873  	STORM-1930  Whoops Babii @@ -1367,6 +1372,7 @@ YongYong Francois  Zak Westminster  Zai Lynch  	VWR-19505 +    STORM-1902  Zana Kohime  Zaren Alexander  Zarkonnen Decosta diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py index 54049b5545..52b4acbc94 100755 --- a/indra/lib/python/indra/util/llmanifest.py +++ b/indra/lib/python/indra/util/llmanifest.py @@ -224,15 +224,98 @@ def main():      for opt in args:          print "Option:", opt, "=", args[opt] +    # pass in sourceid as an argument now instead of an environment variable +    try: +        args['sourceid'] = os.environ["sourceid"] +    except KeyError: +        args['sourceid'] = "" + +    # Build base package. +    touch = args.get('touch') +    if touch: +        print 'Creating base package' +    args['package_id'] = "" # base package has no package ID      wm = LLManifest.for_platform(args['platform'], args.get('arch'))(args)      wm.do(*args['actions']) - +    # Store package file for later if making touched file. +    base_package_file = "" +    if touch: +        print 'Created base package ', wm.package_file +        base_package_file = "" + wm.package_file + +    # handle multiple packages if set +    try: +        additional_packages = os.environ["additional_packages"] +    except KeyError: +        additional_packages = "" +    if additional_packages: +        # Determine destination prefix / suffix for additional packages. +        base_dest_postfix = args['dest'] +        base_dest_prefix = "" +        base_dest_parts = args['dest'].split(os.sep) +        if len(base_dest_parts) > 1: +            base_dest_postfix = base_dest_parts[len(base_dest_parts) - 1] +            base_dest_prefix = base_dest_parts[0] +            i = 1 +            while i < len(base_dest_parts) - 1: +                base_dest_prefix = base_dest_prefix + os.sep + base_dest_parts[i] +                i = i + 1 +        # Determine touched prefix / suffix for additional packages. +        base_touch_postfix = "" +        base_touch_prefix = "" +        if touch: +            base_touch_postfix = touch +            base_touch_parts = touch.split('/') +            if "arwin" in args['platform']: +                if len(base_touch_parts) > 1: +                    base_touch_postfix = base_touch_parts[len(base_touch_parts) - 1] +                    base_touch_prefix = base_touch_parts[0] +                    i = 1 +                    while i < len(base_touch_parts) - 1: +                        base_touch_prefix = base_touch_prefix + '/' + base_touch_parts[i] +                        i = i + 1 +            else: +                if len(base_touch_parts) > 2: +                    base_touch_postfix = base_touch_parts[len(base_touch_parts) - 2] + '/' + base_touch_parts[len(base_touch_parts) - 1] +                    base_touch_prefix = base_touch_parts[0] +                    i = 1 +                    while i < len(base_touch_parts) - 2: +                        base_touch_prefix = base_touch_prefix + '/' + base_touch_parts[i] +                        i = i + 1 +        # Store base channel name. +        base_channel_name = args['channel'] +        # Build each additional package. +        package_id_list = additional_packages.split(" ") +        for package_id in package_id_list: +            try: +                args['package_id'] = package_id +                args['channel'] = base_channel_name + os.environ[package_id + "_viewer_channel_suffix"] +                if package_id + "_sourceid" in os.environ: +                    args['sourceid'] = os.environ[package_id + "_sourceid"] +                else: +                    args['sourceid'] = "" +                args['dest'] = base_dest_prefix + os.sep + package_id + os.sep + base_dest_postfix +            except KeyError: +                sys.stderr.write("Failed to create package for package_id: %s" % package_id) +                sys.stderr.flush() +                continue +            if touch: +                print 'Creating additional package for ', package_id, ' in ', args['dest'] +            wm = LLManifest.for_platform(args['platform'], args.get('arch'))(args) +            wm.do(*args['actions']) +            if touch: +                print 'Created additional package ', wm.package_file, ' for ', package_id +                faketouch = base_touch_prefix + '/' + package_id + '/' + base_touch_postfix +                fp = open(faketouch, 'w') +                fp.write('set package_file=%s\n' % wm.package_file) +                fp.close() +          # Write out the package file in this format, so that it can easily be called      # and used in a .bat file - yeah, it sucks, but this is the simplest...      touch = args.get('touch')      if touch:          fp = open(touch, 'w') -        fp.write('set package_file=%s\n' % wm.package_file) +        fp.write('set package_file=%s\n' % base_package_file)          fp.close()          print 'touched', touch      return 0 diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h deleted file mode 100644 index 6a5ff314e4..0000000000 --- a/indra/llcommon/llversionviewer.h +++ /dev/null @@ -1,41 +0,0 @@ -/**  - * @file llversionviewer.h - * @brief - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLVERSIONVIEWER_H -#define LL_LLVERSIONVIEWER_H - -const S32 LL_VERSION_MAJOR = 3; -const S32 LL_VERSION_MINOR = 4; -const S32 LL_VERSION_PATCH = 6; -const S32 LL_VERSION_BUILD = 0; - -const char * const LL_CHANNEL = "Second Life Developer"; - -#if LL_DARWIN -const char * const LL_VERSION_BUNDLE_ID = "com.secondlife.indra.viewer"; -#endif - -#endif diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h index 2cae6f3f72..81b25601a9 100755 --- a/indra/llwindow/llwindowmacosx-objc.h +++ b/indra/llwindow/llwindowmacosx-objc.h @@ -25,6 +25,9 @@   * $/LicenseInfo$   */ +#ifndef LL_LLWINDOWMACOSX_OBJC_H +#define LL_LLWINDOWMACOSX_OBJC_H +  #include <map>  #include <vector> @@ -144,3 +147,5 @@ NSWindowRef getMainAppWindow();  GLViewRef getGLView();  unsigned int getModifiers(); + +#endif // LL_LLWINDOWMACOSX_OBJC_H diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 1969435ba1..87ae36716d 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -618,9 +618,12 @@ void LLFloaterPreference::cancel()  	// hide translation settings floater  	LLFloaterReg::hideInstance("prefs_translation"); -	// hide translation settings floater +	// hide autoreplace settings floater  	LLFloaterReg::hideInstance("prefs_autoreplace"); +	// hide spellchecker settings folder +	LLFloaterReg::hideInstance("prefs_spellchecker"); +	  	// cancel hardware menu  	LLFloaterHardwareSettings* hardware_settings = LLFloaterReg::getTypedInstance<LLFloaterHardwareSettings>("prefs_hardware_settings");  	if (hardware_settings) diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index c8c20424e1..4268b95370 100755 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -1274,7 +1274,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index da3ea9bd4c..d635b8ee93 100755 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -197,7 +197,7 @@           name="Preferences"           shortcut="control|P">              <menu_item_call.on_click -             function="Floater.Show" +             function="Floater.Toggle"               parameter="preferences" />          </menu_item_call>           <menu_item_call diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml index d9067b41c7..8794e3bf95 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml @@ -129,6 +129,16 @@     name="tap_tap_hold_to_run"     width="237"     top_pad="0"/> +  <check_box +   control_name="AutomaticFly" +   follows="left|top" +   height="20" +   label="Hold jump or crouch key to start or stop flying" +   layout="topleft" +   left_delta="0" +   name="automatic_fly" +   width="237" +   top_pad="0"/>    <text     follows="left|top"     type="string" @@ -260,4 +270,4 @@       function="Floater.Show"       parameter="pref_joystick" />    </button> -</panel>
\ No newline at end of file +</panel> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 4d7daa1b51..8ac95beddb 100755 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2193,7 +2193,7 @@ For AI Character: Get the closest navigable point to the point provided.  	<string name="InventoryNoTexture">You do not have a copy of this texture in your inventory</string>  	<string name="InventoryInboxNoItems">Your Marketplace purchases will appear here. You may then drag them into your inventory to use them.</string>  	<string name="MarketplaceURL">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/</string> -	<string name="MarketplaceURL_CreateStore">http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4</string> +	<string name="MarketplaceURL_CreateStore">http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3</string>  	<string name="MarketplaceURL_Dashboard">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard</string>  	<string name="MarketplaceURL_Imports">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/imports</string>  	<string name="MarketplaceURL_LearnMore">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/learn_more</string> diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 4686d1ed3a..484511a08b 100755 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -1256,7 +1256,7 @@ Intenta iniciar sesión de nuevo en unos instantes.  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 346fa62351..78d846ff4f 100755 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -1274,7 +1274,7 @@ Veuillez réessayer de vous connecter dans une minute.  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 160df911d3..60ed2b0929 100755 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -1265,7 +1265,7 @@ Prova ad accedere nuovamente tra un minuto.  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index ab2fd461ab..a0f45e5a55 100755 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -1274,7 +1274,7 @@ support@secondlife.com にお問い合わせください。  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index adc3ee14e0..2eb4c0a02e 100755 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -1220,7 +1220,7 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml index 49ce33ec96..0f71edcee0 100755 --- a/indra/newview/skins/default/xui/ru/strings.xml +++ b/indra/newview/skins/default/xui/ru/strings.xml @@ -1271,7 +1271,7 @@ support@secondlife.com.  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml index 5a809ea783..c4b1530b2b 100755 --- a/indra/newview/skins/default/xui/tr/strings.xml +++ b/indra/newview/skins/default/xui/tr/strings.xml @@ -1271,7 +1271,7 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/  	</string>  	<string name="MarketplaceURL_CreateStore"> -		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 +		http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.3  	</string>  	<string name="MarketplaceURL_Dashboard">  		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 19863dd845..894e368427 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -104,26 +104,37 @@ class ViewerManifest(LLManifest):                      self.path("dictionaries")                      self.end_prefix(pkgdir) -                # CHOP-955: If we have "sourceid" in the build process -                # environment, generate it into settings_install.xml. -                try: -                    sourceid = os.environ["sourceid"] -                except KeyError: -                    # no sourceid, no settings_install.xml file -                    pass -                else: -                    if sourceid: -                        # Single-entry subset of the LLSD content of settings.xml -                        content = dict(sourceid=dict(Comment='Identify referring agency to Linden web servers', -                                                     Persist=1, -                                                     Type='String', -                                                     Value=sourceid)) -                        # put_in_file(src=) need not be an actual pathname; it -                        # only needs to be non-empty -                        settings_install = self.put_in_file(llsd.format_pretty_xml(content), -                                                            "settings_install.xml", -                                                            src="environment") -                        print "Put sourceid '%s' in %s" % (sourceid, settings_install) +                # CHOP-955: If we have "sourceid" or "viewer_channel" in the +                # build process environment, generate it into +                # settings_install.xml. +                settings_template = dict( +                    sourceid=dict(Comment='Identify referring agency to Linden web servers', +                                  Persist=1, +                                  Type='String', +                                  Value=''), +                    CmdLineChannel=dict(Comment='Command line specified channel name', +                                        Persist=0, +                                        Type='String', +                                        Value='')) +                settings_install = {} +                for key, setting in (("sourceid", "sourceid"), +                                     ("channel", "CmdLineChannel")): +                    if key in self.args: +                        # only set if value is non-empty +                        if self.args[key]: +                            # copy corresponding setting from settings_template +                            settings_install[setting] = settings_template[setting].copy() +                            # then fill in Value +                            settings_install[setting]["Value"] = self.args[key] +                            print "Put %s '%s' in settings_install.xml" % (setting, self.args[key]) + +                # did we actually copy anything into settings_install dict? +                if settings_install: +                    # put_in_file(src=) need not be an actual pathname; it +                    # only needs to be non-empty +                    self.put_in_file(llsd.format_pretty_xml(settings_install), +                                     "settings_install.xml", +                                     src="environment")                  self.end_prefix("app_settings") @@ -611,6 +622,9 @@ class WindowsManifest(ViewerManifest):              installer_file = self.args['installer_name']          else:              installer_file = installer_file % substitution_strings +        if len(self.args['package_id']) > 0: +            installer_file = installer_file.replace(self.args['package_id'], "") +            installer_file = installer_file.replace(".exe", self.args['package_id'] + ".exe")          substitution_strings['installer_file'] = installer_file          tempfile = "secondlife_setup_tmp.nsi" @@ -838,7 +852,9 @@ class DarwinManifest(ViewerManifest):          volname="Second Life Installer"  # DO NOT CHANGE without understanding comment above -        if self.default_channel(): +        if len(self.args['package_id']) > 0: +            imagename = imagename + self.args['package_id'] +        elif self.default_channel():              if not self.default_grid():                  # beta case                  imagename = imagename + '_' + self.args['grid'].upper() @@ -851,7 +867,7 @@ class DarwinManifest(ViewerManifest):          # make sure we don't have stale files laying about          self.remove(sparsename, finalname) -        self.run_command('hdiutil create %(sparse)r -volname %(vol)r -fs HFS+ -type SPARSE -megabytes 700 -layout SPUD' % { +        self.run_command('hdiutil create %(sparse)r -volname %(vol)r -fs HFS+ -type SPARSE -megabytes 1000 -layout SPUD' % {                  'sparse':sparsename,                  'vol':volname}) @@ -926,6 +942,7 @@ class DarwinManifest(ViewerManifest):          print "Converting temp disk image to final disk image"          self.run_command('hdiutil convert %(sparse)r -format UDZO -imagekey zlib-level=9 -o %(final)r' % {'sparse':sparsename, 'final':finalname}) +        self.run_command('hdiutil internet-enable -yes %(final)r' % {'final':finalname})          # get rid of the temp file          self.package_file = finalname          self.remove(sparsename) @@ -998,6 +1015,7 @@ class LinuxManifest(ViewerManifest):                      installer_name += '_' + self.args['grid'].upper()              else:                  installer_name += '_' + self.channel_oneword().upper() +        installer_name = installer_name + self.args['package_id']          self.strip_binaries() | 
