clonepack/internal/clone/rpm/primary.go
GnomeZworc 274ea454dd
first with full handle over rpm
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-04-25 14:50:08 +02:00

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"`
}