MCPcopy Index your code
hub / github.com/aptly-dev/aptly / NewSourcePackageFromControlFile

Function NewSourcePackageFromControlFile

deb/package.go:126–166  ·  view source on GitHub ↗

NewSourcePackageFromControlFile creates Package from parsed Debian control file for source package

(input Stanza)

Source from the content-addressed store, hash-verified

124
125// NewSourcePackageFromControlFile creates Package from parsed Debian control file for source package
126func NewSourcePackageFromControlFile(input Stanza) (*Package, error) {
127 result := &Package{
128 IsSource: true,
129 Name: input["Package"],
130 Version: input["Version"],
131 Architecture: "source",
132 SourceArchitecture: input["Architecture"],
133 V06Plus: true,
134 }
135
136 delete(input, "Package")
137 delete(input, "Version")
138 delete(input, "Architecture")
139
140 var err error
141
142 files := make(PackageFiles, 0, 3)
143 files, err = files.ParseSumFields(input)
144 if err != nil {
145 return nil, err
146 }
147
148 delete(input, "Files")
149 delete(input, "Checksums-Sha1")
150 delete(input, "Checksums-Sha256")
151
152 for i := range files {
153 files[i].downloadPath = input["Directory"]
154 }
155
156 result.UpdateFiles(files)
157
158 depends := &PackageDependencies{}
159 depends.BuildDepends = parseDependencies(input, "Build-Depends")
160 depends.BuildDependsInDep = parseDependencies(input, "Build-Depends-Indep")
161 result.deps = depends
162
163 result.extra = &input
164
165 return result, nil
166}
167
168// NewUdebPackageFromControlFile creates .udeb Package from parsed Debian control file
169func NewUdebPackageFromControlFile(input Stanza) *Package {

Callers 8

ImportPackageFilesFunction · 0.85
TestNewSourceFromParaMethod · 0.85
TestStanzaMethod · 0.85
TestGetFieldMethod · 0.85
TestEqualsMethod · 0.85
TestGetDependenciesMethod · 0.85

Calls 3

UpdateFilesMethod · 0.95
parseDependenciesFunction · 0.85
ParseSumFieldsMethod · 0.80

Tested by 6

TestNewSourceFromParaMethod · 0.68
TestStanzaMethod · 0.68
TestGetFieldMethod · 0.68
TestEqualsMethod · 0.68
TestGetDependenciesMethod · 0.68