⚙️ Keep full string around, helps debugging

This commit is contained in:
mudler 2022-04-28 01:00:58 +02:00
parent 5bc3e3f277
commit 2aa4c8a42e
2 changed files with 13 additions and 9 deletions

View File

@ -309,10 +309,14 @@ func (p *Package) HumanReadableString() string {
case p.Category == "" && p.Name != "" && p.Version != "":
return fmt.Sprintf("%s@%s", p.Category, p.Name)
default:
return fmt.Sprintf("%s/%s-%s", p.Category, p.Name, p.Version)
return p.FullString()
}
}
func (p *Package) FullString() string {
return fmt.Sprintf("%s/%s-%s", p.Category, p.Name, p.Version)
}
func PackageFromString(s string) *Package {
var unescaped Package
@ -580,10 +584,10 @@ func (p *Package) Revdeps(definitiondb PackageDatabase) Packages {
func walkPackage(p *Package, definitiondb PackageDatabase, visited map[string]interface{}) Packages {
var versionsInWorld Packages
if _, ok := visited[p.GetFingerPrint()]; ok {
if _, ok := visited[p.FullString()]; ok {
return versionsInWorld
}
visited[p.GetFingerPrint()] = true
visited[p.FullString()] = true
revdeps, _ := definitiondb.GetRevdeps(p)
for _, r := range revdeps {
@ -637,10 +641,10 @@ func DecodePackage(ID string, db PackageDatabase) (*Package, error) {
}
func (pack *Package) scanRequires(definitiondb PackageDatabase, s *Package, visited map[string]interface{}) (bool, error) {
if _, ok := visited[pack.GetFingerPrint()]; ok {
if _, ok := visited[pack.FullString()]; ok {
return false, nil
}
visited[pack.GetFingerPrint()] = true
visited[pack.FullString()] = true
p, err := definitiondb.FindPackage(pack)
if err != nil {
p = pack //relax things
@ -754,10 +758,10 @@ func (p *Package) GetRuntimePackage() (*Package, error) {
}
func (pack *Package) buildFormula(definitiondb PackageDatabase, db PackageDatabase, visited map[string]interface{}) ([]bf.Formula, error) {
if _, ok := visited[pack.GetFingerPrint()]; ok {
if _, ok := visited[pack.FullString()]; ok {
return nil, nil
}
visited[pack.GetFingerPrint()] = true
visited[pack.FullString()] = true
p, err := definitiondb.FindPackage(pack)
if err != nil {
p = pack // Relax failures and trust the def

View File

@ -134,10 +134,10 @@ func (db *InMemoryDatabase) GetAllPackages(packages chan *types.Package) error {
func (db *InMemoryDatabase) getRevdeps(p *types.Package, visited map[string]interface{}) (types.Packages, error) {
var versionsInWorld types.Packages
if _, ok := visited[p.GetFingerPrint()]; ok {
if _, ok := visited[p.FullString()]; ok {
return versionsInWorld, nil
}
visited[p.GetFingerPrint()] = true
visited[p.FullString()] = true
var res types.Packages
packs, err := db.FindPackages(p)