Ettore Di Giacinto
a5ceafca26
Add Tree parser with bolt
...
Also add Tree builder (Recipe) which can recompose trees.
2019-10-31 12:38:59 +01:00
Ettore Di Giacinto
c3197d70fc
Add boltdb implementation for packageset and db
2019-10-31 12:38:32 +01:00
Ettore Di Giacinto
da8734ed6a
Add a PoC of simple ebuild parser (WIP)
2019-08-24 13:15:40 +02:00
Ettore Di Giacinto
e8d151e935
Adapt the existing test to the fixture change
2019-08-24 13:15:10 +02:00
Ettore Di Giacinto
bff2c1b798
Add treebuilder interface and Gentoo prototype
2019-07-27 11:30:44 +02:00
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
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
0bb72e67fd
Refactor package imports
2019-06-05 19:13:09 +02:00
Ettore Di Giacinto
86472e7bf5
Normalize input data beforeahead
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