tarutils

package
v0.19.1-rc.3 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTarFromFs

func CreateTarFromFs(fs vfs.FileSystem, path string, compress func(w io.Writer) io.WriteCloser, fss ...vfs.FileSystem) (err error)

func Epoch

func Epoch() time.Time

func ExtractArchiveToFs

func ExtractArchiveToFs(fs vfs.FileSystem, path string, fss ...vfs.FileSystem) error

ExtractArchiveToFs wunpacks an archive to a filesystem.

func ExtractArchiveToFsWithInfo

func ExtractArchiveToFsWithInfo(fs vfs.FileSystem, path string, fss ...vfs.FileSystem) (int64, int64, error)

ExtractArchiveToFsWithInfo unpacks an archive to a filesystem.

func ExtractTarToFs

func ExtractTarToFs(fs vfs.FileSystem, in io.Reader) error

ExtractTarToFs writes a tar stream to a filesystem.

func ExtractTarToFsWithInfo

func ExtractTarToFsWithInfo(fs vfs.FileSystem, in io.Reader) (fcnt int64, bcnt int64, err error)

func ExtractTgzToTempFs

func ExtractTgzToTempFs(in io.Reader) (vfs.FileSystem, error)

ExtractTgzToTempFs extracts a tar.gz archive to a temporary filesystem. You should call vfs.Cleanup on the returned filesystem to clean up the temporary files.

func Gzip

func Gzip(w io.Writer) io.WriteCloser

func ListArchiveContent

func ListArchiveContent(path string, fss ...vfs.FileSystem) ([]string, error)

func ListArchiveContentFromReader

func ListArchiveContentFromReader(r io.Reader) ([]string, error)

func ListSortedFilesInDir

func ListSortedFilesInDir(fs vfs.FileSystem, root string, flat bool) ([]string, error)

ListSortedFilesInDir returns a list of files in a directory sorted by name. Attention: If 'flat == true', files with same name but in different sub-paths, will be listed only once!!!

func PackFsIntoTar

func PackFsIntoTar(fs vfs.FileSystem, root string, writer io.Writer, opts TarFileSystemOptions) error

PackFsIntoTar creates a tar archive from a filesystem.

func RegularFileInfoHeader

func RegularFileInfoHeader(fi fs.FileInfo) *tar.Header

RegularFileInfoHeader creates a tar header for a regular file (`tar.TypeReg`). Besides name and size, the other header fields are set to default values (`fs.ModePerm`, 0, "", `time.Unix(0,0)`).

func SimpleTarHeader

func SimpleTarHeader(fs vfs.FileSystem, filepath string) (*tar.Header, error)

func TarFlatFs

func TarFlatFs(fs vfs.FileSystem, writer io.Writer) error

func TgzFs

func TgzFs(fs vfs.FileSystem, writer io.Writer) error

TgzFs creates a tar.gz archive from a filesystem with all files being in the root of the zipped archive. The writer is closed after the archive is written. The TAR-headers are normalized, see RegularFileInfoHeader.

func UnzipTarToFs

func UnzipTarToFs(fs vfs.FileSystem, in io.Reader) error

UnzipTarToFs tries to decompress the input stream and then writes the tar stream to a filesystem.

Types

type TarFileSystemOptions

type TarFileSystemOptions struct {
	IncludeFiles []string
	ExcludeFiles []string
	// PreserveDir defines that the directory specified in the Path field should be included in the blob.
	// Only supported for Type dir.
	PreserveDir    bool
	FollowSymlinks bool
	// contains filtered or unexported fields
}

TarFileSystemOptions describes additional options for tarring a filesystem.

func (*TarFileSystemOptions) Included

func (opts *TarFileSystemOptions) Included(path string) (bool, error)

Included determines whether a file should be included.

Jump to

Keyboard shortcuts

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