Documentation ΒΆ
Overview ΒΆ
Package nfpm provides ways to package programs in some linux packaging formats.
Index ΒΆ
- func Register(format string, p Packager)
- func Validate(info *Info) error
- type APK
- type APKSignature
- type Config
- type Deb
- type DebScripts
- type DebSignature
- type DebTriggers
- type ErrFieldEmpty
- type ErrNoPackager
- type ErrSigningFailure
- type Info
- type Overridables
- type Packager
- type RPM
- type RPMSignature
- type Scripts
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
Types ΒΆ
type APK ΒΆ added in v1.8.0
type APK struct {
Signature APKSignature `yaml:"signature,omitempty"`
}
type APKSignature ΒΆ added in v1.8.0
type Config ΒΆ added in v0.8.0
type Config struct { Info `yaml:",inline"` Overrides map[string]Overridables `yaml:"overrides,omitempty"` }
Config contains the top level configuration for packages.
func Parse ΒΆ added in v0.8.0
Parse decodes YAML data from an io.Reader into a configuration struct.
func ParseFile ΒΆ added in v0.8.0
ParseFile decodes YAML data from a file path into a configuration struct.
type Deb ΒΆ added in v0.13.0
type Deb struct { Scripts DebScripts `yaml:"scripts,omitempty"` Triggers DebTriggers `yaml:"triggers,omitempty"` Breaks []string `yaml:"breaks,omitempty"` VersionMetadata string `yaml:"metadata,omitempty"` // Deprecated: Moved to Info Signature DebSignature `yaml:"signature,omitempty"` }
Deb is custom configs that are only available on deb packages.
type DebScripts ΒΆ added in v0.13.0
type DebScripts struct { Rules string `yaml:"rules,omitempty"` Templates string `yaml:"templates,omitempty"` }
DebScripts is scripts only available on deb packages.
type DebSignature ΒΆ added in v1.8.0
type DebTriggers ΒΆ added in v1.6.0
type DebTriggers struct { Interest []string `yaml:"interest,omitempty"` InterestAwait []string `yaml:"interest_await,omitempty"` InterestNoAwait []string `yaml:"interest_noawait,omitempty"` Activate []string `yaml:"activate,omitempty"` ActivateAwait []string `yaml:"activate_await,omitempty"` ActivateNoAwait []string `yaml:"activate_noawait,omitempty"` }
DebTriggers contains triggers only available for deb packages. https://wiki.debian.org/DpkgTriggers https://man7.org/linux/man-pages/man5/deb-triggers.5.html
type ErrFieldEmpty ΒΆ added in v1.3.0
type ErrFieldEmpty struct {
// contains filtered or unexported fields
}
ErrFieldEmpty happens when some required field is empty.
func (ErrFieldEmpty) Error ΒΆ added in v1.3.0
func (e ErrFieldEmpty) Error() string
type ErrNoPackager ΒΆ added in v1.3.0
type ErrNoPackager struct {
// contains filtered or unexported fields
}
ErrNoPackager happens when no packager is registered for the given format.
func (ErrNoPackager) Error ΒΆ added in v1.3.0
func (e ErrNoPackager) Error() string
type ErrSigningFailure ΒΆ added in v1.8.0
type ErrSigningFailure struct {
Err error
}
ErrSigningFailure is returned whenever something went wrong during the package signing process. The underlying error can be unwrapped and could be crypto-related or something that occurred while adding the signature to the package.
func (*ErrSigningFailure) Error ΒΆ added in v1.8.0
func (s *ErrSigningFailure) Error() string
func (*ErrSigningFailure) Unwarp ΒΆ added in v1.8.0
func (s *ErrSigningFailure) Unwarp() error
type Info ΒΆ
type Info struct { Overridables `yaml:",inline"` Name string `yaml:"name,omitempty"` Arch string `yaml:"arch,omitempty"` Platform string `yaml:"platform,omitempty"` Epoch string `yaml:"epoch,omitempty"` Version string `yaml:"version,omitempty"` Release string `yaml:"release,omitempty"` Prerelease string `yaml:"prerelease,omitempty"` VersionMetadata string `yaml:"version_metadata,omitempty"` Section string `yaml:"section,omitempty"` Priority string `yaml:"priority,omitempty"` Maintainer string `yaml:"maintainer,omitempty"` Description string `yaml:"description,omitempty"` Vendor string `yaml:"vendor,omitempty"` Homepage string `yaml:"homepage,omitempty"` License string `yaml:"license,omitempty"` Bindir string `yaml:"bindir,omitempty"` // Deprecated: this does nothing. TODO: remove. Changelog string `yaml:"changelog,omitempty"` DisableGlobbing bool `yaml:"disable_globbing"` Target string `yaml:"-"` }
Info contains information about a single package.
func WithDefaults ΒΆ
WithDefaults set some sane defaults into the given Info.
func (*Info) GetChangeLog ΒΆ added in v1.5.0
func (info *Info) GetChangeLog() (log *chglog.PackageChangeLog, err error)
GetChangeLog parses the provided changelog file.
type Overridables ΒΆ added in v0.8.0
type Overridables struct { Replaces []string `yaml:"replaces,omitempty"` Provides []string `yaml:"provides,omitempty"` Depends []string `yaml:"depends,omitempty"` Recommends []string `yaml:"recommends,omitempty"` Suggests []string `yaml:"suggests,omitempty"` Conflicts []string `yaml:"conflicts,omitempty"` Files map[string]string `yaml:"files,omitempty"` ConfigFiles map[string]string `yaml:"config_files,omitempty"` Symlinks map[string]string `yaml:"symlinks,omitempty"` EmptyFolders []string `yaml:"empty_folders,omitempty"` Scripts Scripts `yaml:"scripts,omitempty"` RPM RPM `yaml:"rpm,omitempty"` Deb Deb `yaml:"deb,omitempty"` APK APK `yaml:"apk,omitempty"` }
Overridables contain the field which are overridable in a package.
type Packager ΒΆ
type Packager interface { Package(info *Info, w io.Writer) error ConventionalFileName(info *Info) string }
Packager represents any packager implementation.
type RPM ΒΆ added in v0.13.0
type RPM struct { Group string `yaml:"group,omitempty"` Summary string `yaml:"summary,omitempty"` Compression string `yaml:"compression,omitempty"` // https://www.cl.cam.ac.uk/~jw35/docs/rpm_config.html ConfigNoReplaceFiles map[string]string `yaml:"config_noreplace_files,omitempty"` Signature RPMSignature `yaml:"signature,omitempty"` GhostFiles []string `yaml:"ghost_files,omitempty"` }
RPM is custom configs that are only available on RPM packages.
type RPMSignature ΒΆ added in v1.8.0
type Scripts ΒΆ added in v0.7.0
type Scripts struct { PreInstall string `yaml:"preinstall,omitempty"` PostInstall string `yaml:"postinstall,omitempty"` PreRemove string `yaml:"preremove,omitempty"` PostRemove string `yaml:"postremove,omitempty"` }
Scripts contains information about maintainer scripts for packages.
Directories ΒΆ
Path | Synopsis |
---|---|
Package acceptance contains acceptance tests
|
Package acceptance contains acceptance tests |
Package apk implements nfpm.Packager providing .apk bindings.
|
Package apk implements nfpm.Packager providing .apk bindings. |
cmd
|
|
nfpm
Package main contains the main nfpm cli source code.
|
Package main contains the main nfpm cli source code. |
Package deb implements nfpm.Packager providing .deb bindings.
|
Package deb implements nfpm.Packager providing .deb bindings. |
internal
|
|
glob
Package glob provides file globbing for use in nfpm.Packager implementations
|
Package glob provides file globbing for use in nfpm.Packager implementations |
Package rpm implements nfpm.Packager providing .rpm bindings using google/rpmpack.
|
Package rpm implements nfpm.Packager providing .rpm bindings using google/rpmpack. |