Comment 109 for bug 1265192

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

@Colin Will your changes fix the problems with multiple drives? calculate_operating_systems returns a list of operating systems without location (drive or partition), then calculate_autopartitioning_options uses that list to decide how to proceed *as if all of the detected operating systems were on a single drive*. Being told that a drive is being wiped is not enough, since it is not clear to the user which drive is being wiped. Copy/paste from previous discussion in case you missed it:

    - a two disk setup of first disk with (undetected) EFI Windows 8 and second disk with Ubuntu is handled as a 'single OS Ubuntu upgrade', and when the user clicks to upgrade, the Windows disk is wiped.

    - If there are two disks, and os-prober shows no operating systems on sda and Ubuntu on sdb, then the Ubiquity "Install" screen will have title "Erase Ubuntu 12.04 and reinstall" and will incorrectly select drive "sda" (Ubuntu is not on sda). If the user clicks continue, the installer will go ahead and overwrite all partitions on the first disk while claiming to be "erasing Ubuntu 12.04". It does say that "4 partitions will be deleted" (another bug, it seems to include free space gaps in the partition count) but it's easy to miss that text, given the reassuring big font text "Erase Ubuntu xx and reinstall".

(Also, there are tests for autopartitioning in tests/test_ubi_partman.py - if you are familiar with the test code here it might be useful to add some test cases to cover the error cases documented in this bug report - multiple partitions and/or drives, os-proper potentially returning nothing - so that future code changes will not reintroduce these bugs.)