When doing installations without network, we need to ensure that we don't try
to perform apt operations that require internet. To do this in Plucky, we need
to temporarily copy the ubuntu.sources file to an ubuntu.sources.bak file. To
bring all of the previous commits in this upload together, we use the
bind-mounted /media/cdrom not only to install the correct GRUB packages, but
to ensure that we can still install them and any other packages on ship-live.
There has to be a better, more native way to do this. It works for now, but in
the Questing cycle, we're probably going to move some of these command-line
apt calls to be a consumer of the libapt C library (LP: #2107287).
To complement the last fix, ensure that Calamares ends up on the removal list
for non-stacked squashfses if and only if OEM is disabled, and Calamares shows
up on the install list only for stacked squashfses which have OEM enabled.
This nuanced approach ensures all potential combinations have the intended
functionality.
If checkpackage-backend does not exist in the target system, likely due to the
use of stacked squashfses, ensure it temporarily exists so it can be used in
the install process. This fixes installation of the Virtual Machine Manager
when selected on the Customize menu (LP: #2104243).