aptly

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2014 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package aptly provides common infrastructure that doesn't depend directly on Debian or CentOS

Index

Constants

View Source
const EnableDebug = false

Enable debugging features?

View Source
const Version = "0.4.1"

Version of aptly

Variables

This section is empty.

Functions

This section is empty.

Types

type Downloader

type Downloader interface {
	// Download starts new download task
	Download(url string, destination string, result chan<- error)
	// DownloadWithChecksum starts new download task with checksum verification
	DownloadWithChecksum(url string, destination string, result chan<- error, expected utils.ChecksumInfo, ignoreMismatch bool)
	// Pause pauses task processing
	Pause()
	// Resume resumes task processing
	Resume()
	// Shutdown stops downloader after current tasks are finished,
	// but doesn't process rest of queue
	Shutdown()
	// GetProgress returns Progress object
	GetProgress() Progress
}

Downloader is parallel HTTP fetcher

type PackagePool

type PackagePool interface {
	// Path returns full path to package file in pool given any name and hash of file contents
	Path(filename string, hashMD5 string) (string, error)
	// RelativePath returns path relative to pool's root for package files given MD5 and original filename
	RelativePath(filename string, hashMD5 string) (string, error)
	// FilepathList returns file paths of all the files in the pool
	FilepathList(progress Progress) ([]string, error)
	// Remove deletes file in package pool returns its size
	Remove(path string) (size int64, err error)
	// Import copies file into package pool
	Import(path string, hashMD5 string) error
}

PackagePool is asbtraction of package pool storage.

PackagePool stores all the package files, deduplicating them.

type Progress

type Progress interface {
	// Writer interface to support progress bar ticking
	io.Writer
	// Start makes progress start its work
	Start()
	// Shutdown shuts down progress display
	Shutdown()
	// Flush returns when all queued messages are sent
	Flush()
	// InitBar starts progressbar for count bytes or count items
	InitBar(count int64, isBytes bool)
	// ShutdownBar stops progress bar and hides it
	ShutdownBar()
	// AddBar increments progress for progress bar
	AddBar(count int)
	// SetBar sets current position for progress bar
	SetBar(count int)
	// Printf does printf but in safe manner: not overwriting progress bar
	Printf(msg string, a ...interface{})
	// ColoredPrintf does printf in colored way + newline
	ColoredPrintf(msg string, a ...interface{})
}

Progress is a progress displaying entity, it allows progress bars & simple prints

type PublishedStorage

type PublishedStorage interface {
	// PublicPath returns root of public part
	PublicPath() string
	// MkDir creates directory recursively under public path
	MkDir(path string) error
	// CreateFile creates file for writing under public path
	CreateFile(path string) (*os.File, error)
	// RemoveDirs removes directory structure under public path
	RemoveDirs(path string) error
	// LinkFromPool links package file from pool to dist's pool location
	LinkFromPool(prefix string, component string, poolDirectory string, sourcePool PackagePool, sourcePath string) (string, error)
	// ChecksumsForFile proxies requests to utils.ChecksumsForFile, joining public path
	ChecksumsForFile(path string) (utils.ChecksumInfo, error)
}

PublishedStorage is abstraction of filesystem storing all published repositories

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL