Documentation
¶
Index ¶
- type Food
- func (f *Food) DownloadTo(pkg *Package, filePath string) error
- func (f *Food) GetPackage(os, arch string) *Package
- func (f *Food) Install() error
- func (f *Food) Link(pkg *Package) error
- func (f *Food) Linked() bool
- func (f *Food) Lint() (errs []error)
- func (f *Food) Uninstall() error
- func (f *Food) Unlink(pkg *Package) error
- type Package
- type Resource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Food ¶
type Food struct {
// The canonical name of the software.
Name string
// The repository where this food resides.
Rig string
// A (short) description of the software.
Description string
// The license identifier for the software.
License string
// The homepage URL for the software.
Homepage string
// Caveats inform the user about any Draft-specific caveats regarding this fish food.
Caveats string
// The version of the software.
Version string
// The list of binary distributions available for this fish food.
Packages []*Package
// The script to run before installation
PreInstallScript string
// The script to run after a successful installation
PostInstallScript string
}
Food provides metadata to install a piece of software.
func (*Food) DownloadTo ¶ added in v0.7.0
DownloadTo downloads a particular package to filePath, returning any errors if encountered.
func (*Food) GetPackage ¶
GetPackage does a lookup for a package supporting the given os/arch. If none were found, this returns nil.
func (*Food) Linked ¶
Linked checks to see if a particular package owned by this fish food is linked to /usr/local/bin. This is just a check if the binaries symlinked in /usr/local/bin link back to the barrel.
func (*Food) Lint ¶ added in v0.7.0
Lint analyses a given fish food for potential errors, returning a list of errors.
type Package ¶
type Package struct {
// the running program's operating system target. One of darwin, linux, windows, and so on.
OS string
// the running program's architecture target. One of 386, amd64, arm, s390x, and so on.
Arch string
Resources []*Resource
// The URL used to download the binary distribution for this version of the fish food. The file must be a gzipped tarball (.tar.gz) or a zipfile (.zip) for unpacking.
URL string
// Additional URLs for this version of the fish food.
Mirrors []string
// To verify the cached download's integrity and security, we verify the SHA-256 hash matches what we've declared in the fish food.
SHA256 string
}
Package provides metadata to install a piece of software on a given operating system and architecture.
type Resource ¶
type Resource struct {
// Path is the path relative from the root of the unpacked archive to the resource. The resource is symlinked into the InstallPath and, if Executable is set, made executable (chmod +x).
Path string
// InstallPath is the destination path relative from /usr/local. The resource is symlinked from Path to the InstallPath and, if Executable is set, made executable (chmod +x).
InstallPath string
// Executable defines whether or not this resource should be made executable (chmod +x). This only applies for MacOS/Linux and can be ignored on Windows.
Executable bool
}
Resource is a installable thingy that should be moved into /usr/local from the install path, such as an executable, manpages, libraries, etc.