-
Notifications
You must be signed in to change notification settings - Fork 37
DBus API
Michael Murphy edited this page Mar 15, 2019
·
5 revisions
When launched in daemon mode (requires root), a new Dbus service will be registered, with the following details:
- Interface:
com.system76.PopUpgrade - Name:
com.system76.PopUpgrade - Path:
/com/system76/PopUpgrade
-
FetchUpdates (additional_strings: as, download_only: b) -> (updates_available: b, completed: s, total: s)- Creates a task which will fetch all available updates, including the additional packages.
- If an update task is already in progress,
completedandtotalwill have non-zero values. - If
updates_availablereturnsfalse, then there are no packages to fetch. - Unless
download_onlyis specified astrue, the packages will also be installed.
-
RecoveryUpgradeByFile (path: s)- Creates a task which will upgrade the recovery partition via a file ath the
path.
- Creates a task which will upgrade the recovery partition via a file ath the
-
RecoveryUpgradeByRelease (version: s, arch: s, flags: q) -> (result: u8)- Creates a task which will upgrade the recovery partition via the release API, using the defined details.
- If package updates are available, a
FetchUpdatestask will execute beforehand. -
howdefines how the recovery partition should be upgraded.- Possible options are
fileandrelease.
- Possible options are
-
versiondefines the suite to fetch from (ie:20.04) -
archdefines which variant of that version to fetch (ie:nvidia) -
flagssets additional configuration parameters for the task
-
ReleaseCheck () -> (current: s, next: s, available: b)- Quickly checks the
currentrelease, determines thenextrelease, and states whether an update isavailableor not.
- Quickly checks the
-
ReleaseUpgrade (how: q, from: s, to: s)- Creates a task to initiate a distribution release upgrade.
- The
fromdefines which suite to upgrade from. - The
todefines the suite to upgrade to. - The upgrade method performed is determined by the
how.-
1will use systemd to perform an offline upgrade. -
2will use the recovery partition to perform an offline upgrade. - Any other value will result in an error.
-
-
ReleaseRepair ()- Performs automatic repairs of any issues found which may impact system operation
- The
/etc/fstabfile will be corrected if certain mounts are missing or are mounting by the wrong ID - Source lists will also be parsed and corrected if they are missing any critical repositories
- The
- Performs automatic repairs of any issues found which may impact system operation
-
Status () -> (status: q, sub_status: q)- Reports the current status of the daemon, where zero indicates inactivity.
- If that
statushas asub_status, it will be set to a non-zero value. - The available statuses for the main status are:
-
0: Inactive, -
1: Fetching Packages, -
2: Recovery Upgrade, -
3: Release Upgrade, -
4: Package Upgrade
-
-
UpgradePackages ()- Upgrades packages for the current release, similar to performing a non-interactive upgrade normally.
-
PackageFetchResult (status: q)- Indicates that a
FetchUpdatestask completed - A status of
0indicate success, whereas1indicates failure
- Indicates that a
-
PackageFetched (package: s, completed: u, total: u)- An event that is triggered when a
FetchUpdatestask has fetched a package. -
packagerefers to the name of the package that was fetched. -
completedandtotalcan be used to track the progress of the task.
- An event that is triggered when a
-
PackageFetching (package: s)- An event that is triggered when a
FetchUpdatestask has begun fetching a new package. -
packagerefers to the name of the package that was fetched.
- An event that is triggered when a
-
PackageUpgrade (event: a{ss})- The ADT is represented as a map of field-value pairs.
-
RecoveryDownloadProgress (progress: t, total: t)- Tracks the progress of the recovery files being fetched
-
RecoveryUpgradeEvent (event: q)- Notifies the client of a recovery upgrade event that has occurred
-
RecoveryUpgradeResult (result: q)- Indicates the final result of the recovery upgrade process
-
ReleaseUpgradeEvent (event: q)- Notifies the client of a release upgrade event that has occurred
-
ReleaseUpgradeResult (result: q)- Indicates the final result of the recovery upgrade process
-
Fetching(1): fetching recovery files -
Syncing(2): syncing recovery files with recovery partition -
Verifying(3): verifying checksums of fetched files -
Complete(4): recovery partition upgrade completed -
Failed(5): recovery partition upgrade failed
-
UpdatingPackageLists(1): updating package lists for the current release -
FetchingPackages(2): fetching updated packages for the current release -
UpgradingPackages(3): upgrading packages for the current release -
InstallingPackages(4): ensuring that system-critical packages are isntalled -
UpdatingSourceLists(5): updating the source lists to the new release -
FetchingPackagesForNewRelease(6): fetching packages for the new release -
AttemptingLiveUpgrade(7): attempting live upgrade to the new release -
AttemptingSystemdUnit(8): creating a systemd unit for installing the new release -
AttemptingRecovery(9): setting up the recovery partition to install the new release -
Success(10): new release is ready to install -
SuccessLive(11): new release was successfully installed -
Failure(12): an error occurred while setting up the upgrade