pass down addonpath from api and cmd context

This commit is contained in:
Mauro Regli
2023-05-31 07:13:15 +02:00
committed by André Roth
parent 17186b0c73
commit c75c2c7594
7 changed files with 37 additions and 12 deletions
+25 -1
View File
@@ -813,7 +813,7 @@ func (p *PublishedRepo) GetAddonFiles(addonDir string, component string) (map[st
// Publish publishes snapshot (repository) contents, links package files, generates Packages & Release files, signs them
func (p *PublishedRepo) Publish(packagePool aptly.PackagePool, publishedStorageProvider aptly.PublishedStorageProvider,
collectionFactory *CollectionFactory, signer pgp.Signer, progress aptly.Progress, forceOverwrite bool) error {
collectionFactory *CollectionFactory, signer pgp.Signer, progress aptly.Progress, forceOverwrite, addonDirectory string) error {
publishedStorage := publishedStorageProvider.GetPublishedStorage(p.Storage)
err := publishedStorage.MkDir(filepath.Join(p.Prefix, "pool"))
@@ -1022,6 +1022,30 @@ func (p *PublishedRepo) Publish(packagePool aptly.PackagePool, publishedStorageP
}
}
for component := range p.sourceItems {
addonFiles, err := p.GetAddonFiles(addonDirectory, component)
if err != nil {
return fmt.Errorf("unable to get addon files: %v", err)
}
for relPath, absPath := range addonFiles {
bufWriter, err := indexes.AddonIndex(component, relPath).BufWriter()
if err != nil {
return fmt.Errorf("unable to generate addon index: %v", err)
}
file, err := os.Open(absPath)
if err != nil {
return fmt.Errorf("unable to read addon file: %v", err)
}
_, err = bufio.NewReader(file).WriteTo(bufWriter)
if err != nil {
return fmt.Errorf("unable to write addon file: %v", err)
}
}
}
udebs := []bool{false}
if hadUdebs {
udebs = append(udebs, true)