types

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: May 2, 2026 License: GPL-3.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildOpts

type BuildOpts struct {
	Clean           bool
	Interactive     bool
	NoSuffix        bool
	DisableFirejail bool
}

type Config

type Config struct {
	RootCmd          string   `json:"rootCmd" koanf:"rootCmd"`
	UseRootCmd       bool     `json:"useRootCmd" koanf:"useRootCmd"`
	PagerStyle       string   `json:"pagerStyle" koanf:"pagerStyle"`
	IgnorePkgUpdates []string `json:"ignorePkgUpdates" koanf:"ignorePkgUpdates"`
	Repos            []Repo   `json:"repo" koanf:"repo"`
	AutoPull         bool     `json:"autoPull" koanf:"autoPull"`
	LogLevel         string   `json:"logLevel" koanf:"logLevel"`

	FirejailExclude            []string `json:"firejailExclude" koanf:"firejailExclude"`
	HideFirejailExcludeWarning bool     `json:"hideFirejailExcludeWarning" koanf:"hideFirejailExcludeWarning"`

	ForbidSkipInChecksums bool `json:"forbidSkipInChecksums" koanf:"forbidSkipInChecksums"`
	ForbidBuildCommand    bool `json:"forbidBuildCommand" koanf:"forbidBuildCommand"`
}

Config represents the ALR configuration file

type Directories

type Directories struct {
	BaseDir   string
	SrcDir    string
	PkgDir    string
	HomeDir   string
	ScriptDir string
}

type Repo

type Repo struct {
	Name      string   `json:"name" koanf:"name" toml:"name"`
	URL       string   `json:"url" koanf:"url" toml:"url"`
	Ref       string   `json:"ref" koanf:"ref" toml:"ref"`
	Mirrors   []string `json:"mirrors" koanf:"mirrors" toml:"mirrors"`
	ReportUrl string   `json:"report_url" koanf:"report_url" toml:"report_url"`

	Title       string `json:"title" koanf:"title" toml:"title"`
	Summary     string `json:"summary" koanf:"summary" toml:"summary"`
	Description string `json:"description" koanf:"description" toml:"description"`
	Homepage    string `json:"homepage" koanf:"homepage" toml:"homepage"`
	Icon        string `json:"icon" koanf:"icon" toml:"icon"`

	Disabled bool `json:"disabled" koanf:"disabled" toml:"disabled"`

	RequireSignedCommits bool     `json:"require_signed_commits" koanf:"require_signed_commits" toml:"require_signed_commits"`
	TrustedKeys          []string `json:"trusted_keys" koanf:"trusted_keys" toml:"trusted_keys"`
}

Repo represents a Stapler repo within a configuration file

func ApplyOverride added in v0.1.0

func ApplyOverride(base Repo, o RepoOverride) Repo

ApplyOverride returns a copy of base with non-nil override fields applied.

func (*Repo) MergeFrom added in v0.0.30

func (r *Repo) MergeFrom(other *Repo)

type RepoConfig

type RepoConfig struct {
	Repo struct {
		MinVersion string   `toml:"minVersion"`
		URL        string   `toml:"url"`
		Ref        string   `toml:"ref"`
		Mirrors    []string `toml:"mirrors"`
		ReportUrl  string   `toml:"report_url"`

		Title       string `toml:"title"`
		Summary     string `toml:"summary"`
		Description string `toml:"description"`
		Homepage    string `toml:"homepage"`
		Icon        string `toml:"icon"`

		RequireSignedCommits bool     `toml:"require_signed_commits"`
		TrustedKeys          []string `toml:"trusted_keys"`
	}
}

RepoConfig represents a Stapler repo's stapler-repo.toml file.

type RepoOrigin added in v0.1.0

type RepoOrigin int

RepoOrigin tracks where a repo was loaded from.

const (
	// Deprecated
	RepoOriginInline RepoOrigin = iota // [[repo]] in stplr.toml
	RepoOriginSystem                   // /usr/lib/stplr/repos.d
	RepoOriginGlobal                   // /etc/stplr/repos.d
)

type RepoOverride added in v0.1.0

type RepoOverride struct {
	Disabled             *bool    `toml:"disabled"`
	Ref                  *string  `toml:"ref"`
	URL                  *string  `toml:"url"`
	Mirrors              []string `toml:"mirrors"`
	RequireSignedCommits *bool    `toml:"require_signed_commits"`
}

RepoOverride holds only the fields the user explicitly wants to override. Pointer fields: nil means "don't touch". Slice fields: nil means "don't touch", []string{} means "clear".

func MergeOverrides added in v0.1.0

func MergeOverrides(a, b RepoOverride) RepoOverride

type RepoWithMeta added in v0.1.0

type RepoWithMeta struct {
	Repo
	Origin   RepoOrigin
	FilePath string // path to the source file; empty for inline repos
}

RepoWithMeta wraps a Repo with information about its source.

type Scripts

type Scripts struct {
	PreInstall  string `sh:"preinstall"`
	PostInstall string `sh:"postinstall"`
	PreRemove   string `sh:"preremove"`
	PostRemove  string `sh:"postremove"`
	PreUpgrade  string `sh:"preupgrade"`
	PostUpgrade string `sh:"postupgrade"`
	PreTrans    string `sh:"pretrans"`
	PostTrans   string `sh:"posttrans"`
}

Source Files

  • build.go
  • config.go
  • repo.go
  • repometa.go

Jump to

Keyboard shortcuts

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