mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-11 06:24:04 +00:00
Extract package hashes to Package structure.
This commit is contained in:
Vendored
+19
-6
@@ -20,11 +20,17 @@ type Package struct {
|
|||||||
Filename string
|
Filename string
|
||||||
Filesize int64
|
Filesize int64
|
||||||
Architecture string
|
Architecture string
|
||||||
Depends []string
|
// Various dependencies
|
||||||
PreDepends []string
|
Depends []string
|
||||||
Suggests []string
|
PreDepends []string
|
||||||
Recommends []string
|
Suggests []string
|
||||||
Extra Stanza
|
Recommends []string
|
||||||
|
// Hashsums of package contents
|
||||||
|
HashMD5 string
|
||||||
|
HashSHA1 string
|
||||||
|
HashSHA256 string
|
||||||
|
// Extra information from stanza
|
||||||
|
Extra Stanza
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseDependencies(input Stanza, key string) []string {
|
func parseDependencies(input Stanza, key string) []string {
|
||||||
@@ -45,12 +51,18 @@ func NewPackageFromControlFile(input Stanza) *Package {
|
|||||||
Version: input["Version"],
|
Version: input["Version"],
|
||||||
Filename: input["Filename"],
|
Filename: input["Filename"],
|
||||||
Architecture: input["Architecture"],
|
Architecture: input["Architecture"],
|
||||||
|
HashMD5: input["MD5sum"],
|
||||||
|
HashSHA1: input["SHA1"],
|
||||||
|
HashSHA256: input["SHA256"],
|
||||||
}
|
}
|
||||||
|
|
||||||
delete(input, "Package")
|
delete(input, "Package")
|
||||||
delete(input, "Version")
|
delete(input, "Version")
|
||||||
delete(input, "Filename")
|
delete(input, "Filename")
|
||||||
delete(input, "Architecture")
|
delete(input, "Architecture")
|
||||||
|
delete(input, "MD5sum")
|
||||||
|
delete(input, "SHA1")
|
||||||
|
delete(input, "SHA256")
|
||||||
|
|
||||||
result.Filesize, _ = strconv.ParseInt(input["Size"], 10, 64)
|
result.Filesize, _ = strconv.ParseInt(input["Size"], 10, 64)
|
||||||
delete(input, "Size")
|
delete(input, "Size")
|
||||||
@@ -97,7 +109,8 @@ func (p *Package) Equals(p2 *Package) bool {
|
|||||||
p.Architecture == p2.Architecture && utils.StrSlicesEqual(p.Depends, p2.Depends) &&
|
p.Architecture == p2.Architecture && utils.StrSlicesEqual(p.Depends, p2.Depends) &&
|
||||||
utils.StrSlicesEqual(p.PreDepends, p2.PreDepends) && utils.StrSlicesEqual(p.Suggests, p2.Suggests) &&
|
utils.StrSlicesEqual(p.PreDepends, p2.PreDepends) && utils.StrSlicesEqual(p.Suggests, p2.Suggests) &&
|
||||||
utils.StrSlicesEqual(p.Recommends, p2.Recommends) && utils.StrMapsEqual(p.Extra, p2.Extra) &&
|
utils.StrSlicesEqual(p.Recommends, p2.Recommends) && utils.StrMapsEqual(p.Extra, p2.Extra) &&
|
||||||
p.Filesize == p2.Filesize
|
p.Filesize == p2.Filesize && p.HashMD5 == p2.HashMD5 && p.HashSHA1 == p2.HashSHA1 &&
|
||||||
|
p.HashSHA256 == p2.HashSHA256
|
||||||
}
|
}
|
||||||
|
|
||||||
// VerifyFile verifies integrity and existence of local files for the package
|
// VerifyFile verifies integrity and existence of local files for the package
|
||||||
|
|||||||
Reference in New Issue
Block a user