mirror of
https://github.com/mudler/luet.git
synced 2025-09-20 18:51:23 +00:00
Provide more accurate information in gentoo/simpleparser
Extract categories and such
This commit is contained in:
@@ -63,7 +63,13 @@ func (ep *SimpleEbuildParser) ScanEbuild(path string, tree pkg.Tree) ([]pkg.Pack
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
packageInfo := decodepackage.FindAllStringSubmatch(file, -1)
|
v := strings.Replace(path, filepath.Base(file)+".ebuild", "", -1)
|
||||||
|
|
||||||
|
pName := filepath.Base(v)
|
||||||
|
|
||||||
|
cat := filepath.Base(strings.Replace(v, pName, "", -1))
|
||||||
|
|
||||||
|
packageInfo := decodepackage.FindAllStringSubmatch(filepath.Join(cat, file), -1)
|
||||||
if len(packageInfo) != 1 || len(packageInfo[0]) != 12 {
|
if len(packageInfo) != 1 || len(packageInfo[0]) != 12 {
|
||||||
return []pkg.Package{}, errors.New("Failed decoding ebuild: " + path)
|
return []pkg.Package{}, errors.New("Failed decoding ebuild: " + path)
|
||||||
}
|
}
|
||||||
@@ -72,10 +78,10 @@ func (ep *SimpleEbuildParser) ScanEbuild(path string, tree pkg.Tree) ([]pkg.Pack
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
// return []pkg.Package{}, err
|
// return []pkg.Package{}, err
|
||||||
}
|
}
|
||||||
fmt.Println("Scanning", path)
|
|
||||||
// TODO: Handle this a bit better
|
// TODO: Handle this a bit better
|
||||||
//fmt.Println(vars)
|
|
||||||
pack := &pkg.DefaultPackage{Name: packageInfo[0][2], Version: packageInfo[0][7]}
|
pack := &pkg.DefaultPackage{Name: packageInfo[0][5], Version: packageInfo[0][7], Category: cat}
|
||||||
rdepend, ok := vars["RDEPEND"]
|
rdepend, ok := vars["RDEPEND"]
|
||||||
if ok {
|
if ok {
|
||||||
rdepends := strings.Split(rdepend.String(), "\n")
|
rdepends := strings.Split(rdepend.String(), "\n")
|
||||||
@@ -102,7 +108,7 @@ func (ep *SimpleEbuildParser) ScanEbuild(path string, tree pkg.Tree) ([]pkg.Pack
|
|||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Resolve to db or create a new one.
|
//TODO: Resolve to db or create a new one.
|
||||||
dep := &pkg.DefaultPackage{Name: deppackageInfo[0][2], Version: deppackageInfo[0][7]}
|
dep := &pkg.DefaultPackage{Name: deppackageInfo[0][5], Version: deppackageInfo[0][7], Category: deppackageInfo[0][4]}
|
||||||
foundPackage, err := tree.GetPackageSet().FindPackage(dep)
|
foundPackage, err := tree.GetPackageSet().FindPackage(dep)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_, err := tree.GetPackageSet().CreatePackage(dep)
|
_, err := tree.GetPackageSet().CreatePackage(dep)
|
||||||
|
Reference in New Issue
Block a user