rpm

package module
v0.0.0-...-250bf0c Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HeaderMagic = "\x8e\xad\xe8"
	Magic       = "\xed\xab\xee\xdb"

	SzHeader     = int(unsafe.Sizeof(header{}))
	SzIndexEntry = int(unsafe.Sizeof(indexEntry{}))
	SzLead       = int(unsafe.Sizeof(lead{}))
)
View Source
const (
	HEADER_IMAGE Tag = iota + 61
	HEADER_SIGNATURES
	HEADER_IMMUTABLE
	HEADER_REGIONS
	HEADER_I18NTABLE Tag = 100

	HEADER_SIGBASE int32 = 256
	HEADER_TAGBASE int32 = 1000
)

Variables

View Source
var (
	ErrBadMagic        = errors.New("bad RPM magic number")
	ErrBadHeaderMagic  = errors.New("bad RPM header magic number")
	ErrInvalidTagValue = errors.New("invalid tag value")
	ErrShortArrayTag   = errors.New("short array-type tag")
	ErrTagNotFound     = errors.New("tag not found")
)

Functions

This section is empty.

Types

type Head struct {
	Sig  *Header
	Hdr  *Header
	Size int
	// contains filtered or unexported fields
}

func ReadHead

func ReadHead(r io.Reader) (*Head, error)
type Header struct {
	Index []indexEntry
	// contains filtered or unexported fields
}

func (*Header) ActualSize

func (h *Header) ActualSize() int

func (*Header) Get

func (h *Header) Get(t Tag) (interface{}, error)

type SigTag

type SigTag Tag
const (
	RPMSIGTAG_SIZE SigTag = iota + 1000
	RPMSIGTAG_LEMD5_1
	RPMSIGTAG_PGP
	RPMSIGTAG_LEMD5_2
	RPMSIGTAG_MD5
	RPMSIGTAG_GPG
	RPMSIGTAG_PGP5
	RPMSIGTAG_PAYLOADSIZE
	RPMSIGTAG_RESERVEDSPACE
	RPMSIGTAG_BADSHA1_1
	RPMSIGTAG_BADSHA1_2
	RPMSIGTAG_DSA
	RPMSIGTAG_RSA
	RPMSIGTAG_SHA1
	RPMSIGTAG_LONGSIZE
	RPMSIGTAG_LONGARCHIVESIZE
	RPMSIGTAG_SHA256

	RPMSIGTAG_FILESIGNATURES SigTag = RPMTAG_SIG_BASE + 18 + iota
	RPMSIGTAG_FILESIGNATURESLENGTH
)
const RPMTAG_SIG_BASE SigTag = 256

func (SigTag) String

func (i SigTag) String() string

type Tag

type Tag int32
const (
	RPMTAG_NAME Tag = 1000 + iota
	RPMTAG_VERSION
	RPMTAG_RELEASE
	RPMTAG_EPOCH
	RPMTAG_SUMMARY
	RPMTAG_DESCRIPTION
	RPMTAG_BUILDTIME
	RPMTAG_BUILDHOST
	RPMTAG_INSTALLTIME
	RPMTAG_SIZE
	RPMTAG_DISTRIBUTION
	RPMTAG_VENDOR
	RPMTAG_GIF
	RPMTAG_XPM
	RPMTAG_LICENSE
	RPMTAG_PACKAGER
	RPMTAG_GROUP
	RPMTAG_CHANGELOG
	RPMTAG_SOURCE
	RPMTAG_PATCH
	RPMTAG_URL
	RPMTAG_OS
	RPMTAG_ARCH
	RPMTAG_PREIN
	RPMTAG_POSTIN
	RPMTAG_PREUN
	RPMTAG_POSTUN
	RPMTAG_OLDFILENAMES
	RPMTAG_FILESIZES
	RPMTAG_FILESTATES
	RPMTAG_FILEMODES
	RPMTAG_FILEUIDS
	RPMTAG_FILEGIDS
	RPMTAG_FILERDEVS
	RPMTAG_FILEMTIMES
	RPMTAG_FILEDIGESTS
	RPMTAG_FILELINKTOS
	RPMTAG_FILEFLAGS
	RPMTAG_ROOT
	RPMTAG_FILEUSERNAME
	RPMTAG_FILEGROUPNAME
	RPMTAG_EXCLUDE
	RPMTAG_EXCLUSIVE
	RPMTAG_ICON
	RPMTAG_SOURCERPM
	RPMTAG_FILEVERIFYFLAGS
	RPMTAG_ARCHIVESIZE
	RPMTAG_PROVIDENAME
	RPMTAG_REQUIREFLAGS
	RPMTAG_REQUIRENAME
	RPMTAG_REQUIREVERSION
	RPMTAG_NOSOURCE
	RPMTAG_NOPATCH
	RPMTAG_CONFLICTFLAGS
	RPMTAG_CONFLICTNAME
	RPMTAG_CONFLICTVERSION
	RPMTAG_DEFAULTPREFIX
	RPMTAG_BUILDROOT
	RPMTAG_INSTALLPREFIX
	RPMTAG_EXCLUDEARCH
	RPMTAG_EXCLUDEOS
	RPMTAG_EXCLUSIVEARCH
	RPMTAG_EXCLUSIVEOS
	RPMTAG_AUTOREQPROV
	RPMTAG_RPMVERSION
	RPMTAG_TRIGGERSCRIPTS
	RPMTAG_TRIGGERNAME
	RPMTAG_TRIGGERVERSION
	RPMTAG_TRIGGERFLAGS
	RPMTAG_TRIGGERINDEX
)
const (
	RPMTAG_VERIFYSCRIPT Tag = 1079 + iota
	RPMTAG_CHANGELOGTIME
	RPMTAG_CHANGELOGNAME
	RPMTAG_CHANGELOGTEXT
	RPMTAG_BROKENMD5
	RPMTAG_PREREQ
	RPMTAG_PREINPROG
	RPMTAG_POSTINPROG
	RPMTAG_PREUNPROG
	RPMTAG_POSTUNPROG
	RPMTAG_BUILDARCHS
	RPMTAG_OBSOLETENAME
	RPMTAG_VERIFYSCRIPTPROG
	RPMTAG_TRIGGERSCRIPTPROG
	RPMTAG_DOCDIR
	RPMTAG_COOKIE
	RPMTAG_FILEDEVICES
	RPMTAG_FILEINODES
	RPMTAG_FILELANGS
	RPMTAG_PREFIXES
	RPMTAG_INSTPREFIXES
	RPMTAG_TRIGGERIN
	RPMTAG_TRIGGERUN
	RPMTAG_TRIGGERPOSTUN
	RPMTAG_AUTOREQ
	RPMTAG_AUTOPROV
	RPMTAG_CAPABILITY
	RPMTAG_SOURCEPACKAGE
	RPMTAG_OLDORIGFILENAMES
	RPMTAG_BUILDPREREQ
	RPMTAG_BUILDREQUIRES
	RPMTAG_BUILDCONFLICTS
	RPMTAG_BUILDMACROS
	RPMTAG_PROVIDEFLAGS
	RPMTAG_PROVIDEVERSION
	RPMTAG_OBSOLETEFLAGS
	RPMTAG_OBSOLETEVERSION
	RPMTAG_DIRINDEXES
	RPMTAG_BASENAMES
	RPMTAG_DIRNAMES
	RPMTAG_ORIGDIRINDEXES
	RPMTAG_ORIGBASENAMES
	RPMTAG_ORIGDIRNAMES
	RPMTAG_OPTFLAGS
	RPMTAG_DISTURL
	RPMTAG_PAYLOADFORMAT
	RPMTAG_PAYLOADCOMPRESSOR
	RPMTAG_PAYLOADFLAGS
	RPMTAG_INSTALLCOLOR
	RPMTAG_INSTALLTID
	RPMTAG_REMOVETID
	RPMTAG_SHA1RHN
	RPMTAG_RHNPLATFORM
	RPMTAG_PLATFORM
	RPMTAG_PATCHESNAME
	RPMTAG_PATCHESFLAGS
	RPMTAG_PATCHESVERSION
	RPMTAG_CACHECTIME
	RPMTAG_CACHEPKGPATH
	RPMTAG_CACHEPKGSIZE
	RPMTAG_CACHEPKGMTIME
	RPMTAG_FILECOLORS
	RPMTAG_FILECLASS
	RPMTAG_CLASSDICT
	RPMTAG_FILEDEPENDSX
	RPMTAG_FILEDEPENDSN
	RPMTAG_DEPENDSDICT
	RPMTAG_SOURCEPKGID
	RPMTAG_FILECONTEXTS
	RPMTAG_FSCONTEXTS
	RPMTAG_RECONTEXTS
	RPMTAG_POLICIES
	RPMTAG_PRETRANS
	RPMTAG_POSTTRANS
	RPMTAG_PRETRANSPROG
	RPMTAG_POSTTRANSPROG
	RPMTAG_DISTTAG
	RPMTAG_OLDSUGGESTSNAME
	RPMTAG_OLDSUGGESTSVERSION
	RPMTAG_OLDSUGGESTSFLAGS
	RPMTAG_OLDENHANCESNAME
	RPMTAG_OLDENHANCESVERSION
	RPMTAG_OLDENHANCESFLAGS
	RPMTAG_PRIORITY
	RPMTAG_CVSID
	RPMTAG_BLINKPKGID
	RPMTAG_BLINKHDRID
	RPMTAG_BLINKNEVRA
	RPMTAG_FLINKPKGID
	RPMTAG_FLINKHDRID
	RPMTAG_FLINKNEVRA
	RPMTAG_PACKAGEORIGIN
	RPMTAG_TRIGGERPREIN
	RPMTAG_BUILDSUGGESTS
	RPMTAG_BUILDENHANCES
	RPMTAG_SCRIPTSTATES
	RPMTAG_SCRIPTMETRICS
	RPMTAG_BUILDCPUCLOCK
	RPMTAG_FILEDIGESTALGOS
	RPMTAG_VARIANTS
	RPMTAG_XMAJOR
	RPMTAG_XMINOR
	RPMTAG_REPOTAG
	RPMTAG_KEYWORDS
	RPMTAG_BUILDPLATFORMS
	RPMTAG_PACKAGECOLOR
	RPMTAG_PACKAGEPREFCOLOR
	RPMTAG_XATTRSDICT
	RPMTAG_FILEXATTRSX
	RPMTAG_DEPATTRSDICT
	RPMTAG_CONFLICTATTRSX
	RPMTAG_OBSOLETEATTRSX
	RPMTAG_PROVIDEATTRSX
	RPMTAG_REQUIREATTRSX
	RPMTAG_BUILDPROVIDES
	RPMTAG_BUILDOBSOLETES
	RPMTAG_DBINSTANCE
	RPMTAG_NVRA
)
const (
	RPMTAG_FILENAMES Tag = 5000 + iota
	RPMTAG_FILEPROVIDE
	RPMTAG_FILEREQUIRE
	RPMTAG_FSNAMES
	RPMTAG_FSSIZES
	RPMTAG_TRIGGERCONDS
	RPMTAG_TRIGGERTYPE
	RPMTAG_ORIGFILENAMES
	RPMTAG_LONGFILESIZES
	RPMTAG_LONGSIZE
	RPMTAG_FILECAPS
	RPMTAG_FILEDIGESTALGO
	RPMTAG_BUGURL
	RPMTAG_EVR
	RPMTAG_NVR
	RPMTAG_NEVR
	RPMTAG_NEVRA
	RPMTAG_HEADERCOLOR
	RPMTAG_VERBOSE
	RPMTAG_EPOCHNUM
	RPMTAG_PREINFLAGS
	RPMTAG_POSTINFLAGS
	RPMTAG_PREUNFLAGS
	RPMTAG_POSTUNFLAGS
	RPMTAG_PRETRANSFLAGS
	RPMTAG_POSTTRANSFLAGS
	RPMTAG_VERIFYSCRIPTFLAGS
	RPMTAG_TRIGGERSCRIPTFLAGS
	RPMTAG__
	RPMTAG_COLLECTIONS
	RPMTAG_POLICYNAMES
	RPMTAG_POLICYTYPES
	RPMTAG_POLICYTYPESINDEXES
	RPMTAG_POLICYFLAGS
	RPMTAG_VCS
	RPMTAG_ORDERNAME
	RPMTAG_ORDERVERSION
	RPMTAG_ORDERFLAGS
	RPMTAG_MSSFMANIFEST
	RPMTAG_MSSFDOMAIN
	RPMTAG_INSTFILENAMES
	RPMTAG_REQUIRENEVRS
	RPMTAG_PROVIDENEVRS
	RPMTAG_OBSOLETENEVRS
	RPMTAG_CONFLICTNEVRS
	RPMTAG_FILENLINKS
	RPMTAG_RECOMMENDNAME
	RPMTAG_RECOMMENDVERSION
	RPMTAG_RECOMMENDFLAGS
	RPMTAG_SUGGESTNAME
	RPMTAG_SUGGESTVERSION
	RPMTAG_SUGGESTFLAGS
	RPMTAG_SUPPLEMENTNAME
	RPMTAG_SUPPLEMENTVERSION
	RPMTAG_SUPPLEMENTFLAGS
	RPMTAG_ENHANCENAME
	RPMTAG_ENHANCEVERSION
	RPMTAG_ENHANCEFLAGS
	RPMTAG_RECOMMENDNEVRS
	RPMTAG_SUGGESTNEVRS
	RPMTAG_SUPPLEMENTNEVRS
	RPMTAG_ENHANCENEVRS
	RPMTAG_ENCODING
	RPMTAG_FILETRIGGERIN
	RPMTAG_FILETRIGGERUN
	RPMTAG_FILETRIGGERPOSTUN
	RPMTAG_FILETRIGGERSCRIPTS
	RPMTAG_FILETRIGGERSCRIPTPROG
	RPMTAG_FILETRIGGERSCRIPTFLAGS
	RPMTAG_FILETRIGGERNAME
	RPMTAG_FILETRIGGERINDEX
	RPMTAG_FILETRIGGERVERSION
	RPMTAG_FILETRIGGERFLAGS
	RPMTAG_TRANSFILETRIGGERIN
	RPMTAG_TRANSFILETRIGGERUN
	RPMTAG_TRANSFILETRIGGERPOSTUN
	RPMTAG_TRANSFILETRIGGERSCRIPTS
	RPMTAG_TRANSFILETRIGGERSCRIPTPROG
	RPMTAG_TRANSFILETRIGGERSCRIPTFLAGS
	RPMTAG_TRANSFILETRIGGERNAME
	RPMTAG_TRANSFILETRIGGERINDEX
	RPMTAG_TRANSFILETRIGGERVERSION
	RPMTAG_TRANSFILETRIGGERFLAGS
	RPMTAG_REMOVEPATHPOSTFIXES
	RPMTAG_FILETRIGGERPRIORITIES
	RPMTAG_TRANSFILETRIGGERPRIORITIES
	RPMTAG_FILETRIGGERCONDS
	RPMTAG_FILETRIGGERTYPE
	RPMTAG_TRANSFILETRIGGERCONDS
	RPMTAG_TRANSFILETRIGGERTYPE
	RPMTAG_FILESIGNATURES
	RPMTAG_FILESIGNATURELENGTH
	RPMTAG_PAYLOADDIGEST
	RPMTAG_PAYLOADDIGESTALGO
	RPMTAG_AUTOINSTALLED
	RPMTAG_IDENTITY
	RPMTAG_MODULARITYLABEL
	RPMTAG_PAYLOADDIGESTALT
)

func (Tag) String

func (i Tag) String() string

type TagType

type TagType int32
const (
	Null TagType = iota
	Char
	Int8
	Int16
	Int32
	Int64
	String
	Bin
	StringArray
	I18nString
)

func (TagType) String

func (i TagType) String() string

Directories

Path Synopsis
xml
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package xml implements a simple XML 1.0 parser that understands XML name spaces.

Jump to

Keyboard shortcuts

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