#
dfb36b35 |
|
08-Aug-2020 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Installer: fix 'clean install' over existing installation. Whenever the target of an installation is a partition that is not empty, the Installer prompts the user whether they would like to continue with a 'clean installation', i.e. an installation that clears out the system folder, excluding the settings, and cleanly installs the assets in the source's system folder. At all other locations the source data is merged, meaning that the source version is copied in place. The logic that clears out the existing /system/ directory stopped working. This change moves that logic from the copying process, to where it is run before any file is copied. The added advantage is that the system folder is now properly cleaned up, also stray files under the system folder will be removed. This change does not change the logic of what constitutes a 'clean install'. There are arguments to be made that it should potentially also drop the settings files, as well as clean out the user's home folder for stray add-ons, but that really is different functionality, and at this points I think the requirements for that are not yet fleshed out. The change was manually tested. Fixes #16092 Change-Id: Ia6781c8d2330ba336b3921f9a980b5e31c48a2ec Reviewed-on: https://review.haiku-os.org/c/haiku/+/3140 Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>
|
#
3f7f9896 |
|
08-Aug-2020 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Installer: Remove `level` parameter from CopyEngine The level parameter in the CopyEngine::CollectCopyInfo() and CopyEngine::Copy() methods was introduced in hrev30395 to allow the CopyEngine to decide which directories should be copied. Since then, this class has been rewritten and it is no longer necessary for that purpose. This change refactors the CopyEngine and removes the level parameter from the class interface. Furthermore, it was broken to begin with; it was passed as reference to the internal recursive _Copy() and _CollectCopyInfo() methods, meaning they acted like a global counter. The global counter was increased at the beginning and decreased at the end of those methods. Execution could terminate early though, leaving the level counter out of sync with the recursion level. There is one use of the level parameter, namely in the WorkerThread::EntryFilter::ShouldClobberFolder() method, but the use of the parameter was wrong (it would have been at level 3 at the point of the check, not level 2) and the logic is functional without the level check. Change-Id: Id92ef89b015e9b1185bde061273f61e492664bce Reviewed-on: https://review.haiku-os.org/c/haiku/+/3139 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
|
#
d7e2195b |
|
29-Mar-2020 |
Leorize <leorize+oss@disroot.org> |
installer/CopyEngine: don't return values via class states _CollectCopyInfo uses fBytesToCopy and fItemsToCopy for the sole purpose of returning the scan results. This variable in turn was used to add to the amount of files to copy in the progress bar, causing it to grow exponentially with every CollectTargets calls. With the current use case, the variable would have to be reset to 0 everytime CollectTargets is invoked, making it rather useless as a class state. This commit turns those variables into _CollectCopyInfo return values, and also fix the exponential growth of the progress bar target. Fixes #15826 Change-Id: Ib734febfdd8aaaa12fdfac61be124adb61b28f6c Reviewed-on: https://review.haiku-os.org/c/haiku/+/2445 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
bf551d38 |
|
21-Mar-2020 |
Leorize <leorize+oss@disroot.org> |
installer/CopyEngine: now only exposes a Copy() method Previously this class exposes two methods: - CopyFile(): only copy the file data, nothing else. - CopyFolder(): copy files & directories between two folders, while preserving the attributes as well as symlinks. With this commit, everything is unified into one method: Copy(). This method can handle files, directories, symlinks and optionally also copy attributes. Since most of the logic was just moved around, we can be rather certain that this won't disrupt CopyEngine behaviors by much. In the future we should look into using BCopyEngine to replace the copying part of CopyEngine, as they seems to be compatible. This change allows the Installer to make use of CopyEngine as a general-purpose copier, in preparation for optional .hpkg installation support. Change-Id: Iad5ba2ebc9f34b7822e550b415308fd2b43eed47 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2399 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
ba6f7c8c |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: CopyEngine: Pass relative path to EntryFilter ... instead of the file name.
|
#
c2be967e |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: CopyEngine: Externalize decision making * Add interface EntryFilter, an instance of which can be passed to the CopyEngine. The object is asked whether to copy entries/clobber directories. * Move the _ShouldCopyEntry()/_ShouldClobberFolder() code to new WorkerThread::EntryFilter.
|
#
e6c49e10 |
|
19-Mar-2011 |
Stephan Aßmus <superstippi@gmx.de> |
Don't ignore the entire var directory, but rather only the swap file specifically. There is already a TODO in the code for replacing this mechanism with something cleaner and more flexible. Resolves ticket #7367. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41026 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f78035b |
|
25-Apr-2010 |
Jérôme Duval <korli@users.berlios.de> |
Should fix #5806. CollectTargets() is also called for packages, the fVarDirectory init is moved to ResetTargets(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36475 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51f50b12 |
|
19-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Installer cannot use find_directory(), since it needs to support source volumes other than /boot. That's why it worked like it did in the first place. Some folders like "trash" can be volume specific, but most others are not and the volume passed to find_directory() is ignored (which makes sense). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35175 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ff00ae7 |
|
19-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Make the Installer ignore /var at it's new location. The old location is also still checked, in case one uses the Installer to copy an old installation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35173 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
224c9ca6 |
|
18-Sep-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed a warning. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33168 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72586154 |
|
06-Sep-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Finished ProgressReporter * Integrated ProgressReporter into CopyEngine and UnzipEngine. * Integrated unzipping to main installer engine. Since there are currently no .zip files in the _packages_ folder (and not even a _packages_ folder itself), this is completely invisible, but it works. TODO: Adjust the build system to optionally copy packages into _packages_ instead of extracting them. Like for the CD build profile mode. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32967 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e3916f8 |
|
02-Sep-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Extracted SemaphoreLocker into it's own file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32904 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
da268834 |
|
31-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Update the progress bar more often during file copies (every 2 MB instead of every 10, which was not smooth enough). +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32847 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7737cc8 |
|
29-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Changed the somewhat bold BLocker usage to a more straight forward semaphore based mechanism to pause and eventually cancel the WorkerThread. This also works now when the CopyEngine is still collecting file informartion (ticket #4153). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31912 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f76e944e |
|
14-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Fixed problems when installing onto non-empty target volumes. The 'system' folder will be a clean copy of the source volume. Other folders will be merged (as before), but in case a folder is in the way of a link or file from the source volume, it will now be purged. * Clarified the alert for non-empty target volumes, so it is very clear what happens. (Maybe there ought to the be option to only copy the system folder, though.) * Fixed a problem with copying attributes in certain cases. * Fixed the main GUI not resetting state properly after encountering an error during the copy process. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31042 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92cd10f4 |
|
03-May-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Refactored the way targets are collected before copy process begins, this way, the optional packages (if there would be any) can be collected as well before the actual process starts and the progress bar will reflect them correctly. Before this change, the progress bar would have reset itself for every optional package. * In one of my previous commits, I added the error, if there was any, to the reset message. Now the Installer window looks for the error and tells the user about it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30602 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f827b016 |
|
03-May-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Cleanup round 2: Renamed CopyEngine2 back to CopyEngine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30601 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b4afa663 |
|
03-May-2009 |
Stephan Aßmus <superstippi@gmx.de> |
First round of cleanup: * Renamed CopyEngine to WorkerThread, since it's used for other things than just copying. * Removed the code borrowed from Tracker. * Removed the InstallerCopyLoopControl, since the CopyEngine handles notifications and cancelling by itself now. * Renamed a few message constants. * Since we only support BFS partitions as install targets, I removed the FS type from the target menu item label. However, I am going to solve this differently. I guess all partitions should be seen in the target list, just disabled if they are not a valid target, and with a reason given too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30600 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd8ddbc2 |
|
26-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Fixed GCC 4 build and warnings. * Used std::vector in BlockingQueue instead of Ingo's Vector until I can figure out the GCC4 problems. This is untested, but I will test this on another machine in a minute. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b293a3e |
|
25-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Prevent to copy the "var" and "_packages_" folders from the source volume root folder as before switching the CopyEngine. * Add a button "Write Boot Sector" that makes the selected target volume bootable without performing an installation. Adjusted the status message after installation to be more descriptive. * Small improvements in the CopyEngine, collecting the source size should be even a bit faster now since we can use the file size from the already performed stat(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30395 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
803d0234 |
|
25-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Sorry, this is a bit of a mess yet and needs more refactoring... * I've implemented my own copy engine which runs a separate writer thread. Especially when installing from one hard drive to another, it should speed things up. When installing from CD, the entire harddisk write time should at least disappear in the CD read time. When installing from/to the same drive, the new routine is as fast as the Tracker code that was used before. * When stopping/canceling the copy process, the copy engine will now actually block, instead of happily going on while the alert is showing. I've still implemented that to not leave incomplete files around, like before. * There is now a progress bar, based on data bytes in files to copy. Reason being that it's quite fast to collect this info versus also scanning all attributes. * The copy engine itself was used in another project before and was tested with SHA256 hashes of the original files and the copied files, so I think it can be trusted. * There is now a lot of code that can be removed or should be cleaned up. What was the "CopyEngine" should become the "WorkerThread" or something. * I still had a mental TODO about skipping the swap file (there is none on CDs, but when copying a harddisk installation there may be one), I just remembered this when typing this commit message... will fix that next. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30394 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d6a2a65 |
|
18-Aug-2008 |
Jérôme Duval <korli@users.berlios.de> |
* improved error and cancellation handling * only enable Begin button when a menu item has been chosen git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27051 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
87905063 |
|
02-Jun-2008 |
Jérôme Duval <korli@users.berlios.de> |
better handles error and cancellation when copying git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25772 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
739dbdfa |
|
12-May-2008 |
Jérôme Duval <korli@users.berlios.de> |
* Patch from Christian Fasshauer: provides a cancel button * fixed a few things: one couldn't restart the install process when cancelled, use B_QUIT_REQUESTED instead of QuitRequested(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25466 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f3d8cb6 |
|
12-May-2007 |
Jérôme Duval <korli@users.berlios.de> |
code style update now mount the target partition before copying git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21113 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5fa64b5 |
|
01-Feb-2006 |
Jérôme Duval <korli@users.berlios.de> |
some changes : alert if free space isn't enough, set status when mouse is over packages (doesn't work for some reason ...) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16192 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cbdfe279 |
|
23-Jan-2006 |
Jérôme Duval <korli@users.berlios.de> |
reworked a bit to install packages git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16048 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46065378 |
|
20-Jan-2006 |
Jérôme Duval <korli@users.berlios.de> |
actually uses the copyengine looper to handle the copy process git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16011 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebc8a403 |
|
04-Jan-2006 |
Jérôme Duval <korli@users.berlios.de> |
Installer makes use of FSCopyFolder in libtracker.so git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15839 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1eedf230 |
|
26-Oct-2005 |
Jérôme Duval <korli@users.berlios.de> |
now populates menus improved size to string formating for GB and TB git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14531 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a8f53bb |
|
19-Oct-2005 |
Jérôme Duval <korli@users.berlios.de> |
added a SourceVisitor and a TargetVisitor to go through BDiskDevice and BPartition objects git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b461fb1d |
|
18-Oct-2005 |
Jérôme Duval <korli@users.berlios.de> |
added a haiku logo from stippi, thanks! enlarged the window improves widget placement git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
633dee06 |
|
30-Sep-2005 |
Jérôme Duval <korli@users.berlios.de> |
fix packages view, added a copy engine class git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14283 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ba6f7c8c42038755c9017ae014859d016b072580 |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: CopyEngine: Pass relative path to EntryFilter ... instead of the file name.
|
#
c2be967eb9044dd6a57f8ce0f0fde28c3e2e8ab9 |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: CopyEngine: Externalize decision making * Add interface EntryFilter, an instance of which can be passed to the CopyEngine. The object is asked whether to copy entries/clobber directories. * Move the _ShouldCopyEntry()/_ShouldClobberFolder() code to new WorkerThread::EntryFilter.
|
#
e6c49e10f99c49c67971071d288c992ad3948d9d |
|
19-Mar-2011 |
Stephan Aßmus <superstippi@gmx.de> |
Don't ignore the entire var directory, but rather only the swap file specifically. There is already a TODO in the code for replacing this mechanism with something cleaner and more flexible. Resolves ticket #7367. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41026 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f78035b8b9c9c43bfa0aa34b48c5ff4bd23bc3b |
|
25-Apr-2010 |
Jérôme Duval <korli@users.berlios.de> |
Should fix #5806. CollectTargets() is also called for packages, the fVarDirectory init is moved to ResetTargets(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36475 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51f50b12745c64a195c33857985f65de23a40249 |
|
19-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Installer cannot use find_directory(), since it needs to support source volumes other than /boot. That's why it worked like it did in the first place. Some folders like "trash" can be volume specific, but most others are not and the volume passed to find_directory() is ignored (which makes sense). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35175 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ff00ae7e516314cdbde75d708c17ed786e24445 |
|
19-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Make the Installer ignore /var at it's new location. The old location is also still checked, in case one uses the Installer to copy an old installation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35173 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
224c9ca6d740da9d1857e17936dcf6fcce916ee2 |
|
18-Sep-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed a warning. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33168 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72586154d7f505bd5f15377db729b515d40dee40 |
|
06-Sep-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Finished ProgressReporter * Integrated ProgressReporter into CopyEngine and UnzipEngine. * Integrated unzipping to main installer engine. Since there are currently no .zip files in the _packages_ folder (and not even a _packages_ folder itself), this is completely invisible, but it works. TODO: Adjust the build system to optionally copy packages into _packages_ instead of extracting them. Like for the CD build profile mode. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32967 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e3916f8ef7f29c7fc15250c8d3f5ac510988116 |
|
02-Sep-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Extracted SemaphoreLocker into it's own file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32904 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
da268834aba1485f7a60b22985b1509adb495efc |
|
31-Aug-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Update the progress bar more often during file copies (every 2 MB instead of every 10, which was not smooth enough). +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32847 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7737cc84f8e442fac5d246b1d4ec063312ea259 |
|
29-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Changed the somewhat bold BLocker usage to a more straight forward semaphore based mechanism to pause and eventually cancel the WorkerThread. This also works now when the CopyEngine is still collecting file informartion (ticket #4153). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31912 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f76e944e24b1686fc3c45c30a47de543c025f11c |
|
14-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Fixed problems when installing onto non-empty target volumes. The 'system' folder will be a clean copy of the source volume. Other folders will be merged (as before), but in case a folder is in the way of a link or file from the source volume, it will now be purged. * Clarified the alert for non-empty target volumes, so it is very clear what happens. (Maybe there ought to the be option to only copy the system folder, though.) * Fixed a problem with copying attributes in certain cases. * Fixed the main GUI not resetting state properly after encountering an error during the copy process. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31042 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92cd10f4db338d2aa15f215025a61f8808d4f7ba |
|
03-May-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Refactored the way targets are collected before copy process begins, this way, the optional packages (if there would be any) can be collected as well before the actual process starts and the progress bar will reflect them correctly. Before this change, the progress bar would have reset itself for every optional package. * In one of my previous commits, I added the error, if there was any, to the reset message. Now the Installer window looks for the error and tells the user about it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30602 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f827b0168a3712e37c0d31d783a26baa92c05411 |
|
03-May-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Cleanup round 2: Renamed CopyEngine2 back to CopyEngine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30601 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b4afa66367d65eb54c52b4aeec4724af691ef11b |
|
03-May-2009 |
Stephan Aßmus <superstippi@gmx.de> |
First round of cleanup: * Renamed CopyEngine to WorkerThread, since it's used for other things than just copying. * Removed the code borrowed from Tracker. * Removed the InstallerCopyLoopControl, since the CopyEngine handles notifications and cancelling by itself now. * Renamed a few message constants. * Since we only support BFS partitions as install targets, I removed the FS type from the target menu item label. However, I am going to solve this differently. I guess all partitions should be seen in the target list, just disabled if they are not a valid target, and with a reason given too. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30600 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd8ddbc230e9cede6a071920da1338282fc8cd91 |
|
26-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Fixed GCC 4 build and warnings. * Used std::vector in BlockingQueue instead of Ingo's Vector until I can figure out the GCC4 problems. This is untested, but I will test this on another machine in a minute. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b293a3e9352708b1d067a4f4cd4c7a19ab7e64f |
|
25-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Prevent to copy the "var" and "_packages_" folders from the source volume root folder as before switching the CopyEngine. * Add a button "Write Boot Sector" that makes the selected target volume bootable without performing an installation. Adjusted the status message after installation to be more descriptive. * Small improvements in the CopyEngine, collecting the source size should be even a bit faster now since we can use the file size from the already performed stat(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30395 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
803d0234c19a3499f0191cc018c0b523c7f1520d |
|
25-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Sorry, this is a bit of a mess yet and needs more refactoring... * I've implemented my own copy engine which runs a separate writer thread. Especially when installing from one hard drive to another, it should speed things up. When installing from CD, the entire harddisk write time should at least disappear in the CD read time. When installing from/to the same drive, the new routine is as fast as the Tracker code that was used before. * When stopping/canceling the copy process, the copy engine will now actually block, instead of happily going on while the alert is showing. I've still implemented that to not leave incomplete files around, like before. * There is now a progress bar, based on data bytes in files to copy. Reason being that it's quite fast to collect this info versus also scanning all attributes. * The copy engine itself was used in another project before and was tested with SHA256 hashes of the original files and the copied files, so I think it can be trusted. * There is now a lot of code that can be removed or should be cleaned up. What was the "CopyEngine" should become the "WorkerThread" or something. * I still had a mental TODO about skipping the swap file (there is none on CDs, but when copying a harddisk installation there may be one), I just remembered this when typing this commit message... will fix that next. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30394 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5d6a2a65da2c05fbccfafde34dc81fee46905265 |
|
18-Aug-2008 |
Jérôme Duval <korli@users.berlios.de> |
* improved error and cancellation handling * only enable Begin button when a menu item has been chosen git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27051 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
87905063c3507da17f019b07f4b370cfe1fb319f |
|
02-Jun-2008 |
Jérôme Duval <korli@users.berlios.de> |
better handles error and cancellation when copying git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25772 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
739dbdfae4dca5237d84062a640c569d2ed28ca4 |
|
12-May-2008 |
Jérôme Duval <korli@users.berlios.de> |
* Patch from Christian Fasshauer: provides a cancel button * fixed a few things: one couldn't restart the install process when cancelled, use B_QUIT_REQUESTED instead of QuitRequested(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25466 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f3d8cb64fdbfd9b5ceff4e63669fdbb8dac0fc0 |
|
12-May-2007 |
Jérôme Duval <korli@users.berlios.de> |
code style update now mount the target partition before copying git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21113 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5fa64b505d5c014027f2198476c806a337e068f |
|
01-Feb-2006 |
Jérôme Duval <korli@users.berlios.de> |
some changes : alert if free space isn't enough, set status when mouse is over packages (doesn't work for some reason ...) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16192 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cbdfe279477d8a54af8cc2459c95129cc279f660 |
|
23-Jan-2006 |
Jérôme Duval <korli@users.berlios.de> |
reworked a bit to install packages git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16048 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46065378112a4b12be63fcbd5ea3da02f73c9077 |
|
20-Jan-2006 |
Jérôme Duval <korli@users.berlios.de> |
actually uses the copyengine looper to handle the copy process git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16011 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebc8a403e56695c94de08e50957e9ceb218e0976 |
|
04-Jan-2006 |
Jérôme Duval <korli@users.berlios.de> |
Installer makes use of FSCopyFolder in libtracker.so git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15839 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1eedf230816a2618554a059f2d235dbdd53befb4 |
|
26-Oct-2005 |
Jérôme Duval <korli@users.berlios.de> |
now populates menus improved size to string formating for GB and TB git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14531 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1a8f53bbf7c3604617ef0c2164fd4157289e4c4a |
|
19-Oct-2005 |
Jérôme Duval <korli@users.berlios.de> |
added a SourceVisitor and a TargetVisitor to go through BDiskDevice and BPartition objects git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b461fb1d4b16336f284c500d47e246c66b1d659a |
|
18-Oct-2005 |
Jérôme Duval <korli@users.berlios.de> |
added a haiku logo from stippi, thanks! enlarged the window improves widget placement git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
633dee064e847e9bd9857193f7ae861e10ab21ab |
|
30-Sep-2005 |
Jérôme Duval <korli@users.berlios.de> |
fix packages view, added a copy engine class git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14283 a95241bf-73f2-0310-859d-f6bbb57e9c96
|