| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 
 | // Copyright 2015 Canonical Ltd.
// Copyright 2015 Cloudbase Solutions SRL
// Licensed under the LGPLv3, see LICENCE file for details.
package packaging
import (
	"text/template"
)
// PackagePreferences is a set of packaging preferences associated to a
// particular set of packages and repository.
// On apt-based systems, they are apt_preferences(5) compatible preferences for an
// apt source. It can be used to override the default priority for the source.
// Path where the file will be created (usually in /etc/apt/preferences.d/).
type PackagePreferences struct {
	Path        string // the file the prefs will be written at
	Explanation string // a short explanation for the preference
	Package     string // the name of the package the preference applies to
	Pin         string // a pin on a certain source
	Priority    int    // the priority of that source
}
// RenderPreferenceFile returns contents of the package-manager specific config file
// of this paritcular package source.
func (p *PackagePreferences) RenderPreferenceFile(fileTemplate *template.Template) (string, error) {
	return renderTemplate(fileTemplate, p)
}
 |