// LinkFromPool links package file from pool to dist's pool location func (p *Package) LinkFromPool(publishedStorage aptly.PublishedStorage, packagePool aptly.PackagePool, prefix string, component string) error { poolDir, err := p.PoolDirectory() if err != nil { return err } for i, f := range p.Files() { sourcePath, err := packagePool.Path(f.Filename, f.Checksums.MD5) if err != nil { return err } relPath := filepath.Join("pool", component, poolDir) publishedDirectory := filepath.Join(prefix, relPath) err = publishedStorage.LinkFromPool(publishedDirectory, packagePool, sourcePath) if err != nil { return err } if p.IsSource { p.Extra()["Directory"] = relPath } else { p.Files()[i].downloadPath = relPath } } return nil }
// LinkFromPool links package file from pool to dist's pool location func (p *Package) LinkFromPool(publishedStorage aptly.PublishedStorage, packagePool aptly.PackagePool, prefix string, component string) error { poolDir, err := p.PoolDirectory() if err != nil { return err } for i, f := range p.Files { sourcePath, err := packagePool.Path(f.Filename, f.Checksums.MD5) if err != nil { return err } relPath, err := publishedStorage.LinkFromPool(prefix, component, poolDir, packagePool, sourcePath) if err != nil { return err } dir := filepath.Dir(relPath) if p.IsSource { p.Extra["Directory"] = dir } else { p.Files[i].downloadPath = dir } } return nil }