Public bug reported:

[ Impact ]

Some platforms do not provide sufficiently discriminatory information in
the modalias fields that ubuntu-drivers currently checks when selecting
packages to install for a given platform.

Enable packages in the archive to specify a specific MIDR value or DMI
processor name as a selector, rather than exclusively relying on DMI
family name (which is sometimes inconsistent between OEM flavors of
platforms which should be treated the same way).

[ Test Plan ]

MIDR matching:
1. Create a package that defines a value for XB-Udc-Midr that matches for your 
DUT, then create a local apt archive with that package and add it to your 
sources.list.
2. Verify that `sudo ubuntu-drivers install` installs that package on your 
system
3. Repeat the test on a system with a different MIDR value and confirm it does 
not install there

dmidecode matching:
1. Create a package that defines a value for XB-dmidecode that matches for your 
DUT, then create a local apt archive with that package and add it to your 
sources.list.
2. Verify that `sudo ubuntu-drivers install` installs that package on your 
system
3. Repeat the test on a system with a different DMI value and confirm it does 
not install there

Regression test:
1. Copy your dmidecode and midr-enabled packages to a test archive on a machine 
that matches neither.
2. Run sudo ubuntu-drivers install and confirm that none of the new packages 
are installed

We have also added functional tests to the ubuntu-drivers test suite for
this behavior.

[ Where problems could occur ]

Since we have opted to implement this new functionality in a way that
requires package maintainers to specify a completely novel field in
their metadata (XB-Udc-Midr or XB-Dmi) rather than by changing the
behavior of the existing modalias detection, there should be no risk of
pre-existing packages unintentionally being installed on a user's device
that weren't intended for that platform.

If there is any mistake in our change to system_driver_packages, it
could theoretically cause unexpected behavior. However, we've adjusted
that loop in such a way that it should be totally silent for platforms
for which the new identifiers are irrelevant, and verified via tests on
several NVIDIA devices.

** Affects: ubuntu-drivers-common (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: ubuntu-drivers-common (Ubuntu Resolute)
     Importance: Undecided
         Status: New

** Affects: ubuntu-drivers-common (Ubuntu Stonking)
     Importance: Undecided
         Status: New

** Also affects: ubuntu-drivers-common (Ubuntu Stonking)
   Importance: Undecided
       Status: New

** Also affects: ubuntu-drivers-common (Ubuntu Resolute)
   Importance: Undecided
       Status: New

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

Title:
  Unable to detect packages to install based on CPU type

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-drivers-common/+bug/2165071/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to