Documentation ¶
Overview ¶
Package backend implements the low-level primitives to manage the snaps and their installation on disk.
Index ¶
- func OpenSnapFile(snapPath string, sideInfo *snap.SideInfo) (*snap.Info, snap.Container, error)
- type Alias
- type Backend
- func (b Backend) Candidate(*snap.SideInfo)
- func (b Backend) ClearTrashedData(oldSnap *snap.Info)
- func (b Backend) CopySnapData(newSnap, oldSnap *snap.Info, meter progress.Meter) error
- func (b Backend) CurrentInfo(*snap.Info)
- func (b Backend) DiscardSnapNamespace(snapName string) error
- func (b Backend) LinkSnap(info *snap.Info, model *asserts.Model, tm timings.Measurer) (e error)
- func (b Backend) RemoveSnapAliases(snapName string) error
- func (b Backend) RemoveSnapCommonData(snap *snap.Info) error
- func (b Backend) RemoveSnapData(snap *snap.Info) error
- func (b Backend) RemoveSnapDataDir(info *snap.Info, hasOtherInstances bool) error
- func (b Backend) RemoveSnapDir(s snap.PlaceInfo, hasOtherInstances bool) error
- func (b Backend) RemoveSnapFiles(s snap.PlaceInfo, typ snap.Type, meter progress.Meter) error
- func (b Backend) SetupSnap(snapFilePath, instanceName string, sideInfo *snap.SideInfo, ...) (snapType snap.Type, err error)
- func (b Backend) StartServices(apps []*snap.AppInfo, meter progress.Meter, tm timings.Measurer) error
- func (b Backend) StopServices(apps []*snap.AppInfo, reason snap.ServiceStopReason, meter progress.Meter, ...) error
- func (b Backend) UndoCopySnapData(newInfo *snap.Info, oldInfo *snap.Info, meter progress.Meter) error
- func (b Backend) UndoSetupSnap(s snap.PlaceInfo, typ snap.Type, meter progress.Meter) error
- func (b Backend) UnlinkSnap(info *snap.Info, meter progress.Meter) error
- func (b Backend) UpdateAliases(add []*Alias, remove []*Alias) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func OpenSnapFile ¶
OpenSnapFile opens a snap blob returning both a snap.Info completed with sideInfo (if not nil) and a corresponding snap.Container. Assumes the file was verified beforehand or the user asked for --dangerous.
Types ¶
type Backend ¶
type Backend struct{}
Backend exposes all the low-level primitives to manage snaps and their installation on disk.
func (Backend) ClearTrashedData ¶
ClearTrashedData removes the trash. It returns no errors on the assumption that it is called very late in the game.
func (Backend) CopySnapData ¶
CopySnapData makes a copy of oldSnap data for newSnap in its data directories.
func (Backend) DiscardSnapNamespace ¶
Discard the mount namespace of a given snap.
func (Backend) LinkSnap ¶
LinkSnap makes the snap available by generating wrappers and setting the current symlinks.
func (Backend) RemoveSnapAliases ¶
RemoveSnapAliases removes all the aliases targeting the given snap.
func (Backend) RemoveSnapCommonData ¶
RemoveSnapCommonData removes the data common between versions of the given snap.
func (Backend) RemoveSnapData ¶
RemoveSnapData removes the data for the given version of the given snap.
func (Backend) RemoveSnapDataDir ¶
RemoveSnapDataDir removes base snap data directory
func (Backend) RemoveSnapDir ¶
func (Backend) RemoveSnapFiles ¶
RemoveSnapFiles removes the snap files from the disk after unmounting the snap.
func (Backend) SetupSnap ¶
func (b Backend) SetupSnap(snapFilePath, instanceName string, sideInfo *snap.SideInfo, meter progress.Meter) (snapType snap.Type, err error)
SetupSnap does prepare and mount the snap for further processing.
func (Backend) StartServices ¶
func (Backend) StopServices ¶
func (Backend) UndoCopySnapData ¶
func (b Backend) UndoCopySnapData(newInfo *snap.Info, oldInfo *snap.Info, meter progress.Meter) error
UndoCopySnapData removes the copy that may have been done for newInfo snap of oldInfo snap data and also the data directories that may have been created for newInfo snap.
func (Backend) UndoSetupSnap ¶
UndoSetupSnap undoes the work of SetupSnap using RemoveSnapFiles.
func (Backend) UnlinkSnap ¶
UnlinkSnap makes the snap unavailable to the system removing wrappers and symlinks.