package repokit import "encoding/xml" type RpmPrimaryXMLData struct { XMLName xml.Name `xml:"metadata"` Xmlns string `xml:"xmlns,attr"` XmlnsRPM string `xml:"xmlns:rpm,attr"` PackageNum int `xml:"packages,attr"` PackageList []*RpmPrimaryPackage `xml:"package"` } type RpmPrimaryPackage struct { ID int64 `xml:"-"` Type string `xml:"type,attr"` Name string `xml:"name"` Arch string `xml:"arch"` Version RpmVersion `xml:"version"` Checksum RpmChecksum `xml:"checksum"` Summary string `xml:"summary"` Description string `xml:"description"` Packager string `xml:"packager"` URL string `xml:"url"` Time RpmTime `xml:"time"` Size RpmSize `xml:"size"` Location RpmLocation `xml:"location"` Format RpmFormat `xml:"format"` } type RpmVersion struct { Epoch string `xml:"epoch,attr"` Ver string `xml:"ver,attr"` Rel string `xml:"rel,attr"` } type RpmChecksum struct { Type string `xml:"type,attr"` PkgID string `xml:"pkgid,attr,omitempty"` Value string `xml:",chardata"` } type RpmTime struct { File string `xml:"file,attr"` Build string `xml:"build,attr"` } type RpmSize struct { Package string `xml:"package,attr"` Installed string `xml:"installed,attr"` Archive string `xml:"archive,attr"` } type RpmLocation struct { Href string `xml:"href,attr"` XMLBase string `xml:"xml:base,attr,omitempty"` } type RpmFormat struct { License string `xml:"rpm:license"` Vendor string `xml:"rpm:vendor"` Group string `xml:"rpm:group"` BuildHost string `xml:"rpm:buildhost"` SourceRPM string `xml:"rpm:sourcerpm"` HeaderRange RpmHeaderRange `xml:"rpm:header-range"` Provides *RpmDepEntryList `xml:"rpm:provides,omitempty"` Conflicts *RpmDepEntryList `xml:"rpm:conflicts,omitempty"` Obsoletes *RpmDepEntryList `xml:"rpm:obsoletes,omitempty"` Requires *RpmDepEntryList `xml:"rpm:requires,omitempty"` Suggests *RpmDepEntryList `xml:"rpm:suggests,omitempty"` Enhances *RpmDepEntryList `xml:"rpm:enhances,omitempty"` Recommends *RpmDepEntryList `xml:"rpm:recommends,omitempty"` Supplements *RpmDepEntryList `xml:"rpm:supplements,omitempty"` Files []*RpmFile `xml:"file,omitempty"` } type RpmHeaderRange struct { Start string `xml:"start,attr"` End string `xml:"end,attr"` } type RpmDepEntryList struct { Entries []RpmDepEntry `xml:"rpm:entry"` } type RpmDepEntry struct { Name string `xml:"name,attr"` Flags string `xml:"flags,attr,omitempty"` Epoch string `xml:"epoch,attr,omitempty"` Ver string `xml:"ver,attr,omitempty"` Rel string `xml:"rel,attr,omitempty"` Pre string `xml:"pre,attr,omitempty"` } type RpmFile struct { Type string `xml:"type,attr,omitempty"` Hash string `xml:"hash,attr,omitempty"` Value string `xml:",chardata"` } type RpmFilelistsXMLData struct { XMLName xml.Name `xml:"filelists"` Xmlns string `xml:"xmlns,attr"` PackageNum int `xml:"packages,attr"` PackageList []*RpmFilelistsPackage `xml:"package"` } type RpmFilelistsExtXMLData struct { XMLName xml.Name `xml:"filelists-ext"` Xmlns string `xml:"xmlns,attr"` PackageNum int `xml:"packages,attr"` PackageList []*RpmFilelistsPackage `xml:"package"` } type RpmFilelistsPackage struct { ID int64 `xml:"-"` PkgID string `xml:"pkgid,attr"` Name string `xml:"name,attr"` Arch string `xml:"arch"` Version RpmVersion `xml:"version"` Checksum *RpmFilelistsChecksum `xml:"checksum,omitempty"` File []*RpmFile `xml:"file"` } type RpmFilelistsChecksum struct { Type string `xml:"type,attr"` } type RpmOtherXMLData struct { XMLName xml.Name `xml:"otherdata"` Xmlns string `xml:"xmlns,attr"` PackageNum int `xml:"packages,attr"` PackageList []*RpmOtherPackage `xml:"package"` } type RpmOtherPackage struct { ID int64 `xml:"-"` PkgID string `xml:"pkgid,attr"` Name string `xml:"name,attr"` Arch string `xml:"arch"` Version RpmVersion `xml:"version"` Changelog []*RpmChangelog `xml:"changelog,omitempty"` } type RpmChangelog struct { Author string `xml:"author,attr"` Date string `xml:"date,attr"` Content string `xml:",chardata"` } type RpmRepomd struct { XMLName xml.Name `xml:"repomd"` Xmlns string `xml:"xmlns,attr"` XmlnsRpm string `xml:"xmlns:rpm,attr"` Revision string `xml:"revision"` Data []*RpmRepomdRecord `xml:"data"` } type RpmRepomdRecord struct { Type string `xml:"type,attr"` Checksum RpmChecksum `xml:"checksum"` OpenChecksum RpmChecksum `xml:"open-checksum"` Location RpmLocation `xml:"location"` Timestamp int64 `xml:"timestamp"` Size int64 `xml:"size"` OpenSize int64 `xml:"open-size"` }