[Bug 1871424] Re: oem-kernel-flavour install is incomplete offline

Iain Lane iain at orangesquash.org.uk
Thu Apr 9 16:54:34 UTC 2020


do_install() here is to *upgrade* the installed package to the jump-off
version in the OEM archive. Note this code is only run if the
target_sources_list exists - which means that the oem metapackage *is*
already installed (happens via scripts/simple-plugins). So that means
two things:

  - the installer can get the right kernel installed (since it is shipped in the pool)
  - when we boot into the installed system and it eventually gets online, we will already know at this point that there's an OEM package and can try to do the update/upgrade dance there

The second point implies that the fix for this issue is somewhere else
other than ubiquity. I'll add a task for update-manager for now.

This work definitely needs doing; we will schedule it after the 20.04
release.

** Also affects: update-manager (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubiquity in Ubuntu.
https://bugs.launchpad.net/bugs/1871424

Title:
  oem-kernel-flavour install is incomplete offline

Status in ubiquity package in Ubuntu:
  New
Status in update-manager package in Ubuntu:
  New

Bug description:
  oem-kernel-flavour install is incomplete offline

          if self.db.get('ubiquity/install_oem') == 'true':
              try:
                  # If we installed any OEM metapackages, we should try to update /
                  # upgrade them to their versions in the OEM archive.
                  with open('/run/ubuntu-drivers-oem.autoinstall', 'r') as f:
                      oem_pkgs = set(f.read().splitlines())
                      for oem_pkg in oem_pkgs:
                          target_sources_list = self.target_file("etc/apt/sources.list.d/{}.list".format(oem_pkg))
                          if not os.path.exists(target_sources_list):
                              continue

                          try:
                              cache.update(sources_list=target_sources_list)
                              cache.open()
                          except FetchFailedException:
                              syslog.syslog("Failed to apt update {}".format(target_sources_list))
                              oem_pkgs.discard(oem_pkg)
                      self.do_install(oem_pkgs)
              except FileNotFoundError:
                  pass


  Code seems to emply to me that oem-meta package is removed from
  oem_pkgs set, if we fail to update it. It also means that we do not
  call "do_install()" on it, when update fails. I.e. offline?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1871424/+subscriptions



More information about the foundations-bugs mailing list