solvit: added resolving code for different constant AVS conflict where the dependency is already installed
This commit is contained in:
+9
-4
@@ -297,12 +297,16 @@ local function startTransaction(dbpath)
|
|||||||
dbpack = avs.parse(dep[1].."="..dbinfo.version)
|
dbpack = avs.parse(dep[1].."="..dbinfo.version)
|
||||||
end
|
end
|
||||||
if not avs.matching(dep,dbpack) then
|
if not avs.matching(dep,dbpack) then
|
||||||
local msg = ""
|
|
||||||
if settings.resolveConflict then
|
if settings.resolveConflict then
|
||||||
msg="Cannot resolve conflict: "..msg
|
removeIncomplete=true
|
||||||
|
table.insert(rem,1,dbpack)
|
||||||
|
|
||||||
|
installIncomplete=true
|
||||||
|
table.insert(ins,j,dep)
|
||||||
|
else
|
||||||
|
local msg = "Package "..avs.serializePack(ins[i]).." depends on "..avs.serializePack(dep)..", but another version ("..avs.serializePack(dbpack)..") is installed"
|
||||||
|
return false, msg
|
||||||
end
|
end
|
||||||
msg=msg.."Package "..avs.serializePack(ins[i]).." depends on "..avs.serializePack(dep)..", but another version ("..avs.serializePack(dbpack)..") is installed"
|
|
||||||
return false, msg
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -401,6 +405,7 @@ local function startTransaction(dbpath)
|
|||||||
-- return "false, "[verbose string]"" when conflict found
|
-- return "false, "[verbose string]"" when conflict found
|
||||||
-- TODO: handle resolving different constant AVS conflict (package1->dep1=1.0.0 + package2->dep1=1.2.3 where package2 and dep1=1.2.3 is on db)
|
-- TODO: handle resolving different constant AVS conflict (package1->dep1=1.0.0 + package2->dep1=1.2.3 where package2 and dep1=1.2.3 is on db)
|
||||||
-- TODO: handle resolving different constant AVS conflict (package1->dep1=1.0.0 + package2->dep1=1.2.3 where package1 and dep1=1.0.0 is on db)
|
-- TODO: handle resolving different constant AVS conflict (package1->dep1=1.0.0 + package2->dep1=1.2.3 where package1 and dep1=1.0.0 is on db)
|
||||||
|
-- TODO: make solvit yield every 0.1s
|
||||||
-- TODO: handle same range AVS
|
-- TODO: handle same range AVS
|
||||||
-- TODO: handle different intercompatible 1.*.* range AVS
|
-- TODO: handle different intercompatible 1.*.* range AVS
|
||||||
-- TODO: handle different incompatible 1.*.* range AVS
|
-- TODO: handle different incompatible 1.*.* range AVS
|
||||||
|
|||||||
Reference in New Issue
Block a user