bugfix, giving id to dependency resolver
This commit is contained in:
@@ -165,12 +165,10 @@ var installCmd = &cobra.Command{
|
|||||||
for _, inputName := range args {
|
for _, inputName := range args {
|
||||||
runtime.GC()
|
runtime.GC()
|
||||||
|
|
||||||
var exist bool
|
var exist bool = false
|
||||||
err := db.QueryRow("SELECT EXISTS(SELECT 1 FROM packages WHERE id = ?)", inputName).Scan(&exist)
|
err := db.QueryRow("SELECT EXISTS(SELECT 1 FROM packages WHERE id = ?)", inputName).Scan(&exist)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err != sql.ErrNoRows {
|
log.Fatal(err)
|
||||||
log.Panic(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if exist {
|
if exist {
|
||||||
installed, err := utils.CheckIfPackageInstalled(inputName)
|
installed, err := utils.CheckIfPackageInstalled(inputName)
|
||||||
@@ -265,7 +263,7 @@ var installCmd = &cobra.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("Checking dependencies of (%s)\n", inputName)
|
fmt.Printf("Checking dependencies of (%s)\n", inputName)
|
||||||
dependenciesRaw, err := utils.GetDependencies(db, inputName)
|
dependenciesRaw, err := utils.GetDependencies(db, id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -274,7 +272,6 @@ var installCmd = &cobra.Command{
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(dependencies) > 0 {
|
if len(dependencies) > 0 {
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
var mu sync.Mutex
|
var mu sync.Mutex
|
||||||
|
|||||||
@@ -289,10 +289,6 @@ func GetDependencies(db *sql.DB, id string) (map[string]string, error) {
|
|||||||
|
|
||||||
func ResolvDependencies(depnList map[string]string) ([]string, error) {
|
func ResolvDependencies(depnList map[string]string) ([]string, error) {
|
||||||
|
|
||||||
if len(depnList) > 0 {
|
|
||||||
return []string{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
db, err := sql.Open("sqlite", consts.IndexDB)
|
db, err := sql.Open("sqlite", consts.IndexDB)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []string{}, err
|
return []string{}, err
|
||||||
@@ -308,13 +304,13 @@ func ResolvDependencies(depnList map[string]string) ([]string, error) {
|
|||||||
switch {
|
switch {
|
||||||
case strings.HasPrefix(constraint, ">"):
|
case strings.HasPrefix(constraint, ">"):
|
||||||
filter = fmt.Sprintf("AND serial > %s", value)
|
filter = fmt.Sprintf("AND serial > %s", value)
|
||||||
order = "ORDER BY serial ASC LIMIT 1"
|
order = "ORDER BY serial DESC LIMIT 1"
|
||||||
case strings.HasPrefix(constraint, "<="):
|
case strings.HasPrefix(constraint, "<="):
|
||||||
filter = fmt.Sprintf("AND serial <= %s", value)
|
filter = fmt.Sprintf("AND serial <= %s", value)
|
||||||
order = "ORDER BY serial DESC LIMIT 1"
|
order = "ORDER BY serial ASC LIMIT 1"
|
||||||
case strings.HasPrefix(constraint, "<"):
|
case strings.HasPrefix(constraint, "<"):
|
||||||
filter = fmt.Sprintf("AND serial < %s", value)
|
filter = fmt.Sprintf("AND serial < %s", value)
|
||||||
order = "ORDER BY serial DESC LIMIT 1"
|
order = "ORDER BY serial ASC LIMIT 1"
|
||||||
case strings.HasPrefix(constraint, "="):
|
case strings.HasPrefix(constraint, "="):
|
||||||
filter = fmt.Sprintf("AND serial = %s", value)
|
filter = fmt.Sprintf("AND serial = %s", value)
|
||||||
order = ""
|
order = ""
|
||||||
@@ -331,7 +327,6 @@ func ResolvDependencies(depnList map[string]string) ([]string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resolved = append(resolved, packageId)
|
resolved = append(resolved, packageId)
|
||||||
|
|
||||||
dp, err := GetDependencies(db, packageId)
|
dp, err := GetDependencies(db, packageId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return resolved, err
|
return resolved, err
|
||||||
|
|||||||
Reference in New Issue
Block a user