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

Function ImportChangesFiles

deb/changes.go:292–424  ·  view source on GitHub ↗

ImportChangesFiles imports referenced files in changes files into local repository

(changesFiles []string, reporter aptly.ResultReporter, acceptUnsigned, ignoreSignatures, forceReplace, noRemoveFiles bool,
	verifier pgp.Verifier, repoTemplate *template.Template, progress aptly.Progress, localRepoCollection *LocalRepoCollection, packageCollection *PackageCollection,
	pool aptly.PackagePool, checksumStorageProvider aptly.ChecksumStorageProvider, uploaders *Uploaders, parseQuery parseQuery)

Source from the content-addressed store, hash-verified

290
291// ImportChangesFiles imports referenced files in changes files into local repository
292func ImportChangesFiles(changesFiles []string, reporter aptly.ResultReporter, acceptUnsigned, ignoreSignatures, forceReplace, noRemoveFiles bool,
293 verifier pgp.Verifier, repoTemplate *template.Template, progress aptly.Progress, localRepoCollection *LocalRepoCollection, packageCollection *PackageCollection,
294 pool aptly.PackagePool, checksumStorageProvider aptly.ChecksumStorageProvider, uploaders *Uploaders, parseQuery parseQuery) (processedFiles []string, failedFiles []string, err error) {
295
296 for _, path := range changesFiles {
297 var changes *Changes
298
299 changes, err = NewChanges(path)
300 if err != nil {
301 failedFiles = append(failedFiles, path)
302 reporter.Warning("unable to process file %s: %s", path, err)
303 continue
304 }
305
306 err = changes.VerifyAndParse(acceptUnsigned, ignoreSignatures, verifier)
307 if err != nil {
308 failedFiles = append(failedFiles, path)
309 reporter.Warning("unable to process file %s: %s", changes.ChangesName, err)
310 _ = changes.Cleanup()
311 continue
312 }
313
314 err = changes.Prepare()
315 if err != nil {
316 failedFiles = append(failedFiles, path)
317 reporter.Warning("unable to process file %s: %s", changes.ChangesName, err)
318 _ = changes.Cleanup()
319 continue
320 }
321
322 repoName := &bytes.Buffer{}
323 err = repoTemplate.Execute(repoName, changes.Stanza)
324 if err != nil {
325 return nil, nil, fmt.Errorf("error applying template to repo: %s", err)
326 }
327
328 if progress != nil {
329 progress.Printf("Loading repository %s for changes file %s...\n", repoName.String(), changes.ChangesName)
330 }
331
332 var repo *LocalRepo
333 repo, err = localRepoCollection.ByName(repoName.String())
334 if err != nil {
335 failedFiles = append(failedFiles, path)
336 reporter.Warning("unable to process file %s: %s", changes.ChangesName, err)
337 _ = changes.Cleanup()
338 continue
339 }
340
341 currentUploaders := uploaders
342 if repo.Uploaders != nil {
343 currentUploaders = repo.Uploaders
344 for i := range currentUploaders.Rules {
345 currentUploaders.Rules[i].CompiledCondition, err = parseQuery(currentUploaders.Rules[i].Condition)
346 if err != nil {
347 return nil, nil, fmt.Errorf("error parsing query %s: %s", currentUploaders.Rules[i].Condition, err)
348 }
349 }

Calls 15

VerifyAndParseMethod · 0.95
CleanupMethod · 0.95
PrepareMethod · 0.95
RefListMethod · 0.95
PackageQueryMethod · 0.95
UpdateRefListMethod · 0.95
StrSliceDeduplicateFunction · 0.92
NewChangesFunction · 0.85
parseQueryFuncType · 0.85
CollectPackageFilesFunction · 0.85
ImportPackageFilesFunction · 0.85