Documentation
¶
Overview ¶
Package gentooling provides read-only, interoperable Gentoo system and package-state primitives for Go applications.
Index ¶
- Variables
- func PortageStateLockPath(path string) string
- func SortedRepositoryNames(repositories []RepositoryPath) []string
- type Applicability
- type Atom
- type BuildMetadata
- type CandidateInventory
- type CandidateOptions
- type ConfigOptions
- type DependencyMetadata
- type DynamicKernelEvidence
- type EffectiveConfig
- type EvaluatedKernelRequirement
- type EvaluatedKernelRequirements
- type FlagChange
- type InstalledInventory
- type InstalledKernelModuleInventory
- type InstalledKernelModuleOptions
- type InstalledKernelModulePackage
- type InstalledOptions
- type InstalledPackage
- type IntegrityError
- type IntegrityMode
- type Issue
- type IssueCode
- type KernelCheckInvocation
- type KernelConfigExpectation
- type KernelConfigRequirement
- type KernelFunctionCall
- type KernelModuleEvidence
- type KernelModuleEvidenceKind
- type KernelModuleFile
- type KernelModuleRebuildState
- type KernelRequirementContext
- type KernelRequirementOptions
- type KernelRequirementSet
- type KernelRequirementSeverity
- type KeywordChange
- type MergeType
- type NewsContext
- type NewsItem
- type NewsPaths
- type NewsState
- type Op
- type PackageContext
- type PackageFlagRule
- type PackageID
- type PackageKeywordRule
- type PackageMaskRule
- type PackageVisibilityContext
- type PolicySource
- type PreservedLibraryRecord
- type Profile
- type ProfileLayer
- type ProspectiveCandidateEvaluation
- type Repository
- type RepositoryCandidate
- type RepositoryPath
- type Selection
- type SelectionKind
- type Selections
- type SlotOp
- type SnapshotConsistency
- type SnapshotOptions
- type SystemPaths
- type SystemSnapshot
- type UnresolvedKernelRequirement
- type UseCondition
- type UseDecision
- type UseDeclaration
- type UseDefault
- type UseEvaluation
- type UseEvidence
- type UseFlag
- type UseState
- type Version
- type VisibilityEvidence
- type VisibilityResult
- type VisibilityStatus
Constants ¶
This section is empty.
Variables ¶
var ( ErrIncompleteEvidence = errors.New("gentooling: incomplete evidence") ErrInterruptedRecord = errors.New("gentooling: interrupted package record") ErrCorruptRecord = errors.New("gentooling: corrupt package record") ErrUnreadableRecord = errors.New("gentooling: unreadable package record") ErrConcurrentMutation = errors.New("gentooling: concurrent mutation") )
var ( ErrLockObservationUnsupported = errors.New("gentooling: Portage lock observation unsupported") ErrCandidateNotFound = errors.New("gentooling: repository candidate not found") )
var ErrInvalidData = errors.New("gentooling: invalid data")
var ErrProfileCycle = errors.New("gentooling: profile parent cycle")
var ErrRepositoryCycle = errors.New("gentooling: repository master cycle")
Functions ¶
func PortageStateLockPath ¶ added in v0.5.0
PortageStateLockPath mirrors portage.locks.lockdir. A state path or directory is protected by a sibling .<basename>.portage_lockfile.
func SortedRepositoryNames ¶
func SortedRepositoryNames(repositories []RepositoryPath) []string
SortedRepositoryNames provides deterministic diagnostics for configured repository maps.
Types ¶
type Applicability ¶ added in v0.10.0
type Applicability string
const ( Applicable Applicability = "applicable" Inapplicable Applicability = "inapplicable" Indeterminate Applicability = "indeterminate" )
type Atom ¶
type Atom struct {
Op Op
Category string
Package string
Version *Version
Slot string
Subslot string
SlotOp SlotOp
Repo string
UseFlags []UseFlag
}
Atom is a parsed Gentoo package dependency atom.
func ParsePackageAtom ¶
ParsePackageAtom is the pointer-returning compatibility form of ParseAtom.
func ParsePackageVersion ¶
ParsePackageVersion parses a CPV. Unlike ParseAtom, it accepts a version without a dependency operator.
type BuildMetadata ¶
type CandidateInventory ¶ added in v0.8.0
type CandidateInventory struct {
Candidates []RepositoryCandidate
Issues []Issue
}
func ReadRepositoryCandidates ¶ added in v0.8.0
func ReadRepositoryCandidates(ctx context.Context, repositories []Repository, options CandidateOptions) (CandidateInventory, error)
ReadRepositoryCandidates reads evaluated repository metadata from metadata/md5-cache. It never evaluates ebuild shell code.
type CandidateOptions ¶ added in v0.8.0
type CandidateOptions struct {
Integrity IntegrityMode
Workers int
// contains filtered or unexported fields
}
type ConfigOptions ¶
type ConfigOptions struct {
// Environment is command input, not the process environment. Only
// documented Portage variables and active USE_EXPAND variables are used.
Environment []string
}
type DependencyMetadata ¶
type DynamicKernelEvidence ¶ added in v0.9.0
type DynamicKernelEvidence struct {
Expression string
Reason string
Conditions []UseCondition
ConditionExpression string
AssignmentOperator string
Function string
Source PolicySource
Origin string
Severity KernelRequirementSeverity
}
type EffectiveConfig ¶
type EffectiveConfig struct {
Variables map[string]string
Repositories []Repository
Profile *Profile
ProfileUse []FlagChange
UserUse []FlagChange
CommandUse []FlagChange
UserPackageUse []PackageFlagRule
UseExpand []string
UseExpandHidden []string
UseExpandImplicit []string
AcceptKeywords []KeywordChange
PackageKeywords []PackageKeywordRule
PackageMasks []PackageMaskRule
PackageUnmasks []PackageMaskRule
}
func ReadEffectiveConfig ¶
func ReadEffectiveConfig(ctx context.Context, paths SystemPaths, options ConfigOptions) (EffectiveConfig, error)
ReadEffectiveConfig loads make.globals, the active profile graph, user make.conf/package.use, and an explicit command environment. It never reads the process environment or paths absent from SystemPaths.
func (EffectiveConfig) EvaluateUse ¶
func (config EffectiveConfig) EvaluateUse(ctx context.Context, packageContext PackageContext) (UseEvaluation, error)
EvaluateUse computes effective USE for one package. It only returns flags declared by IUSE and retains every applied policy input in precedence order.
func (EffectiveConfig) EvaluateVisibility ¶ added in v0.6.0
func (config EffectiveConfig) EvaluateVisibility(ctx context.Context, candidate PackageVisibilityContext) (VisibilityResult, error)
EvaluateVisibility applies package masks and effective keyword policy to a prospective package. Ordinary rejection is a typed result, not an error.
type EvaluatedKernelRequirement ¶ added in v0.10.0
type EvaluatedKernelRequirement struct {
Symbol string
Expectation KernelConfigExpectation
Severity KernelRequirementSeverity
Applicability Applicability
Conditions []UseCondition
Invocation KernelCheckInvocation
Source PolicySource
Origin string
AssignmentOperator string
}
type EvaluatedKernelRequirements ¶ added in v0.10.0
type EvaluatedKernelRequirements struct {
Package PackageID
Requirements []EvaluatedKernelRequirement
Unresolved []UnresolvedKernelRequirement
Complete bool
}
func EvaluateKernelRequirements ¶ added in v0.10.0
func EvaluateKernelRequirements(ctx context.Context, candidate RepositoryCandidate, repositories []Repository, evaluation KernelRequirementContext) (EvaluatedKernelRequirements, error)
type FlagChange ¶
type FlagChange struct {
Name string
Enabled bool
Source PolicySource
Layer string
}
type InstalledInventory ¶
type InstalledInventory struct {
Packages []InstalledPackage
Issues []Issue
}
func ReadInstalled ¶
func ReadInstalled(ctx context.Context, paths SystemPaths, options InstalledOptions) (InstalledInventory, error)
ReadInstalled reads Portage's installed-package database. AllowPartial returns stable records alongside typed issues. RequireComplete returns the same diagnostic result plus ErrIncompleteEvidence when any evidence is incomplete. The scan detects observed mutations without claiming an atomic snapshot in the absence of a package-manager transaction lock.
type InstalledKernelModuleInventory ¶ added in v0.9.0
type InstalledKernelModuleInventory struct {
Packages []InstalledKernelModulePackage
Issues []Issue
}
func ClassifyInstalledKernelModules ¶ added in v0.9.0
func ClassifyInstalledKernelModules(inventory InstalledInventory, targetKernelRelease string) InstalledKernelModuleInventory
ClassifyInstalledKernelModules derives module and rebuild state from a caller-owned installed inventory.
func ReadInstalledKernelModules ¶ added in v0.9.0
func ReadInstalledKernelModules(ctx context.Context, paths SystemPaths, options InstalledKernelModuleOptions) (InstalledKernelModuleInventory, error)
ReadInstalledKernelModules classifies installed out-of-tree kernel-module packages from VDB eclass and file-ownership evidence. TargetKernelRelease is explicit; Gentooling never consults uname.
type InstalledKernelModuleOptions ¶ added in v0.9.0
type InstalledKernelModuleOptions struct {
Integrity IntegrityMode
Workers int
TargetKernelRelease string
}
type InstalledKernelModulePackage ¶ added in v0.9.0
type InstalledKernelModulePackage struct {
Package PackageID
Modules []KernelModuleFile
Evidence []KernelModuleEvidence
TargetKernel string
Rebuild KernelModuleRebuildState
NeedsRebuild bool
}
type InstalledOptions ¶
type InstalledOptions struct {
Integrity IntegrityMode
IncludeContents bool
// Workers bounds concurrent record reads. Zero chooses a safe runtime-based
// default. Negative values are invalid.
Workers int
// contains filtered or unexported fields
}
type InstalledPackage ¶
type InstalledPackage struct {
ID PackageID
EAPI string
RequiredUse string
EnabledUse []string
DeclaredUse []UseDeclaration
Inherited []string
Dependencies DependencyMetadata
Build BuildMetadata
Contents string
}
type IntegrityError ¶
type IntegrityError struct {
Issues []Issue
}
func (*IntegrityError) Error ¶
func (e *IntegrityError) Error() string
func (*IntegrityError) Unwrap ¶
func (e *IntegrityError) Unwrap() error
type IntegrityMode ¶
type IntegrityMode uint8
const ( AllowPartial IntegrityMode = iota RequireComplete )
type IssueCode ¶
type IssueCode string
const ( IssueMalformedIdentity IssueCode = "malformed_identity" IssueInterruptedRecord IssueCode = "interrupted_record" IssueCorruptRecord IssueCode = "corrupt_record" IssueUnreadableRecord IssueCode = "unreadable_record" IssueInvalidMetadata IssueCode = "invalid_metadata" IssueConcurrentMutation IssueCode = "concurrent_mutation" IssueDynamicKernelPolicy IssueCode = "dynamic_kernel_policy" )
type KernelCheckInvocation ¶ added in v0.9.0
type KernelCheckInvocation struct {
Function string
Conditions []UseCondition
ConditionExpression string
Source PolicySource
Origin string
}
type KernelConfigExpectation ¶ added in v0.9.0
type KernelConfigExpectation uint8
const ( KernelConfigEnabled KernelConfigExpectation = iota KernelConfigDisabled )
type KernelConfigRequirement ¶ added in v0.9.0
type KernelConfigRequirement struct {
Symbol string
Expectation KernelConfigExpectation
Severity KernelRequirementSeverity
Conditions []UseCondition
ConditionExpression string
AssignmentOperator string
Function string
Source PolicySource
Origin string
}
func (KernelConfigRequirement) Validate ¶ added in v0.9.0
func (requirement KernelConfigRequirement) Validate() error
type KernelFunctionCall ¶ added in v0.10.0
type KernelFunctionCall struct {
Caller string
Callee string
Source PolicySource
}
type KernelModuleEvidence ¶ added in v0.9.0
type KernelModuleEvidence struct {
Kind KernelModuleEvidenceKind
Value string
}
type KernelModuleEvidenceKind ¶ added in v0.9.0
type KernelModuleEvidenceKind string
const ( KernelModuleOwnedFile KernelModuleEvidenceKind = "owned_module_file" KernelModuleInheritedClass KernelModuleEvidenceKind = "inherited_module_eclass" )
type KernelModuleFile ¶ added in v0.9.0
type KernelModuleRebuildState ¶ added in v0.9.0
type KernelModuleRebuildState string
const ( KernelModuleRebuildNotEvaluated KernelModuleRebuildState = "not_evaluated" KernelModuleCurrent KernelModuleRebuildState = "current" KernelModuleTargetMissing KernelModuleRebuildState = "target_missing" KernelModuleNoArtifacts KernelModuleRebuildState = "no_module_artifacts" )
func (KernelModuleRebuildState) Validate ¶ added in v0.9.0
func (state KernelModuleRebuildState) Validate() error
type KernelRequirementContext ¶ added in v0.10.0
type KernelRequirementOptions ¶ added in v0.9.0
type KernelRequirementOptions struct {
Integrity IntegrityMode
}
type KernelRequirementSet ¶ added in v0.9.0
type KernelRequirementSet struct {
Package PackageID
Requirements []KernelConfigRequirement
Dynamic []DynamicKernelEvidence
Invocations []KernelCheckInvocation
Calls []KernelFunctionCall
}
func ReadKernelRequirements ¶ added in v0.9.0
func ReadKernelRequirements(ctx context.Context, candidate RepositoryCandidate, repositories []Repository, options KernelRequirementOptions) (KernelRequirementSet, error)
ReadKernelRequirements extracts conservative static Kconfig evidence from an ebuild and its inherited eclasses. Shell is never executed. Any runtime check or expression that cannot be represented statically is retained as Dynamic evidence for the consumer to resolve or reject.
type KernelRequirementSeverity ¶ added in v0.9.0
type KernelRequirementSeverity uint8
const ( KernelRequirementFatal KernelRequirementSeverity = iota KernelRequirementWarning )
type KeywordChange ¶ added in v0.6.0
type KeywordChange struct {
Keyword string
Enabled bool
Source PolicySource
Layer string
}
KeywordChange is one ordered ACCEPT_KEYWORDS policy operation.
type NewsContext ¶ added in v0.11.0
type NewsContext struct {
Architecture string
Profile string
InstalledPackages []PackageID
Language string
}
NewsContext contains the explicit system state used for GLEP 42 relevance.
type NewsItem ¶ added in v0.11.0
type NewsItem struct {
ID string
Path string
Title string
Author string
Date string
Revision int
Format string
DisplayIfInstalled []string
DisplayIfProfile []string
DisplayIfKeyword []string
Body string
}
NewsItem is one parsed GLEP 42 repository news item.
type NewsPaths ¶ added in v0.11.0
NewsPaths identifies one repository's GLEP 42 news and Portage state.
type NewsState ¶ added in v0.11.0
type NewsState struct {
Items []NewsItem
Relevant []NewsItem
Unread []NewsItem
UnreadPath string
SkipPath string
}
NewsState separates repository contents, relevant items, and Portage's authoritative unread subset.
func ReadNewsState ¶ added in v0.11.0
func ReadNewsState(ctx context.Context, paths NewsPaths, newsContext NewsContext) (NewsState, error)
ReadNewsState reads GLEP 42 news without modifying Portage state. Repeated restrictions of the same kind are ORed and different kinds are ANDed.
type PackageContext ¶
type PackageContext struct {
ID PackageID
DeclaredUse []UseDeclaration
Stable bool
}
PackageContext is the package-specific evidence required for USE policy evaluation. Stable is explicit because keyword acceptance is consumer policy.
type PackageFlagRule ¶
type PackageFlagRule struct {
Atom string
Flags []string
Source PolicySource
}
type PackageID ¶
type PackageID struct {
Category string
Name string
Version string
Slot string
Subslot string
Repository string
}
PackageID is the stable identity of one package version.
func ParsePackageID ¶
ParsePackageID parses a category/package-version identity. It deliberately does not accept dependency atom operators.
type PackageKeywordRule ¶ added in v0.6.0
type PackageKeywordRule struct {
Atom string
Changes []string
Source PolicySource
}
PackageKeywordRule is one package.accept_keywords entry. An empty Changes slice accepts the host testing keyword, matching Portage behavior.
type PackageMaskRule ¶ added in v0.6.0
type PackageMaskRule struct {
Atom string
Source PolicySource
Reason string
}
PackageMaskRule is one effective package mask or unmask with its rationale.
type PackageVisibilityContext ¶ added in v0.6.0
PackageVisibilityContext describes a prospective repository package.
type PolicySource ¶
type PreservedLibraryRecord ¶ added in v0.11.0
type PreservedLibraryRecord struct {
Key string
Owner PackageID
Counter string
Paths []string
RootedPaths []string
}
PreservedLibraryRecord is one Portage preserved-libraries owner record.
func ReadPreservedLibraries ¶ added in v0.11.0
func ReadPreservedLibraries(ctx context.Context, root, registryPath string) ([]PreservedLibraryRecord, error)
ReadPreservedLibraries validates and reads Portage's preserved library registry. A missing, empty, or whitespace-only registry is an empty state.
type Profile ¶
type Profile struct {
ActivePath string
Directories []string
Layers []ProfileLayer
MakeDefaults map[string]string
System []string
PackageProvided []string
UseForce []string
UseMask []string
UseStableForce []string
UseStableMask []string
PackageUse []PackageFlagRule
PackageUseForce []PackageFlagRule
PackageUseMask []PackageFlagRule
PackageUseStableForce []PackageFlagRule
PackageUseStableMask []PackageFlagRule
}
func ReadProfile ¶
func ReadProfile(ctx context.Context, paths SystemPaths) (Profile, error)
ReadProfile loads the active Portage profile in root-to-leaf order. All cross-repository parents are resolved from explicit repository paths.
type ProfileLayer ¶
type ProfileLayer struct {
Path string
Parents []string
MakeDefaults map[string]string
System []string
PackageProvided []string
UseForce []string
UseMask []string
UseStableForce []string
UseStableMask []string
PackageUse []PackageFlagRule
PackageUseForce []PackageFlagRule
PackageUseMask []PackageFlagRule
PackageUseStableForce []PackageFlagRule
PackageUseStableMask []PackageFlagRule
}
type ProspectiveCandidateEvaluation ¶ added in v0.9.0
type ProspectiveCandidateEvaluation struct {
Candidate RepositoryCandidate
Visibility VisibilityResult
Use UseEvaluation
}
type Repository ¶ added in v0.7.0
type Repository struct {
Name string
Location string
SyncType string
SyncURI string
CloneDepth *int
SyncDepth *int
Priority int
AutoSync bool
Masters []string
Main bool
Source PolicySource
}
Repository is one effective repos.conf section with root-aware paths.
func ReadRepositories ¶ added in v0.7.0
func ReadRepositories(ctx context.Context, paths SystemPaths) ([]Repository, error)
ReadRepositories discovers repositories from a root-aware repos.conf file or directory and returns them in deterministic master-before-child order.
type RepositoryCandidate ¶ added in v0.8.0
type RepositoryCandidate struct {
ID PackageID
EAPI string
Keywords []string
DeclaredUse []UseDeclaration
Inherited []string
RequiredUse string
Dependencies DependencyMetadata
MetadataPath string
}
RepositoryCandidate is the evaluated metadata Portage records for one repository package version.
type RepositoryPath ¶
type Selection ¶ added in v0.5.0
type Selection struct {
Value string
Kind SelectionKind
Atom *Atom
Source PolicySource
}
Selection is one ordered world or system entry with source provenance.
type SelectionKind ¶ added in v0.5.0
type SelectionKind uint8
SelectionKind distinguishes package atoms from named package sets.
const ( PackageSelection SelectionKind = iota SetSelection )
type Selections ¶ added in v0.5.0
Selections contains explicit user world entries and effective profile system entries. Both slices are deterministic and independently owned.
func ReadSelections ¶ added in v0.5.0
func ReadSelections(ctx context.Context, paths SystemPaths) (Selections, error)
ReadSelections reads the world file and active profile system selection.
type SnapshotConsistency ¶ added in v0.7.0
type SnapshotConsistency uint8
SnapshotConsistency selects an explicit system-snapshot guarantee.
const ( // LockedAndStabilized observes Portage-compatible VDB/world locks and then // requires two agreeing complete observations. LockedAndStabilized SnapshotConsistency = iota // StabilizedLockless skips lock files and requires agreeing observations. // It is intended for explicit unprivileged inspection, never fallback. StabilizedLockless )
type SnapshotOptions ¶ added in v0.5.0
type SnapshotOptions struct {
Installed InstalledOptions
Config ConfigOptions
Candidates CandidateOptions
// IncludeCandidates binds repository candidates to each stabilized
// observation so prospective policy evaluation cannot mix snapshots.
IncludeCandidates bool
Consistency SnapshotConsistency
// Attempts is the maximum number of complete observations. Zero uses 3.
Attempts int
// contains filtered or unexported fields
}
SnapshotOptions configures one combined system-state observation.
type SystemPaths ¶
type SystemPaths struct {
Root string
ConfigRoot string
VDB string
World string
ReposConf string
MakeGlobals string
Repositories []RepositoryPath
ActiveProfile string
}
SystemPaths names every host location a Gentooling operation may inspect. Callers may use DefaultSystemPaths for a live system or provide fixture and alternate-root paths explicitly.
func DefaultSystemPaths ¶
func DefaultSystemPaths(root string) SystemPaths
type SystemSnapshot ¶ added in v0.5.0
type SystemSnapshot struct {
Installed InstalledInventory
Config EffectiveConfig
Repositories []Repository
Candidates CandidateInventory
Selections Selections
Consistency SnapshotConsistency
}
SystemSnapshot is a mutually consistent view of installed packages, effective Portage policy, and world/system selections.
func ReadSystemSnapshot ¶ added in v0.5.0
func ReadSystemSnapshot(ctx context.Context, paths SystemPaths, options SnapshotOptions) (SystemSnapshot, error)
ReadSystemSnapshot returns only after two consecutive complete observations agree. LockedAndStabilized additionally holds shared VDB and world locks. Persistent change is reported as ErrConcurrentMutation instead of returning mixed state.
func (SystemSnapshot) EvaluateCandidate ¶ added in v0.9.0
func (snapshot SystemSnapshot) EvaluateCandidate(ctx context.Context, id PackageID) (ProspectiveCandidateEvaluation, error)
EvaluateCandidate evaluates one exact candidate using configuration and repository evidence captured by this stabilized snapshot.
type UnresolvedKernelRequirement ¶ added in v0.10.0
type UnresolvedKernelRequirement struct {
Applicability Applicability
Blocking bool
Severity KernelRequirementSeverity
Category string
OperatorText string
DeveloperText string
Conditions []UseCondition
Invocation KernelCheckInvocation
Source PolicySource
Origin string
}
type UseCondition ¶ added in v0.9.0
type UseDecision ¶
type UseDecision struct {
Name string
Enabled bool
Default UseDefault
Forced bool
Masked bool
Evidence []UseEvidence
}
UseDecision is the effective state and provenance for one declared flag.
type UseDeclaration ¶
type UseDeclaration struct {
Name string
Default UseDefault
}
func (UseDeclaration) String ¶
func (d UseDeclaration) String() string
type UseDefault ¶
type UseDefault uint8
const ( UseDefaultUnspecified UseDefault = iota UseDefaultEnabled UseDefaultDisabled )
type UseEvaluation ¶
type UseEvaluation struct {
Package PackageID
Decisions []UseDecision
}
UseEvaluation contains deterministic package-specific USE decisions.
func (UseEvaluation) Decision ¶
func (evaluation UseEvaluation) Decision(name string) (UseDecision, bool)
Decision returns a flag decision by name.
type UseEvidence ¶
type UseEvidence struct {
Enabled bool
Kind string
Source PolicySource
Layer string
}
UseEvidence records one ordered input to an effective USE decision.
type UseFlag ¶
type UseFlag struct {
Name string
Enabled bool
Conditional bool
Equal bool
Negated bool
Default *bool
}
UseDependency is one USE constraint attached to an atom.
type UseState ¶
UseState contains both enabled and declared USE state. Caller is used to evaluate conditional and equality dependencies.
type Version ¶
Version is a parsed Gentoo package version.
func ParseVersion ¶
ParseVersion parses a Gentoo version.
type VisibilityEvidence ¶ added in v0.6.0
type VisibilityEvidence struct {
Kind string
Value string
Enabled bool
Source PolicySource
Layer string
Reason string
}
VisibilityEvidence records one policy input relevant to the outcome.
type VisibilityResult ¶ added in v0.6.0
type VisibilityResult struct {
Package PackageID
Visible bool
Stable bool
Status VisibilityStatus
Architecture string
PackageKeywords []string
AcceptedKeywords []string
Evidence []VisibilityEvidence
}
VisibilityResult is the effective result plus an ordered explanation.
type VisibilityStatus ¶ added in v0.6.0
type VisibilityStatus string
VisibilityStatus is the primary prospective-package visibility outcome.
const ( VisibilityVisible VisibilityStatus = "visible" VisibilityPackageMasked VisibilityStatus = "package_masked" VisibilityKeywordMasked VisibilityStatus = "keyword_masked" VisibilityUnsupportedArchitecture VisibilityStatus = "unsupported_architecture" )