#
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>
|
#
2c09e0dc |
|
04-Aug-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Installer: separate writing bootsector from other install finishing code Remove the InstallerInitScript (it does nothing) and the InstallerFinishScript (it does too many things). Instead implement the finishing directly in Installer. Separate writing the bootsector, so that the "write bootsector" menu writes only the bootsector. Fixes #16303
|
#
a99aa113 |
|
15-Dec-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Installer: Check return value of system() calls. Solves a TODO.
|
#
348d9eac |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: WorkerThread: Remove InstallerWindow dependency * Move message constants to InstallerDefs.h. * Determine the source and target partition ID already in InstallerWindow and pass those to WorkerThread instead of fiddling with menu items in _PerformInstall(). And instead of the window object pass a messenger to the constructor.
|
#
e8eb6ae2 |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: WorkerThread::_PerformInstall(): get rid of goto
|
#
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.
|
#
45739d5d |
|
06-Mar-2011 |
Stephan Aßmus <superstippi@gmx.de> |
* Added creation of default indices, as are currently present on regular Haiku volumes. I've decided not to put this into InstallerInitScript, as I reckon the script is to customize the installation process more than to be a critical part of the process. * Make mirroring the existing indices onto the target volume ignore more errors. This should be the final fix for ticket #7320. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40836 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a2dc49b5 |
|
05-Mar-2011 |
Stephan Aßmus <superstippi@gmx.de> |
* Mirror all the indices from the source volume to the target volume. Note that it would have been an option to invoke mkindex, which has a similar mirroring option, in the InstallerInitScript, but I favor making Installer depend on as few external tools as possible. * Very small cleanup in _PerformInstall(). It should be broken up more into individual methods. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40816 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
|
#
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
|
#
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
|
#
348d9eac3b8a59123dcfa04848a42e304a15929d |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: WorkerThread: Remove InstallerWindow dependency * Move message constants to InstallerDefs.h. * Determine the source and target partition ID already in InstallerWindow and pass those to WorkerThread instead of fiddling with menu items in _PerformInstall(). And instead of the window object pass a messenger to the constructor.
|
#
e8eb6ae212738836c9a16c463c8aed3cdf23f72e |
|
02-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Installer: WorkerThread::_PerformInstall(): get rid of goto
|
#
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.
|
#
45739d5d4b29e50af2809c94206ecd9390d62b38 |
|
06-Mar-2011 |
Stephan Aßmus <superstippi@gmx.de> |
* Added creation of default indices, as are currently present on regular Haiku volumes. I've decided not to put this into InstallerInitScript, as I reckon the script is to customize the installation process more than to be a critical part of the process. * Make mirroring the existing indices onto the target volume ignore more errors. This should be the final fix for ticket #7320. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40836 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a2dc49b516ca41adb01499d2ca76552524fe1a81 |
|
05-Mar-2011 |
Stephan Aßmus <superstippi@gmx.de> |
* Mirror all the indices from the source volume to the target volume. Note that it would have been an option to invoke mkindex, which has a similar mirroring option, in the InstallerInitScript, but I favor making Installer depend on as few external tools as possible. * Very small cleanup in _PerformInstall(). It should be broken up more into individual methods. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40816 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
|
#
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
|
#
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
|