Documentation ΒΆ
Overview ΒΆ
Package nfpm provides ways to package programs in some linux packaging formats.
Index ΒΆ
- func ClearPackagers()
- func RegisterPackager(format string, p Packager)
- func Validate(info *Info) (err 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 PackageSignature
- type Packager
- type RPM
- type RPMSignature
- type Scripts
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func ClearPackagers ΒΆ
func ClearPackagers()
ClearPackagers clear all registered packagers, used for testing.
func RegisterPackager ΒΆ
RegisterPackager a new packager for the given format.
Types ΒΆ
type APK ΒΆ
type APK struct {
Signature APKSignature `yaml:"signature,omitempty"`
}
type APKSignature ΒΆ
type APKSignature struct { PackageSignature `yaml:",inline"` // defaults to <maintainer email>.rsa.pub KeyName string `yaml:"key_name,omitempty"` }
type Config ΒΆ
type Config struct { Info `yaml:",inline"` Overrides map[string]Overridables `yaml:"overrides,omitempty"` }
Config contains the top level configuration for packages.
type Deb ΒΆ
type Deb struct { Scripts DebScripts `yaml:"scripts,omitempty"` Triggers DebTriggers `yaml:"triggers,omitempty"` Breaks []string `yaml:"breaks,omitempty"` Signature DebSignature `yaml:"signature,omitempty"` }
Deb is custom configs that are only available on deb packages.
type DebScripts ΒΆ
type DebScripts struct { Rules string `yaml:"rules,omitempty"` Templates string `yaml:"templates,omitempty"` }
DebScripts is scripts only available on deb packages.
type DebSignature ΒΆ
type DebSignature struct { PackageSignature `yaml:",inline"` // origin, maint or archive (defaults to origin) Type string `yaml:"type,omitempty"` }
type DebTriggers ΒΆ
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 ΒΆ
type ErrFieldEmpty struct {
// contains filtered or unexported fields
}
ErrFieldEmpty happens when some required field is empty.
func (ErrFieldEmpty) Error ΒΆ
func (e ErrFieldEmpty) Error() string
type ErrNoPackager ΒΆ
type ErrNoPackager struct {
// contains filtered or unexported fields
}
ErrNoPackager happens when no packager is registered for the given format.
func (ErrNoPackager) Error ΒΆ
func (e ErrNoPackager) Error() string
type ErrSigningFailure ΒΆ
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 ΒΆ
func (s *ErrSigningFailure) Error() string
func (*ErrSigningFailure) Unwarp ΒΆ
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"` 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 ΒΆ
func (i *Info) GetChangeLog() (log *chglog.PackageChangeLog, err error)
GetChangeLog parses the provided changelog file.
type Overridables ΒΆ
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"` Contents files.Contents `yaml:"contents,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 PackageSignature ΒΆ added in v2.2.3
type Packager ΒΆ
type Packager interface { Package(info *Info, w io.Writer) error ConventionalFileName(info *Info) string }
Packager represents any packager implementation.
type RPM ΒΆ
type RPM struct { Group string `yaml:"group,omitempty"` Summary string `yaml:"summary,omitempty"` Compression string `yaml:"compression,omitempty"` Signature RPMSignature `yaml:"signature,omitempty"` }
RPM is custom configs that are only available on RPM packages.
type RPMSignature ΒΆ
type RPMSignature struct {
PackageSignature `yaml:",inline"`
}
Directories ΒΆ
Path | Synopsis |
---|---|
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. |