GlossaryΒΆ
- hardware certification
A process of ensuring that a specific device works well with Ubuntu. For more details see our certification program:
http://www.canonical.com/engineering-services/certification/hardware-certification
- hardware certification team
- A team inside Canonical working on Hardware Certification.
- Checkbox
- Checkbox is a hardware testing tool developed by Canonical for
certifying hardware with Ubuntu. Checkbox is free software and is
available at http://launchpad.net/checkbox. The
checkbox
package is pre-installed on all Ubuntu systems - Checkbox-ng
- This is the actual direct replacement for Checkbox. It provides a
few binaries that can do end-user testing, and which leverage
Plainbox as a library to do the heavy lifting. This lives in the
checkbox-ng
package for the binaries, andpython3-checkbox-ng
for the core functionality. - Plainbox
Plainbox is a rewrite of Checkbox with the aim of improving internal architecture, testability, robustness, quality and speed. It is currently under active development. It is not pre-installed on Ubuntu. It is developed inside the Checkbox code repository. In common use, the term Plainbox can refer to either of two things:
- The core library (
python3-plainbox
).python3-plainbox
is usually installed implicitly, as most of our tools depend on it. - The
plainbox
utility/binary, which is essentially a command-line swiss-army frontend to all of the library’s functionality. It’s useful for develoment and diagnostics but not necessary for end-user work.plainbox
is usually installed explicitly if needed.
- The core library (
- whitelist
- Whitelists are text files used by Checkbox to select jobs for execution. They can include simple regular expressions to match and pick many similar jobs at once. For more information see Checkbox Whitelist Files
- job
- Jobs are smallest units of testing that can be performed by either Checkbox or Plainbox. All jobs have an unique name. There are many types of jobs, some are fully automated others are fully manual. Some jobs are only an implementation detail and a part of the internal architecture of Checkbox
- provider
- A container for jobs, whitelists, private executables and data. Providers are the foundation of Plainbox as they provide all of the content. Providers can be created and managed by any entity, separately from the Checkbox project.
- namespace
- A private space for naming job definitions. Each job definition has a
partial identifier and a full identifier (typically just called job
id). The partial identifier is encoded in job definition file. The
full identifier is composed of the namespace of a job provider and the
partial identifier, joined with the double-colon string
::
. - resources
- Resources are collections of key-value data sets that are generated by special resource jobs. They are extensively used to indicate hardware or software dependencies. For example a bluetooth test may indicate it requires bluetooth hardware and appropriate software packages installed.
- requirement program
- Requirement programs are small (one to few lines) programs that use a
subset of python to execute some code against resources. They are what
actually describes the relationship of a Job to some Resources. For
example a resource program
package.name == "bluez"
indicates that at least one resource generated by thepackage
job has a keyname
equal to the stringbluez
. - attachment
- Attachments are a special type of a Job that can creates an attachment record in the submission.xml file. They are commonly used to include basic system information files and output of certain commands which can aid in system certification.
- certification website
- The website https://certification.canonical.com/
- Canonical ID
- A number assigned to the specific device (laptop, desktop or server) by Canonical. This number is used on the Certification Website and by the Hardware Certification Team. It is an internal bookkeeping identifier used in our labs.
- Secure ID
- An identifier, similar to Canonical ID, used for hardware certification. This identifier is used when interacting with the Certification Website, it does not reveal anything about the actual hardware (like the manufacturer name or device name)
- pypi
- The Python Package Index where any developer can share their python programs and libraries. Pypi is available at: https://pypi.python.org/pypi.
- Vagrant
- Vagrant is command line program intended for software developers to quickly create portable virtual environments for testing their software in a production operating system. Vagrant is free software and is available at http://www.vagrantup.com/
- VirtualBox
- VirtualBox is a free, powerful desktop vitalization software. VirtualBox is available in the Ubuntu Software Center and at https://www.virtualbox.org/