kit

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2025 License: GPL-3.0 Imports: 37 Imported by: 0

Documentation

Overview

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2021-2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Copyright © 2024 Macaroni OS Linux See AUTHORS and LICENSE for the license details and contributors.

Index

Constants

View Source
const (
	README = `` /* 176-byte string literal not displayed */

)

Variables

This section is empty.

Functions

func AddFilesAndCommit

func AddFilesAndCommit(worktree *git.Worktree, files []string,
	commitMessage, signatureName, signatureEmail string) (plumbing.Hash, error)

func BranchExists

func BranchExists(remoteUrl, branchName string) (bool, error)

func CheckRedirect added in v0.7.0

func CheckRedirect(req *http.Request, via []*http.Request) error

func Clone

func Clone(k *specs.ReposcanKit, targetdir string, o *CloneOptions) error

func CloneAndCreateBranch

func CloneAndCreateBranch(k *specs.ReposcanKit,
	targetdir string, o *CloneOptions) error

func CloneKits

func CloneKits(k *specs.ReposcanAnalysis, targetdir string, o *CloneOptions) error

func CreatePullRequest added in v0.6.0

func CreatePullRequest(client *github.Client, ctx context.Context,
	title, srcBranch, targetBranch, body,
	githubUser, githubRepo string) (*github.PullRequest, error)

func GetGithubAuth added in v0.12.0

func GetGithubAuth(opts *PushOptions) (*http.BasicAuth, error)

func Push

func Push(repoDir string, opts *PushOptions) error

func PushBranch added in v0.6.0

func PushBranch(repoDir, branch string, opts *PushOptions) error

func RunReposcanGenerate added in v0.7.0

func RunReposcanGenerate(sourceDir, kitName, kitBranch, targetFile string,
	eclassDirs []string, concurrency int, verbose bool) error

Types

type AtomError added in v0.7.0

type AtomError struct {
	Atom  *specs.RepoScanAtom `json:"atom,omitempty" yaml:"atom,omitempty"`
	Error string              `json:"error,omitempty" yaml:"error,omitempty"`
}

type AtomsStats added in v0.7.0

type AtomsStats struct {
	TotAtoms  int   `json:"tot_atoms,omitempty" yaml:"tot_atoms,omitempty"`
	TotErrors int   `json:"tot_errors,omitempty" yaml:"tot_errors,omitempty"`
	TotElab   int   `json:"tot_elaborated,omitempty" yaml:"tot_elaborated,omitempty"`
	TotSize   int64 `json:"tot_size,omitempty" yaml:"tot_size,omitempty"`
	// contains filtered or unexported fields
}

func NewAtomsStats added in v0.7.0

func NewAtomsStats() *AtomsStats

func (*AtomsStats) IncrementAtoms added in v0.7.0

func (a *AtomsStats) IncrementAtoms()

func (*AtomsStats) IncrementElab added in v0.7.0

func (a *AtomsStats) IncrementElab()

func (*AtomsStats) IncrementErrors added in v0.7.0

func (a *AtomsStats) IncrementErrors()

func (*AtomsStats) IncrementSize added in v0.7.0

func (a *AtomsStats) IncrementSize(i int64)

type CloneOptions

type CloneOptions struct {
	GitCloneOptions *git.CloneOptions
	Verbose         bool
	Summary         bool
	Results         []*specs.ReposcanKit

	// Commit data
	BoostrapCommitComment string
	SignatureName         string
	SignatureEmail        string
}

func (*CloneOptions) GetInitialCiComment

func (co *CloneOptions) GetInitialCiComment() string

func (*CloneOptions) GetSignatureEmail

func (co *CloneOptions) GetSignatureEmail() string

func (*CloneOptions) GetSignatureName

func (co *CloneOptions) GetSignatureName() string

type FetchOpts added in v0.7.0

type FetchOpts struct {
	Concurrency     int
	GenReposcan     bool
	Verbose         bool
	CleanWorkingDir bool
	CheckOnlySize   bool

	Atoms []string
}

func NewFetchOpts added in v0.7.0

func NewFetchOpts() *FetchOpts

type Fetcher added in v0.7.0

type Fetcher interface {
	Sync(specfile string, opts *FetchOpts) error
	SyncFile(name, source, target string, hashes *map[string]string) error
	SetWorkDir(d string)
	SetDownloadDir(d string)
	GetWorkDir() string
	GetTargetDir() string
	GetReposcanDir() string
	GetDownloadDir() string
	GetFilesList() ([]string, error)
	GetType() string
	GetStats() *AtomsStats
	GetAtomsInError() *[]*AtomError
}

func NewFetcher added in v0.7.0

func NewFetcher(c *specs.MarkDevkitConfig, backend string, opts map[string]string) (Fetcher, error)

type FetcherCommon added in v0.7.0

type FetcherCommon struct {
	Config *specs.MarkDevkitConfig
	Logger *log.MarkDevkitLogger

	Resolver *RepoScanResolver

	WorkDir     string
	DownloadDir string

	Stats     *AtomsStats
	RestGuard *guard.RestGuard

	AtomInError []*AtomError
	// contains filtered or unexported fields
}

func NewFetcherCommon added in v0.7.0

func NewFetcherCommon(c *specs.MarkDevkitConfig) *FetcherCommon

func (*FetcherCommon) AddAtomInError added in v0.7.0

func (f *FetcherCommon) AddAtomInError(a *specs.RepoScanAtom, err error)

func (*FetcherCommon) DownloadAtomsFiles added in v0.7.0

func (f *FetcherCommon) DownloadAtomsFiles(mkit *specs.DistfilesSpec, atom *specs.RepoScanAtom) error

func (*FetcherCommon) EnsureLayout added in v0.14.0

func (f *FetcherCommon) EnsureLayout(mkit *specs.DistfilesSpec, opts *FetchOpts) error

func (*FetcherCommon) GenerateKitCacheFile added in v0.7.0

func (f *FetcherCommon) GenerateKitCacheFile(sourceDir, kitName, kitBranch, targetFile string,
	eclassDirs []string, concurrency int, verbose bool) error

func (*FetcherCommon) GenerateReposcanFiles added in v0.7.0

func (f *FetcherCommon) GenerateReposcanFiles(mkit *specs.DistfilesSpec, opts *FetchOpts) error

func (*FetcherCommon) GetAtomsInError added in v0.7.0

func (f *FetcherCommon) GetAtomsInError() *[]*AtomError

func (*FetcherCommon) GetDownloadDir added in v0.7.0

func (f *FetcherCommon) GetDownloadDir() string

func (*FetcherCommon) GetReposcanDir added in v0.7.0

func (f *FetcherCommon) GetReposcanDir() string

func (*FetcherCommon) GetStats added in v0.7.0

func (f *FetcherCommon) GetStats() *AtomsStats

func (*FetcherCommon) GetTargetDir added in v0.7.0

func (f *FetcherCommon) GetTargetDir() string

func (*FetcherCommon) GetWorkDir added in v0.7.0

func (f *FetcherCommon) GetWorkDir() string

func (*FetcherCommon) PrepareSourcesKits added in v0.7.0

func (f *FetcherCommon) PrepareSourcesKits(mkit *specs.DistfilesSpec, opts *FetchOpts) error

func (*FetcherCommon) SetDownloadDir added in v0.12.0

func (f *FetcherCommon) SetDownloadDir(d string)

func (*FetcherCommon) SetWorkDir added in v0.7.0

func (f *FetcherCommon) SetWorkDir(d string)

func (*FetcherCommon) SetupResolver added in v0.8.1

func (f *FetcherCommon) SetupResolver(mkit *specs.DistfilesSpec, opts *FetchOpts) error

type FetcherDir added in v0.7.0

type FetcherDir struct {
	*FetcherCommon
}

func NewFetcherDir added in v0.7.0

func NewFetcherDir(c *specs.MarkDevkitConfig) *FetcherDir

func (*FetcherDir) GetFilesList added in v0.12.0

func (f *FetcherDir) GetFilesList() ([]string, error)

func (*FetcherDir) GetType added in v0.12.0

func (f *FetcherDir) GetType() string

func (*FetcherDir) Sync added in v0.7.0

func (f *FetcherDir) Sync(specfile string, opts *FetchOpts) error

func (*FetcherDir) SyncFile added in v0.12.0

func (f *FetcherDir) SyncFile(name, source, target string, hashes *map[string]string) error

type FetcherS3 added in v0.7.0

type FetcherS3 struct {
	*FetcherCommon

	MinioClient *minio.Client
	Bucket      string
	Prefix      string
}

func NewFetcherS3 added in v0.7.0

func NewFetcherS3(c *specs.MarkDevkitConfig, opts map[string]string) (*FetcherS3, error)

func (*FetcherS3) GetFileFromObjectStorage added in v0.7.0

func (f *FetcherS3) GetFileFromObjectStorage(file, to string) error

func (*FetcherS3) GetFilesList added in v0.12.0

func (f *FetcherS3) GetFilesList() ([]string, error)

func (*FetcherS3) GetObjectMetadataFromObjectStorage added in v0.8.0

func (f *FetcherS3) GetObjectMetadataFromObjectStorage(file string) (map[string]string, error)

func (*FetcherS3) GetType added in v0.12.0

func (f *FetcherS3) GetType() string

func (*FetcherS3) RemoveFileFromObjectStorage added in v0.7.0

func (f *FetcherS3) RemoveFileFromObjectStorage(file string) error

func (*FetcherS3) Sync added in v0.7.0

func (f *FetcherS3) Sync(specfile string, opts *FetchOpts) error

func (*FetcherS3) SyncFile added in v0.12.0

func (f *FetcherS3) SyncFile(name, source, target string, hashes *map[string]string) error

func (*FetcherS3) UploadFile2ObjectStorage added in v0.7.0

func (f *FetcherS3) UploadFile2ObjectStorage(atom *specs.RepoScanAtom, file, s3path string,
	hashes *map[string]string) error

type ManifestFile

type ManifestFile struct {
	Md5   string               `json:"manifest_md5,omitempty" yaml:"manifest_md5,omitempty"`
	Files []specs.RepoScanFile `json:"files,omitempty" yaml:"files,omitempty"`
}

func NewManifestFile

func NewManifestFile(files []specs.RepoScanFile) *ManifestFile

func ParseManifest

func ParseManifest(f string) (*ManifestFile, error)

func (*ManifestFile) AddFiles

func (m *ManifestFile) AddFiles(files []specs.RepoScanFile)

func (*ManifestFile) GetFiles

func (m *ManifestFile) GetFiles(srcUri string) ([]specs.RepoScanFile, error)

func (*ManifestFile) HasFileName added in v0.9.0

func (m *ManifestFile) HasFileName(name string) bool

func (*ManifestFile) RemoveFile added in v0.9.0

func (m *ManifestFile) RemoveFile(name string)

func (*ManifestFile) Write

func (m *ManifestFile) Write(f string) error

type MergeBot

type MergeBot struct {
	Config *specs.MarkDevkitConfig
	Logger *log.MarkDevkitLogger

	Resolver       *RepoScanResolver
	TargetResolver *RepoScanResolver

	IsANewBranch bool
	WorkDir      string

	GithubClient *github.Client
	// contains filtered or unexported fields
}

func NewMergeBot

func NewMergeBot(c *specs.MarkDevkitConfig) *MergeBot

func (*MergeBot) BumpAtoms

func (m *MergeBot) BumpAtoms(mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) Clean added in v0.9.0

func (m *MergeBot) Clean(specfile string, opts *MergeBotOpts) error

func (*MergeBot) CleanAtoms added in v0.9.0

func (m *MergeBot) CleanAtoms(mkit *specs.MergeKit, opts *MergeBotOpts,
	candidates4PN *map[string][]*specs.RepoScanAtom) error

func (*MergeBot) CloneSourcesKits added in v0.12.0

func (m *MergeBot) CloneSourcesKits(mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) CloneTargetKit added in v0.12.0

func (m *MergeBot) CloneTargetKit(mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) ElaborateMerge added in v0.12.0

func (m *MergeBot) ElaborateMerge(mkit *specs.MergeKit,
	opts *MergeBotOpts, targetKit *specs.ReposcanKit) error

func (*MergeBot) GenerateKitCacheFile

func (m *MergeBot) GenerateKitCacheFile(sourceDir, kitName, kitBranch, targetFile string,
	eclassDirs []string, concurrency int, verbose bool) error

func (*MergeBot) GenerateReposcanFiles

func (m *MergeBot) GenerateReposcanFiles(mkit *specs.MergeKit, opts *MergeBotOpts, genSources bool) error

func (*MergeBot) GetReposcanDir

func (m *MergeBot) GetReposcanDir() string

func (*MergeBot) GetResolver

func (m *MergeBot) GetResolver() *RepoScanResolver

func (*MergeBot) GetSourcesDir

func (m *MergeBot) GetSourcesDir() string

func (*MergeBot) GetTargetDir

func (m *MergeBot) GetTargetDir() string

func (*MergeBot) HasCommit added in v0.12.0

func (m *MergeBot) HasCommit() bool

func (*MergeBot) HasEclassUpdate added in v0.12.0

func (m *MergeBot) HasEclassUpdate() bool

func (*MergeBot) HasMetadataUpdate added in v0.12.0

func (m *MergeBot) HasMetadataUpdate() bool

func (*MergeBot) HasProfilesUpdate added in v0.12.0

func (m *MergeBot) HasProfilesUpdate() bool

func (*MergeBot) MergeAtoms

func (m *MergeBot) MergeAtoms(candidates []*specs.RepoScanAtom,
	mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) MergeEclasses

func (m *MergeBot) MergeEclasses(mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) MergeFixups

func (m *MergeBot) MergeFixups(mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) PrepareMetadataDir added in v0.12.0

func (m *MergeBot) PrepareMetadataDir(mkit *specs.MergeKit,
	opts *MergeBotOpts) error

func (*MergeBot) PrepareProfilesDir added in v0.12.0

func (m *MergeBot) PrepareProfilesDir(mkit *specs.MergeKit,
	candidates []*specs.RepoScanAtom,
	opts *MergeBotOpts) error

func (*MergeBot) Push added in v0.6.0

func (m *MergeBot) Push(mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) PushRemoves added in v0.9.0

func (m *MergeBot) PushRemoves(mkit *specs.MergeKit, opts *MergeBotOpts,
	candidates4PN *map[string][]*specs.RepoScanAtom) error

func (*MergeBot) Run

func (m *MergeBot) Run(specfile string, opts *MergeBotOpts) error

func (*MergeBot) SearchAtoms

func (m *MergeBot) SearchAtoms(mkit *specs.MergeKit, opts *MergeBotOpts) ([]*specs.RepoScanAtom, error)

func (*MergeBot) SearchAtoms2Clean added in v0.9.0

func (m *MergeBot) SearchAtoms2Clean(mkit *specs.MergeKit, opts *MergeBotOpts) (*map[string]*specs.RepoScanAtom, error)

func (*MergeBot) SetWorkDir

func (m *MergeBot) SetWorkDir(d string)

func (*MergeBot) SetupGithubClient added in v0.6.0

func (m *MergeBot) SetupGithubClient(ctx context.Context) error

func (*MergeBot) SetupResolver added in v0.9.0

func (m *MergeBot) SetupResolver(mkit *specs.MergeKit, opts *MergeBotOpts) error

func (*MergeBot) SetupTargetResolver added in v0.9.0

func (m *MergeBot) SetupTargetResolver(mkit *specs.MergeKit,
	opts *MergeBotOpts, targetKit *specs.ReposcanKit) error

func (*MergeBot) TargetKitIsANewBranch added in v0.12.0

func (m *MergeBot) TargetKitIsANewBranch() bool

type MergeBotOpts

type MergeBotOpts struct {
	GenReposcan     bool
	PullSources     bool
	Push            bool
	PullRequest     bool
	Verbose         bool
	CleanWorkingDir bool

	GitDeepFetch int
	Concurrency  int

	SignatureName  string
	SignatureEmail string

	// Pull Request data
	GithubUser string
}

func NewMergeBotOpts

func NewMergeBotOpts() *MergeBotOpts

type PortageResolverOpts

type PortageResolverOpts struct {
	EnableUseFlags   []string
	DisabledUseFlags []string
	Conditions       []string
}

func NewPortageResolverOpts

func NewPortageResolverOpts() *PortageResolverOpts

func (*PortageResolverOpts) IsAdmitUseFlag

func (o *PortageResolverOpts) IsAdmitUseFlag(u string) bool

type PushOptions

type PushOptions struct {
	Token      string
	RemoteName string
}

func NewPushOptions

func NewPushOptions() *PushOptions

type ReleaseBot

type ReleaseBot struct {
	Config *specs.MarkDevkitConfig
	Logger *log.MarkDevkitLogger

	IsANewBranch bool
	WorkDir      string
	MetaRepoPath string
	// contains filtered or unexported fields
}

func NewReleaseBot

func NewReleaseBot(c *specs.MarkDevkitConfig) *ReleaseBot

func (*ReleaseBot) GetRepoPath

func (r *ReleaseBot) GetRepoPath(kit string) string

func (*ReleaseBot) GetSourcesDir

func (r *ReleaseBot) GetSourcesDir() string

func (*ReleaseBot) GetTargetDir

func (r *ReleaseBot) GetTargetDir() string

func (*ReleaseBot) Run

func (r *ReleaseBot) Run(specfile string, opts *ReleaseOpts) error

func (*ReleaseBot) SetWorkDir

func (r *ReleaseBot) SetWorkDir(d string)

type ReleaseOpts

type ReleaseOpts struct {
	DryRun  bool
	Push    bool
	Verbose bool

	GitDeepFetch int

	SignatureName  string
	SignatureEmail string
}

func NewReleaseOpts

func NewReleaseOpts() *ReleaseOpts

type RepoScanResolver

type RepoScanResolver struct {
	Config *specs.MarkDevkitConfig
	Logger *log.MarkDevkitLogger

	JsonSources        []string
	Sources            []specs.RepoScanSpec
	Constraints        []string
	MapConstraints     map[string]([]gentoo.GentooPackage)
	Map                map[string]([]specs.RepoScanAtom)
	IgnoreMissingDeps  bool
	ContinueWithError  bool
	DepsWithSlot       bool
	AllowEmptyKeywords bool
	DisabledUseFlags   []string
	DisabledKeywords   []string
}

func NewRepoScanResolver

func NewRepoScanResolver(c *specs.MarkDevkitConfig) *RepoScanResolver

func (*RepoScanResolver) AddPackageAtom

func (r *RepoScanResolver) AddPackageAtom(pkg string, atom *specs.RepoScanAtom)

func (*RepoScanResolver) BuildMap

func (r *RepoScanResolver) BuildMap() error

func (*RepoScanResolver) GetAllowEmptyKeywords

func (r *RepoScanResolver) GetAllowEmptyKeywords() bool

func (*RepoScanResolver) GetContinueWithError

func (r *RepoScanResolver) GetContinueWithError() bool

func (*RepoScanResolver) GetDepsWithSlot

func (r *RepoScanResolver) GetDepsWithSlot() bool

func (*RepoScanResolver) GetDisabledKeywords

func (r *RepoScanResolver) GetDisabledKeywords() []string

func (*RepoScanResolver) GetDisabledUseFlags

func (r *RepoScanResolver) GetDisabledUseFlags() []string

func (*RepoScanResolver) GetLastPackage

func (r *RepoScanResolver) GetLastPackage(pkg string, opts *PortageResolverOpts) (*specs.RepoScanAtom, error)

func (*RepoScanResolver) GetMap

func (r *RepoScanResolver) GetMap() map[string]([]specs.RepoScanAtom)

func (*RepoScanResolver) GetPackageVersions

func (r *RepoScanResolver) GetPackageVersions(pkg string) ([]specs.RepoScanAtom, bool)

func (*RepoScanResolver) GetValidPackages added in v0.9.0

func (r *RepoScanResolver) GetValidPackages(pkg string, opts *PortageResolverOpts) ([]*specs.RepoScanAtom, error)

func (*RepoScanResolver) IsDisableUseFlag

func (r *RepoScanResolver) IsDisableUseFlag(u string) bool

func (*RepoScanResolver) IsIgnoreMissingDeps

func (r *RepoScanResolver) IsIgnoreMissingDeps() bool

func (*RepoScanResolver) IsPresentPackage

func (r *RepoScanResolver) IsPresentPackage(pkg string) bool

func (*RepoScanResolver) KeywordsIsAdmit

func (r *RepoScanResolver) KeywordsIsAdmit(atom *specs.RepoScanAtom, p *gentoo.GentooPackage) (bool, error)

func (*RepoScanResolver) LoadJson

func (r *RepoScanResolver) LoadJson(path string) error

func (*RepoScanResolver) LoadJsonFiles

func (r *RepoScanResolver) LoadJsonFiles(verbose bool) error

func (*RepoScanResolver) LoadRawJson

func (r *RepoScanResolver) LoadRawJson(raw, file string) error

func (*RepoScanResolver) PackageIsAdmit

func (r *RepoScanResolver) PackageIsAdmit(target, atom *gentoo.GentooPackage,
	opts *PortageResolverOpts) (bool, error)

func (*RepoScanResolver) SetAllowEmptyKeywords

func (r *RepoScanResolver) SetAllowEmptyKeywords(v bool)

func (*RepoScanResolver) SetContinueWithError

func (r *RepoScanResolver) SetContinueWithError(v bool)

func (*RepoScanResolver) SetDepsWithSlot

func (r *RepoScanResolver) SetDepsWithSlot(v bool)

func (*RepoScanResolver) SetDisabledKeywords

func (r *RepoScanResolver) SetDisabledKeywords(k []string)

func (*RepoScanResolver) SetDisabledUseFlags

func (r *RepoScanResolver) SetDisabledUseFlags(u []string)

func (*RepoScanResolver) SetIgnoreMissingDeps

func (r *RepoScanResolver) SetIgnoreMissingDeps(v bool)

Jump to

Keyboard shortcuts

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