Commit graph

8 commits

Author SHA1 Message Date
Robert Knight
ef6809e0fe Fix updater cleanup of temporary directory on Windows
* On Windows FileOps::removeFile() fails for updater.exe
   since that file is in use by the current process.

   Whilst it is not possible to remove the file whilst it
   is in use, it can be moved or scheduled for deletion on reboot.

   This commit changes FilesOps::removeFile() to simulate the
   behavior of unlink() on Linux by moving in-use files to
   a temporary directory and then scheduling for them to
   be removed on restart.
2011-08-26 12:55:09 +01:00
Robert Knight
c1a5cce3da Convert Qt permission flags (from QFile::Permissions) to Unix mode_t flags.
This fixes the permissions set on files by the updater.
2011-08-22 10:01:25 +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
55ebb233cb Add FileOps method to get the canonical path for a file and the Unix implementation. 2011-08-21 21:50:20 +01:00
Robert Knight
44c1937d96 Implement temp package directory removal on Unix. Untested. 2011-08-20 12:11:05 +01:00
Robert Knight
ceb3b7d6a0 Add more detailed information to any file I/O errors and return true from FileOps::removeFile() if the file does not exist. 2011-08-20 00:46:07 +01:00
Robert Knight
0a6630bc8c Add the core logic for installing and uninstalling files in UpdateInstaller 2011-08-19 21:03:10 +01:00
Robert Knight
66ade327db WIP - Standalone update installer with no dependency on Qt 2011-08-19 19:59:21 +01:00