41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package rpm
|
|
|
|
import "encoding/xml"
|
|
|
|
const primaryNS = "http://linux.duke.edu/metadata/common"
|
|
|
|
type PrimaryMetadata struct {
|
|
XMLName xml.Name `xml:"http://linux.duke.edu/metadata/common metadata"`
|
|
Packages []Package `xml:"http://linux.duke.edu/metadata/common package"`
|
|
}
|
|
|
|
type Package struct {
|
|
Type string `xml:"type,attr"`
|
|
Name string `xml:"http://linux.duke.edu/metadata/common name"`
|
|
Arch string `xml:"http://linux.duke.edu/metadata/common arch"`
|
|
Version PackageVersion `xml:"http://linux.duke.edu/metadata/common version"`
|
|
Checksum PackageChecksum `xml:"http://linux.duke.edu/metadata/common checksum"`
|
|
Location PackageLocation `xml:"http://linux.duke.edu/metadata/common location"`
|
|
Size PackageSize `xml:"http://linux.duke.edu/metadata/common size"`
|
|
}
|
|
|
|
type PackageVersion struct {
|
|
Epoch string `xml:"epoch,attr"`
|
|
Ver string `xml:"ver,attr"`
|
|
Rel string `xml:"rel,attr"`
|
|
}
|
|
|
|
type PackageChecksum struct {
|
|
Type string `xml:"type,attr"`
|
|
Value string `xml:",chardata"`
|
|
}
|
|
|
|
type PackageLocation struct {
|
|
Href string `xml:"href,attr"`
|
|
}
|
|
|
|
type PackageSize struct {
|
|
Package int64 `xml:"package,attr"`
|
|
Installed int64 `xml:"installed,attr"`
|
|
Archive int64 `xml:"archive,attr"`
|
|
}
|