Help us shape the future of Go! Take the 2026 Go Developer Survey

aptly

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: May 10, 2014 License: MIT Imports: 3 Imported by: 110

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.5.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, progress Progress) error
	// Remove removes single file under public path
	Remove(path string) error
	// LinkFromPool links package file from pool to dist's pool location
	LinkFromPool(publishedDirectory string, sourcePool PackagePool, sourcePath string) error
	// Filelist returns list of files under prefix
	Filelist(prefix string) ([]string, error)
	// ChecksumsForFile proxies requests to utils.ChecksumsForFile, joining public path
	ChecksumsForFile(path string) (utils.ChecksumInfo, error)
	// RenameFile renames (moves) file
	RenameFile(oldName, newName string) 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