blob: 37340eef766b610546cbe11ffd977f8dcdfea381 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use thiserror::Error;
#[derive(Clone, Eq, PartialEq, Debug, Error)]
pub enum Error {
#[error("error reading /system/meta")]
ReadSystemMeta,
#[error("error parsing /system/meta merkle")]
ParseSystemMeta,
#[error("error reading update package merkle")]
ReadUpdateMeta,
#[error("error parsing update package merkle")]
ParseUpdateMeta,
#[error("error connecting to PackageResolver")]
ConnectPackageResolver,
#[error("error creating Directory proxy for the update package")]
CreateUpdatePackageDirectoryProxy,
#[error("fidl error resolving update package")]
ResolveUpdatePackageFidl,
#[error("error resolving update package")]
ResolveUpdatePackage,
#[error("error creating File endpoints for the update package's 'packages' file")]
CreateUpdatePackagePackagesEndpoint,
#[error("error opening the update package's 'packages' file")]
OpenUpdatePackagePackages,
#[error("error opening the update package's 'meta' file")]
OpenUpdatePackageMeta,
#[error("error converting 'packages' handle into an fd")]
CreatePackagesFd,
#[error("error reading line from 'packages' file")]
ReadPackages,
#[error("error parsing latest system image merkle: {packages_entry}")]
ParseLatestSystemImageMerkle { packages_entry: String },
#[error("could not find latest system image merkle in update package's 'packages' list")]
MissingLatestSystemImageMerkle,
#[error("error connecting to component Launcher")]
ConnectToLauncher,
#[error("error launching system_updater component")]
LaunchSystemUpdater,
#[error("error waiting for system_updater component")]
WaitForSystemUpdater,
#[error("system_updater component exited with failure")]
SystemUpdaterFailed,
#[error("system_updater component exited with success, it should have rebooted the system")]
SystemUpdaterFinished,
#[error("error reading /system/data/static_packages")]
ReadStaticPackages,
}