Public bug reported:

[ Description ]

The Ubuntu installer (ubiquity), working together with ubuntu-drivers,
will install an "OEM metapackage" for the platform being installed, if
there is one which matches.

This means that if Canonical has performed enablement for a device,
users will receive the same experience if they purchase hardware with
Ubuntu preinstalled or if it has another OS and they later install
Ubuntu.

However, if the hardware was enabled post-release and the user is
offline when installing Ubuntu, the installer will not know that there
is any enablement that it should install. Similarly if the enablement
happens after Ubuntu has been installed. In these cases we need a way
inside the installed session for the same enablement to be provided.

We're adding the capability for update-manager to install these
packages. They themselves install a sources.list.d snippet referring to
an "OEM archive" specific to the device, so update-manager needs to know
to update (as in `apt update`) and then upgrade (`apt upgrade`) a second
time after installing oem-foo-meta from the Ubuntu archive.

update-manager will be consuming a file provided by update-notifier to
know if the device needs an oem metapackage or not.

NOTE NOTE NOTE NOTE NOTE NOTE: The OEM metapackages are LTS only, so the
intention is that this change is effectively a no-op on hirsute.
Therefore we are proposing NOT to SRU to groovy, as there is no chance
of a regression for groovy users.

[ QA ]

= On a certified device =

1. Install without any OEM enablement. Run update-notifier to populate
the file $XDG_RUNTIME_DIR/ubuntu-drivers-oem.package-list. Run update-
manager and make sure the OEM experience is installed properly - you end
up with the version of oem-foo-meta from the OEM archive.

2. As above but with some other regular (SRU) updates available. Make
sure all updates are installed.

3. After installing the OEM experience, make sure further updates are
offered as normal.

= On a non certified device =

1. Make sure that updates are offered whenever they are available.

2. Make sure update-manager is launched automatically (by update-
notifier) as before.

[ What could go wrong ]

In this update we rework transaction handling. If this is wrong, then
the progress bar or terminal could stop working.

If there's a bug in the way we install / update / upgrade the OEM
metapackages then we could break installing any update.

If we accidentally apply this logic to non OEM systems then we could
break updating for everybody.

** Affects: update-manager (Ubuntu)
     Importance: Undecided
     Assignee: Julian Andres Klode (juliank)
         Status: New

** Affects: update-notifier (Ubuntu)
     Importance: Undecided
     Assignee: Iain Lane (laney)
         Status: New

** Affects: update-manager (Ubuntu Focal)
     Importance: Undecided
     Assignee: Julian Andres Klode (juliank)
         Status: New

** Affects: update-notifier (Ubuntu Focal)
     Importance: Undecided
     Assignee: Iain Lane (laney)
         Status: New

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

** Description changed:

  [ Description ]
  
  The Ubuntu installer (ubiquity), working together with ubuntu-drivers,
  will install an "OEM metapackage" for the platform being installed, if
  there is one which matches.
  
  This means that if Canonical has performed enablement for a device,
  users will receive the same experience if they purchase hardware with
  Ubuntu preinstalled or if it has another OS and they later install
  Ubuntu.
  
  However, if the hardware was enabled post-release and the user is
  offline when installing Ubuntu, the installer will not know that there
  is any enablement that it should install. Similarly if the enablement
  happens after Ubuntu has been installed. In these cases we need a way
  inside the installed session for the same enablement to be provided.
  
  We're adding the capability for update-manager to install these
  packages. They themselves install a sources.list.d snippet referring to
  an "OEM archive" specific to the device, so update-manager needs to know
  to update (as in `apt update`) and then upgrade (`apt upgrade`) a second
  time after installing oem-foo-meta from the Ubuntu archive.
  
  update-manager will be consuming a file provided by update-notifier to
  know if the device needs an oem metapackage or not.
+ 
+ NOTE NOTE NOTE NOTE NOTE NOTE: The OEM metapackages are LTS only, so the
+ intention is that this change is effectively a no-op on hirsute.
+ Therefore we are proposing NOT to SRU to groovy, as there is no chance
+ of a regression for groovy users.
  
  [ QA ]
  
  = On a certified device =
  
  1. Install without any OEM enablement. Run update-notifier to populate
  the file $XDG_RUNTIME_DIR/ubuntu-drivers-oem.package-list. Run update-
  manager and make sure the OEM experience is installed properly - you end
  up with the version of oem-foo-meta from the OEM archive.
  
  2. As above but with some other regular (SRU) updates available. Make
  sure all updates are installed.
  
  3. After installing the OEM experience, make sure further updates are
  offered as normal.
  
  = On a non certified device =
  
  1. Make sure that updates are offered whenever they are available.
  
  2. Make sure update-manager is launched automatically (by update-
  notifier) as before.
  
  [ What could go wrong ]
  
  In this update we rework transaction handling. If this is wrong, then
  the progress bar or terminal could stop working.
  
  If there's a bug in the way we install / update / upgrade the OEM
  metapackages then we could break installing any update.
  
  If we accidentally apply this logic to non OEM systems then we could
  break updating for everybody.

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

** Changed in: update-notifier (Ubuntu)
     Assignee: (unassigned) => Iain Lane (laney)

** Changed in: update-notifier (Ubuntu Focal)
     Assignee: (unassigned) => Iain Lane (laney)

** Changed in: update-manager (Ubuntu)
     Assignee: (unassigned) => Julian Andres Klode (juliank)

** Changed in: update-manager (Ubuntu Focal)
     Assignee: (unassigned) => Julian Andres Klode (juliank)

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

Title:
  Support post install enablement of OEM-enabled devices

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1908050/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to