summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2018-10-23DRTVWR-447: Try to defeat scary Mac Gatekeeper popupsNat Goodspeed
by replacing the viewer's baked-in BugsplatMac.framework @rpath path with one based on @executable_path.
2018-10-22DRTVWR-447: Restore copying BugsplatMac.framework into Mac package.Nat Goodspeed
2018-10-18DRTVWR-447: Re-inject BugsplatServerURL into Mac's Info.plist.Nat Goodspeed
2018-10-17DRTVWR-447: Restore MACOSX_EXECUTABLE_NAME, used for Info.plist.Nat Goodspeed
2018-10-17DRTVWR-447: Restore diagnostic output to Mac app bundle packaging.Nat Goodspeed
2018-10-17DRTVWR-447: Merge Oz's logging changesNat Goodspeed
2018-10-17DRTVWR-447: Restore channel-name sensitivity of Mac BugSplat viewer.Nat Goodspeed
2018-10-17DRTVWR-447: Finish merging Poseidon into BugSplatNat Goodspeed
2018-10-17Automated merge with ssh://bitbucket.org/nat_linden/viewer-poseidonNat Goodspeed
2018-10-16DRTVWR-447: Use new attachmentsForBugsplatStartupManager SDK methodNat Goodspeed
to attach user settings file and static debug info file to Mac crash reports, as well as SecondLife.log, just like Windows crash reports.
2018-10-11Modify logging so that the in-viewer console and stderr do not escape line ↵Oz Linden
breaks Improve the implementation so that escaping is computed only once
2018-10-05DRTVWR-474: Add OptionaUpdateReady, PromptOptionalUpdate notifications.Nat Goodspeed
2018-10-04DRTVWR-474: Make login coroutine sync with updater process on failure.Nat Goodspeed
Specifically, introduce an LLEventMailDrop("LoginSync"). When the updater detects that an update is required, it will post to that rendezvous point. When login.cgi responds with login failure, make the login coroutine wait (a few seconds) for that ping from the updater. If we receive that ping and if it contains a "reply" key, make the fail.login listener respond to the updater with an indication of whether to proceed with update. If both login.cgi and the updater concur that an update is required, produce a new confirmation message for the user and then (once user responds) tell the updater to proceed. Otherwise, produce the usual login-failure message and tell the updater never mind. Introduce LLCoro::OverrideConsuming to provide temporary save/restore of the set_consuming() / get_consuming() flag. It's a good idea to set the consuming flag when retrieving data from an LLEventMailDrop.
2018-10-03DRTVWR-474: Do NOT autokill updater process on viewer termination.Nat Goodspeed
The updater is required to survive beyond termination of the viewer that launched it so it can launch the next installer, or a replacement viewer. Having the old viewer forcibly terminate it on shutdown would be counter- productive. Introduce a third LLLeap::create() overload taking LLProcess::Params, which gives access to autokill, cwd and other options previously unsupported by LLLeap. Reimplement the existing create() overloads in terms of this new one, since LLLeapImpl::LLLeapImpl() is already based on LLProcess::Params anyway. Use LLProcess::Params in LLAppViewer::init() to specify the updater process, setting autokill=false. Refactoring LLLeapImpl() apparently involved engaging an LLInitParam::Block feature never before used: had to drag operator() into Multiple from its base class TypedParam (as has been done in other TypedParam subclasses).
2018-09-28DRTVWR-474: Make SkipBenchmark a Persistent settingNat Goodspeed
2018-09-27DRTVWR-474: Pass the leap updater the parameters it requires.Nat Goodspeed
2018-09-26Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2018-09-26Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2018-09-26increment viewer version to 5.1.10Nat Goodspeed
2018-09-24DRTVWR-474: Remove Python autobuild packages and references to them.Nat Goodspeed
We expect the viewer-manager package to be self-contained: we expect it to bring with it any Python packages it requires. We no longer force developers to wrap third-party Python packages as autobuild packages.
2018-09-13DRTVWR-474: Pass updater cmd to LLLeap::create() as vector<string>.Nat Goodspeed
This avoids having to tokenize a single string, avoiding swallowing backslashes in Windows pathnames in the mistaken belief they're escape characters. Alternatively, it avoids us having to double-escape them or convert them to forward slashes or whatever.
2018-09-13DRTVWR-474: Fix path2basename("secondlife.ico") call.Nat Goodspeed
2018-09-13DRTVWR-474: Run the new updater in LEAP mode.Nat Goodspeed
2018-09-13DRTVWR-474: Copy updater and its icons into Mac app's Resources.Nat Goodspeed
2018-09-13DRTVWR-474: Make NSIS installer invoke updater precheck subcommand.Nat Goodspeed
2018-09-13DRTVWR-474: Clean up use of LLDir::getAppRODataDir(), esp. on Mac.Nat Goodspeed
Clearly it's not obvious to maintainers that on the Mac, getAppRODataDir() returns the app's Resources directory: in a number of places the code starts with the executable directory and appends "../Resources" to find that.
2018-09-12DRTVWR-474: $VIEWER_EXE, rather than plain VIEWER_EXENat Goodspeed
2018-09-12DRTVWR-474: Make NSIS run new updater.exe after install.Nat Goodspeed
But change shortcuts and registry entries and everything else back to the real viewer executable, so that every subsequent run directly launches the viewer. Eliminate SL_Launcher references from viewer_manifest.py.
2018-09-11DRTVWR-474, MAINT-9047: Set viewer name in Info.plist, not launcher.Nat Goodspeed
2018-09-11DRTVWR-474: Remove nag about SL_Launcher.Nat Goodspeed
2018-09-11DRTVWR-474, MAINT-9047: Display top-level app bundle in sparseimage.Nat Goodspeed
codesign claims to succeed, but spctl says: /Volumes/Second Life Installer/Second Life Test.app: rejected (the code is valid but does not seem to be an app) Why not? Display what's in Second Life.app/Contents on the mounted sparseimage: show Info.plist, list Frameworks, MacOS, Resources.
2018-09-11DRTVWR-474, MAINT-9047: Make failing spctl command more verbose.Nat Goodspeed
2018-09-11DRTVWR-474, MAINT-9047: Must copy CMake-built viewer for EDU.Nat Goodspeed
2018-09-10DRTVWR-474, MAINT-9047: Try *not* copying the viewer built by CMake.Nat Goodspeed
The start of viewer_manifest.DarwinManifest.construct() is a path() call to copy the whole viewer tree from where CMake constructs it. The comment is: "(this is a no-op if run within the xcode script)." Unfortunately, for unclear reasons, this has recently started nesting Second Life.app within the Second Life.app directory, and even to multiple levels. When that happens, copying the outermost .app directory to the sparseimage in order to convert to dmg runs out of room because we're trying to pack multiple copies of the whole viewer tree into the fixed-size sparseimage. But if it works to simply skip that entire initial copy operation, so much the better.
2018-09-10DRTVWR-474, MAINT-9047: Back out changeset 2ed01671b974.Nat Goodspeed
We'll try to address the Mac app bundle name discrepancy a different way.
2018-09-10by default print location in log filesOz Linden
2018-09-09DRTVWR-474, MAINT-9047: Make viewer_manifest use same bundle name.Nat Goodspeed
2018-09-08DRTVWR-474, MAINT-9047: Restore viewer to top-level Mac app.Nat Goodspeed
The relationship to MAINT-9047 is that we hope this will improve the behavior of Mac code signing.
2018-09-07remove only-partially-successful attempt to put teamcity blocks around targetsOz Linden
2018-09-06make the .app name channel sensitive to match cmakeOz Linden
2018-09-05add more block structure to TeamCity log output for componentsOz Linden
2018-09-05SL-957: Previous commit skipped a couple assignments used later.Nat Goodspeed
2018-09-05SL-957: Don't move viewer executable until final viewer_manifest run.Nat Goodspeed
viewer_manifest is run twice by CMakeLists.txt: once with --actions=copy and once with the default actions copy and package. The fact that we (try to) move the Mac viewer executable both times has confused things on a number of occasions. Currently it's bollixing our attempt to run dsymutil on the executable so we can package up the Mac symbols for both codeticket and BugSplat. Introduce DarwinManifest.is_rearranging() that tests whether either "package" or "unpacked" is in self.args["actions"], echoing an earlier test. Make several things conditional on that, notably moving the executable.
2018-09-04SL-957: Try passing dsymutil the full pathname of VIEWER_APP_EXE.Nat Goodspeed
2018-09-04SL-957: Try being more explicit about VIEWER_APP_DSYM full pathname.Nat Goodspeed
2018-09-04SL-957: Try removing redundant add_custom_command() dependency.Nat Goodspeed
2018-08-31SL-957: Try removing quotes from ${VIEWER_BINARY_NAME} in CMake deps.Nat Goodspeed
2018-08-31SL-957: Name VIEWER_BINARY_NAME directly, not an assigned variable.Nat Goodspeed
If this theory is correct, setting VIEWER_APP_EXECUTABLE to VIEWER_BINARY_NAME and then referencing VIEWER_APP_EXECUTABLE instead of VIEWER_BINARY_NAME confuses CMake as to the filename involved. <eyeroll/>
2018-08-31SL-957: Use tar -C instead of changing tar's WORKING_DIRECTORY.Nat Goodspeed
Seems VIEWER_SYMBOL_FILE arrives from build.sh as a relative pathname, so passing that pathname to tar when we run tar with WORKING_DIRECTORY confuses it. But if we use tar's -C switch, we can achieve the effect we want (no leading directory prefixes in the tarball) without WORKING_DIRECTORY. Thing is, we have to run the desired directory through cygpath first, which is why we went with WORKING_DIRECTORY in the first place.
2018-08-31Merged in MAINT-6291andreykproductengine