Commit Graph

428 Commits

Author SHA1 Message Date
Ettore Di Giacinto
0813f75546
Add packageset 2019-07-27 11:29:39 +02:00
Ettore Di Giacinto
db90a8f69c
Add package category and make fingerprint more unique 2019-06-14 17:40:24 +02:00
Ettore Di Giacinto
b29ce651b9
Expose Uses to interface 2019-06-12 21:32:15 +02:00
Ettore Di Giacinto
caa7c788ec
Drop State from package
Also tests for Clone()
2019-06-12 20:57:39 +02:00
Ettore Di Giacinto
9f3f715324
Add BuildFormula and ReuiresContains tests 2019-06-11 23:38:16 +02:00
Ettore Di Giacinto
3f762070fe
Add tests 2019-06-11 23:18:16 +02:00
Ettore Di Giacinto
cab133f229
Imeplement PackageDatabase
Consume InMemoryDatabase for now, which act as a singleton in-memory db.
2019-06-11 23:04:01 +02:00
Ettore Di Giacinto
f47e907dda
Refactor 2019-06-11 18:48:09 +02:00
Ettore Di Giacinto
a42d8e809f
update vendor/ 2019-06-11 18:07:13 +02:00
Ettore Di Giacinto
cb89d946e5
Create cover target 2019-06-11 18:04:57 +02:00
Ettore Di Giacinto
ff582ce77c
Enhance Uninstall and resolve conflict sets
Compute a minimum conflict set over the uninstall.

Adds also tests for specific cases covered by Uninstall now
2019-06-11 18:03:50 +02:00
Ettore Di Giacinto
5f98a665a5
Add code coverage 2019-06-06 17:16:32 +02:00
Ettore Di Giacinto
b32508eded
Fix make deps 2019-06-05 19:39:39 +02:00
Ettore Di Giacinto
da465b9228
Add travis file 2019-06-05 19:37:36 +02:00
Ettore Di Giacinto
e2442f8ed8
update vendor/ 2019-06-05 19:14:29 +02:00
Ettore Di Giacinto
0bb72e67fd
Refactor package imports 2019-06-05 19:13:09 +02:00
Ettore Di Giacinto
d842198537
Update README 2019-06-05 18:55:01 +02:00
Ettore Di Giacinto
86472e7bf5
Normalize input data beforeahead 2019-06-05 18:49:35 +02:00
Ettore Di Giacinto
6e7cef4710
Add simple makefile 2019-06-05 18:49:35 +02:00
Ettore Di Giacinto
632619fe91
Add uninstall
Uninstall can be done in different ways - the most accurate would be to try find a minimum subset of packages that gives conflicts and try to reduce them gradually.
E.g. this could be done with other SAT algorithms. For now we keep things simple and we compute the uninstalls as an indirect of an installation from an empty profile.

Also take care of corner cases where world has no clauses, and fixes a typo in building the world formula
2019-06-05 18:49:35 +02:00
Ettore Di Giacinto
fef6467cc9
Rename Solve to Install 2019-06-05 18:49:35 +02:00
Ettore Di Giacinto
2b095601eb
Handle case when no packages are installed in the system, and add test for it 2019-06-05 18:49:35 +02:00
Ettore Di Giacinto
39a3e433a7
Cleanup 2019-06-05 18:49:34 +02:00
Ettore Di Giacinto
a342bc515f
Implement basic install algorithm 2019-06-05 18:49:34 +02:00
Ettore Di Giacinto
5184a26e69
Build formulas recursively 2019-06-05 18:49:34 +02:00
Ettore Di Giacinto
e6239f416b
Make formula built less complex 2019-06-05 18:49:34 +02:00
Ettore Di Giacinto
1084941240
Draft 2019-06-05 18:49:34 +02:00
Ettore Di Giacinto
c708031e2e
root 2018-09-21 23:29:43 +02:00