gentoo

package
v0.13.7 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2023 License: GPL-3.0 Imports: 11 Imported by: 11

Documentation

Overview

Copyright (C) 2017-2021 Daniele Rondina <geaaru@sabayonlinux.org>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Copyright (C) 2017-2023 Daniele Rondina <geaaru@gmail.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Index

Constants

View Source
const (
	PkgCondInvalid = 0
	// >
	PkgCondGreater = 1
	// >=
	PkgCondGreaterEqual = 2
	// <
	PkgCondLess = 3
	// <=
	PkgCondLessEqual = 4
	// =
	PkgCondEqual = 5
	// !
	PkgCondNot = 6
	// ~
	PkgCondAnyRevision = 7
	// =<pkg>*
	PkgCondMatchVersion = 8
	// !<
	PkgCondNotLess = 9
	// !>
	PkgCondNotGreater = 10
)
View Source
const (
	RegexCatString     = `(^[a-z]+[0-9]*[a-z]*[-]*[a-z]+[0-9]*[a-z]*|^virtual)`
	RegexPkgNameString = `([a-zA-Z]*[0-9a-zA-Z\.\-_]*[a-zA-Z0-9]+|[a-zA-Z\-]+[+]+[-]+[0-9a-zA-Z\.]*|[a-zA-Z\-]+[+]+)`
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GentooPackage

type GentooPackage struct {
	Name          string `json:"name,omitempty"`
	Category      string `json:"category,omitempty"`
	Version       string `json:"version,omitempty"`
	VersionSuffix string `json:"version_suffix,omitempty"`
	VersionBuild  string `json:"version_build,omitempty"`
	Slot          string `json:"slot,omitempty"`
	Condition     PackageCond
	Repository    string   `json:"repository,omitempty"`
	UseFlags      []string `json:"use_flags,omitempty"`
	License       string   `json:"license,omitempty"`
}

func ParsePackageStr

func ParsePackageStr(pkg string) (*GentooPackage, error)

return category, package, version, slot, condition

func (*GentooPackage) Admit

func (p *GentooPackage) Admit(i *GentooPackage) (bool, error)

func (*GentooPackage) Equal added in v0.11.0

func (p *GentooPackage) Equal(i *GentooPackage) (bool, error)

func (*GentooPackage) GetP added in v0.4.1

func (p *GentooPackage) GetP() string

func (*GentooPackage) GetPF added in v0.4.1

func (p *GentooPackage) GetPF() string

func (*GentooPackage) GetPFB added in v0.13.6

func (p *GentooPackage) GetPFB() string

func (*GentooPackage) GetPN added in v0.4.1

func (p *GentooPackage) GetPN() string

func (*GentooPackage) GetPV added in v0.4.1

func (p *GentooPackage) GetPV() string

func (*GentooPackage) GetPVR added in v0.4.1

func (p *GentooPackage) GetPVR() (ans string)

func (*GentooPackage) GetPackageName

func (p *GentooPackage) GetPackageName() (ans string)

func (*GentooPackage) GetPackageNameWithCond added in v0.11.0

func (p *GentooPackage) GetPackageNameWithCond() (ans string)

func (*GentooPackage) GetPackageNameWithSlot added in v0.11.0

func (p *GentooPackage) GetPackageNameWithSlot() (ans string)

func (*GentooPackage) GreaterThan added in v0.11.0

func (p *GentooPackage) GreaterThan(i *GentooPackage) (bool, error)

func (*GentooPackage) GreaterThanOrEqual added in v0.11.0

func (p *GentooPackage) GreaterThanOrEqual(i *GentooPackage) (bool, error)

func (*GentooPackage) LessThan added in v0.11.0

func (p *GentooPackage) LessThan(i *GentooPackage) (bool, error)

func (*GentooPackage) LessThanOrEqual added in v0.11.0

func (p *GentooPackage) LessThanOrEqual(i *GentooPackage) (bool, error)

func (*GentooPackage) OfPackage

func (p *GentooPackage) OfPackage(i *GentooPackage) (ans bool)

func (*GentooPackage) String

func (p *GentooPackage) String() string

type GentooPackageSorter added in v0.11.0

type GentooPackageSorter []GentooPackage

func (GentooPackageSorter) Len added in v0.11.0

func (p GentooPackageSorter) Len() int

func (GentooPackageSorter) Less added in v0.11.0

func (p GentooPackageSorter) Less(i, j int) bool

func (GentooPackageSorter) Swap added in v0.11.0

func (p GentooPackageSorter) Swap(i, j int)

type PackageCond

type PackageCond int

Package condition

func (PackageCond) Int added in v0.5.0

func (p PackageCond) Int() (ans int)

func (PackageCond) String added in v0.5.0

func (p PackageCond) String() (ans string)

type PortageContentElem added in v0.11.0

type PortageContentElem struct {
	Type          string `json:"type"`
	File          string `json:"file"`
	Hash          string `json:"hash,omitempty"`
	UnixTimestamp string `json:"timestamp,omitempty"`
	Link          string `json:"link,omitempty"`
}

func GetCONTENTS added in v0.11.0

func GetCONTENTS(file string) ([]PortageContentElem, error)

func (PortageContentElem) String added in v0.11.0

func (e PortageContentElem) String() string

type PortageMetaData added in v0.11.0

type PortageMetaData struct {
	*GentooPackage `json:"package,omitempty"`
	IUse           []string `json:"iuse,omitempty"`
	IUseEffective  []string `json:"iuse_effective,omitempty"`
	Use            []string `json:"use,omitempty"`
	Eapi           string   `json:"eapi,omitempty"`
	CxxFlags       string   `json:"cxxflags,omitempty"`
	Cxx            string   `json:"cxx,omitempty"`
	CFlags         string   `json:"cflags,omitempty"`
	LdFlags        string   `json:"ldflags,omitempty"`
	CHost          string   `json:"chost,omitempty"`
	CC             string   `json:"cc,omitempty"`
	BDEPEND        string   `json:"bdepend,omitempty"`
	RDEPEND        string   `json:"rdepend,omitempty"`
	PDEPEND        string   `json:"pdepend,omitempty"`
	DEPEND         string   `json:"depend,omitempty"`
	REQUIRES       string   `json:"requires,omitempty"`
	KEYWORDS       string   `json:"keywords,omitempty"`
	PROVIDES       string   `json:"provides,omitempty"`
	PROPERTIES     string   `json:"properties,omitempty"`
	SIZE           string   `json:"size,omitempty"`
	BUILD_TIME     string   `json:"build_time,omitempty"`
	CBUILD         string   `json:"cbuild,omitempty"`
	COUNTER        string   `json:"counter,omitempty"`
	CTARGET        string   `json:"ctarget,omitempty"`
	DEFINED_PHASES string   `json:"defined_phases,omitempty"`
	DESCRIPTION    string   `json:"description,omitempty"`
	DEBUGBUILD     string   `json:"debugbuild,omitempty"`
	FEATURES       string   `json:"features,omitempty"`
	HOMEPAGE       string   `json:"homepage,omitempty"`
	INHERITED      string   `json:"inherited,omitempty"`
	NEEDED         string   `json:"needed,omitempty"`
	NEEDED_ELF2    string   `json:"needed_elf2,omitempty"`
	QA_PREBUILT    string   `json:"qa_prebuilt,omitempty"`
	PKGUSE         string   `json:"pkguse,omitempty"`
	RESTRICT       string   `json:"restrict,omitempty"`
	BINPKGMD5      string   `json:"binpkgmd5,omitempty"`

	Ebuild string `json:"ebuild,omitempty"`

	CONTENTS []PortageContentElem `json:"content,omitempty"`

	// Base64 content
	EnvironmentBz2 string `json:"environment_bz2,omitempty"`
}

func NewPortageMetaData added in v0.11.0

func NewPortageMetaData(pkg *GentooPackage) *PortageMetaData

func ParseMetadataCatDir added in v0.11.0

func ParseMetadataCatDir(dir string, opts *PortageUseParseOpts) ([]*PortageMetaData, error)

func ParseMetadataDir added in v0.11.0

func ParseMetadataDir(dir string, opts *PortageUseParseOpts) ([]*PortageMetaData, error)

func ParsePackageMetadataDir added in v0.11.0

func ParsePackageMetadataDir(dir string, opts *PortageUseParseOpts) (*PortageMetaData, error)

func (*PortageMetaData) WriteMetadata2Dir added in v0.11.0

func (m *PortageMetaData) WriteMetadata2Dir(dir string, opts *PortageUseParseOpts) error

type PortageUseParseOpts added in v0.11.0

type PortageUseParseOpts struct {
	UseFilters      []string `json:"use_filters,omitempty" yaml:"use_filters,omitempty"`
	Categories      []string `json:"categories,omitempty" yaml:"categories,omitempty"`
	Packages        []string `json:"pkgs_filters,omitempty" yaml:"pkgs_filters,omitempty"`
	Verbose         bool     `json:"verbose,omitempty" yaml:"verbose,omitempty"`
	WithEnvironment bool     `json:"with_environment,omitempty" yaml:"with_environment,omitempty"`
}

func (*PortageUseParseOpts) AddCategory added in v0.11.0

func (o *PortageUseParseOpts) AddCategory(cat string)

func (*PortageUseParseOpts) IsCatAdmit added in v0.11.0

func (o *PortageUseParseOpts) IsCatAdmit(cat string) bool

func (*PortageUseParseOpts) IsPkgAdmit added in v0.11.0

func (o *PortageUseParseOpts) IsPkgAdmit(pkg string) bool

Jump to

Keyboard shortcuts

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