MCPcopy Create free account
hub / github.com/aptly-dev/aptly / NewPackageFromControlFile

Function NewPackageFromControlFile

deb/package.go:69–123  ·  view source on GitHub ↗

NewPackageFromControlFile creates Package from parsed Debian control file

(input Stanza)

Source from the content-addressed store, hash-verified

67
68// NewPackageFromControlFile creates Package from parsed Debian control file
69func NewPackageFromControlFile(input Stanza) *Package {
70 result := &Package{
71 Name: input["Package"],
72 Version: input["Version"],
73 Architecture: input["Architecture"],
74 Source: input["Source"],
75 V06Plus: true,
76 }
77
78 delete(input, "Package")
79 delete(input, "Version")
80 delete(input, "Architecture")
81 delete(input, "Source")
82
83 filesize, _ := strconv.ParseInt(input["Size"], 10, 64)
84
85 md5, ok := input["MD5sum"]
86 if !ok {
87 // there are some broken repos out there with MD5 in wrong field
88 md5 = input["MD5Sum"]
89 }
90
91 result.UpdateFiles(PackageFiles{PackageFile{
92 Filename: filepath.Base(input["Filename"]),
93 downloadPath: filepath.Dir(input["Filename"]),
94 Checksums: utils.ChecksumInfo{
95 Size: filesize,
96 MD5: strings.TrimSpace(md5),
97 SHA1: strings.TrimSpace(input["SHA1"]),
98 SHA256: strings.TrimSpace(input["SHA256"]),
99 SHA512: strings.TrimSpace(input["SHA512"]),
100 },
101 }})
102
103 delete(input, "Filename")
104 delete(input, "MD5sum")
105 delete(input, "MD5Sum")
106 delete(input, "SHA1")
107 delete(input, "SHA256")
108 delete(input, "SHA512")
109 delete(input, "Size")
110
111 depends := &PackageDependencies{}
112 depends.Depends = parseDependencies(input, "Depends")
113 depends.PreDepends = parseDependencies(input, "Pre-Depends")
114 depends.Suggests = parseDependencies(input, "Suggests")
115 depends.Recommends = parseDependencies(input, "Recommends")
116 result.deps = depends
117
118 result.Provides = parseDependencies(input, "Provides")
119
120 result.extra = &input
121
122 return result
123}
124
125// NewSourcePackageFromControlFile creates Package from parsed Debian control file for source package
126func NewSourcePackageFromControlFile(input Stanza) (*Package, error) {

Callers 15

SetUpPackagesMethod · 0.85
SetUpTestMethod · 0.85
TestFilterLatestMethod · 0.85
ImportPackageFilesFunction · 0.85
SetUpTestMethod · 0.85
TestNewFromParaMethod · 0.85
TestWithProvidesMethod · 0.85
TestKeyMethod · 0.85

Calls 2

UpdateFilesMethod · 0.95
parseDependenciesFunction · 0.85

Tested by 15

SetUpPackagesMethod · 0.68
SetUpTestMethod · 0.68
TestFilterLatestMethod · 0.68
SetUpTestMethod · 0.68
TestNewFromParaMethod · 0.68
TestWithProvidesMethod · 0.68
TestKeyMethod · 0.68
TestShortKeyMethod · 0.68
TestStanzaMethod · 0.68
TestStringMethod · 0.68