nfpm

package module
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2018 License: MIT Imports: 3 Imported by: 0

README

nfpm

NFPM is not FPM.

WIP: simple deb/rpm packager written in Go

Goals
  • be simple to use
  • provide packaging for the most common linux packaging systems
  • be distributed as a single binary
  • reproducible results
    • depend on the fewer external things as possible
    • generate packages from yaml files (and/or json/toml?)
  • be possible to be used as a lib for other go projects (namely goreleaser itself)
Status
  • deb packaging is working but some features might be missing
  • rpm packaging is working but some features might be missing
  • we need a suite of acceptance tests to make sure everything works

Documentation

Overview

Package nfpm provides ways to package programs in some linux packaging formats.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(format string, p Packager)

Register a new packager for the given format

Types

type Info

type Info struct {
	Name        string            `yaml:"name,omitempty"`
	Arch        string            `yaml:"arch,omitempty"`
	Platform    string            `yaml:"platform,omitempty"`
	Version     string            `yaml:"version,omitempty"`
	Section     string            `yaml:"section,omitempty"`
	Priority    string            `yaml:"priority,omitempty"`
	Replaces    []string          `yaml:"replaces,omitempty"`
	Provides    []string          `yaml:"provides,omitempty"`
	Depends     []string          `yaml:"depends,omitempty"`
	Conflicts   []string          `yaml:"conflicts,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"`
	Files       map[string]string `yaml:"files,omitempty"`
	ConfigFiles map[string]string `yaml:"config_files,omitempty"`
}

Info contains information about the package

func WithDefaults

func WithDefaults(info Info) Info

WithDefaults set some sane defaults into the given Info

type Packager

type Packager interface {
	Package(info Info, w io.Writer) error
}

Packager represents any packager implementation

func Get

func Get(format string) (Packager, error)

Get a packager for the given format

Directories

Path Synopsis
cmd
Package deb implements nfpm.Packager providing .deb bindings.
Package deb implements nfpm.Packager providing .deb bindings.

Jump to

Keyboard shortcuts

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