Commit graph

14 commits

Author SHA1 Message Date
Robert Knight
d7ecf3722a Implement ProcessUtils::runAsync() and ProcessUtils::currentProcessPath() on Win32 2011-08-22 18:02:18 +01:00
Robert Knight
fc6101a9ec Add ProcessUtils::runSync() stub for Windows and fix compilation of waitForProcess() 2011-08-22 15:51:15 +01:00
Robert Knight
28b9d50f0a Update the TODO file after Mac testing and make a note that elevation on Mac only works when running the app directly on the Mac (as opposed to over an SSH session). 2011-08-22 14:55:31 +01:00
Robert Knight
8149afd091 Implement ProcessUtils::currentProcessPath() on Mac
This allows the basic updater unit test to pass.
2011-08-22 14:44:16 +01:00
Robert Knight
4d7ddc91d9 Merge branch 'master' of ssh://gitweb/git/desktop/standalone-updater 2011-08-22 14:39:17 +01:00
Robert Knight
07ed391080 Fix incorrect buffer size calculation in ProcessUtils::runAsyncUnix()
The buffer needs one entry for the executable path, args.size()
  args for the supplied arguments and one further entry for the null
  terminator.
2011-08-22 14:37:39 +01:00
Robert Knight
9516887d48 Fix ProcessUtils compilation on Mac
* Enable the Security framework
 * Fix variable names in ProcessUtils::runElevatedMac()
2011-08-22 14:20:26 +01:00
Robert Knight
9a0bee0358 Implement elevation under Linux using one of kdesudo, gksudo or gksu
* Add FileOps::fileName() to get the base name for a file
 * Add ProcessUtils::runSync() to run a process, wait for it to exit and then
   return the status code from that process.
 * Change ProcessUtils::runAsyncUnix() to use execvp() in order to search PATH
   for the specified binary if the filename is not absolute.
2011-08-22 00:32:33 +01:00
Robert Knight
7c7428a4af Log process ID of child processes launched by ProcessUtils::runAsync() 2011-08-21 23:03:49 +01:00
Robert Knight
5f3745351f Get launching of the main update installer process working in the case where elevation is not required.
* Add ProcessUtils::currentProcessPath() to get the path to the current application
   and add a Linux implementation.
 * Implement ProcessUtils::runAsync() on Unix using fork/execve.
 * Setup updater to run the main installation phase with the correct arguments.
 * Add '.zip' to the package name to get the path of the package file.
2011-08-21 21:51:29 +01:00
Robert Knight
8e47110231 Add code to launch applications with elevated priviledges on Mac from the old updater. 2011-08-20 12:52:22 +01:00
Robert Knight
8df91a76eb Display a more helpful error message if waitpid() fails in ProcessUtils::waitForProcess() 2011-08-20 00:49:41 +01:00
Robert Knight
e3cec64375 Implement ProcessUtils::waitForProcess() using code from Qt updater
Also fix a typo in UpdateInstaller::run()
2011-08-19 20:08:42 +01:00
Robert Knight
66ade327db WIP - Standalone update installer with no dependency on Qt 2011-08-19 19:59:21 +01:00